AWSのEC2へのデプロイをしたいと思い備忘録のために手順を記録します。
初学者の為、ご指摘等ありましたらご連絡いただければ幸いです。
今回はEC2インスタンスの作成
をします。
EC2インスタンス作成が2つ目以降の方は無料枠から外れてしまうので気をつけましょう。
こちらでインスタンスを削除する方法をまとめてあるのでよろしければご参照ください。
今回の内容は使っている言語による違いはないと思います。
前提条件
- AWSアカウントを作成ずみであること
ログインとリージョンの確認
-
こちらから下記画像のように
コンソールにサインイン
を押下しログインします。
EC2インスタンスの作成
EC2とは?
AWSで「仮想マシン」と呼ばれるもの。サーバーを生成するに当たってAWSがすべてのサーバーを物理的に用意しているわけではなく、「仮想マシン」と呼ばれるソフトウェアを利用して仮想的に1つのLinuxサーバーを利用できる仕組みです。
では作成していきます。
2.下記画像のようにインスタンスを起動
を押下し、プルダウンで出てきたインスタンスを起動
を押下します。
3.AMIを選択します。
AMIとは「Amazon Machine Image」の略で、サーバーのデータをまるごと保存したデータのこと。自分でゼロから様々なツールをインストールする手間を削減できます。
今回は無料枠の対象であるAmazonLinux2AMI(HVM),SSDVolumeType
を利用します。AWSが独自に開発したAMIみたいです。
下記画像のように64 ビット (x86)
が選ばれていることを確認した上で選択
を押下します。
4.下記画像のように無料枠の対象であるt2.micro
が選ばれていることを確認した上で確認と作成
を押下します。
6.キーペアを作成します。
キーペアとは、インスタンスへログインする際に必要となる秘密鍵
のこと。
これがないとEC2インスタンスにログインできないので、必ずダウンロードしてPCに保存してください。秘密鍵
ですので誰かに知られてはいけません。
下記画像のような画面になるので
①新しいキーペアの作成を選択
②ご自身でキーペア名を入力
③キーペアのダウンロードを押下
④インスタンスの作成を押下
をします。
7.下記画像のようになるのでインスタンスの表示
をクリックします。
8.インスタンス一覧に遷移するので下記画像のように実行中インスタンスのIDを押下します。
9.下記画像の画面になるのでインスタンスIDをコピーしてメモしておきましょう。
Elastic IPアドレスの紐付け
Elastic IPアドレスとは?
AWSから割り振られた固定の「パブリックIPアドレス」のこと。
これを紐付けしておかないとサーバー再起動のたびにIPが変わってしまい、設定ファイルを変更しなければいけなくなります。Elastic IPアドレスであれば常に同じIPアドレスで通信できます。
1.下記画像のように左のメニューからElastic IP
を選択し、その後Elastic IPの割り当て
を押下します。
2.下記画像のようにAmazon の IPv4 アドレスプール
が選択されていることを確認し割り当て
を押下します。
3.EC2インスタンスとの紐付けをします。
下記画像のようにアクション
を押下し、出てきたプルダウンからElastic IP アドレスの関連付け
を選択します。
4.下記画像のようにインスタンス
が選択されていることを確認した上で、
その下のインスタンス
の枠を押下すると先ほど作成したインスタンスIDがプルダウンで出てくるので選択し関連付ける
を押下します。
5.きちんと設定できているか確認します。
下記画像のように左のメニューからインスタンス
を選択しインスタンスIDを押下すると、その下に画面が出てくるので割り当てられていればElastic IP アドレス
のところに表示されています。
EC2インスタンスの設定を変更する
今のままだとsshでのアクセスしかできないのでHTTPでもできるように設定を変更します。
1.セキュリティグループのポートを設定します。
下記画像のように、先ほどのインスタンスの画面の下部からセキュリティ
タブを選択しセキュリティグループ
の青い文字を押下します。
2.下記画像のようにインバウンドルール
のタブのインバウンドルールを編集
を押下します。
3.下記画像の手順でルールを追加し保存してください。
sshは消さないよう注意してください。
EC2インスタンスへログインする
今後EC2にパッケージのインストールなどをする際、ログインが必要になります。
ターミナルで作業を行っていきます。
1.下記コマンドでホームディレクトリに移動します。
% cd ~
2.下記コマンドでssh
をいうファイルを作成します。
既に作成したことがある場合はFile exists
というエラーが出ますが問題ありません。
そのまま続けていきます。
% mkdir ~/.ssh
3.下記コマンドでダウンロードしたpemファイルをダウンロードディレクトリ
から.sshディレクトリ
に移動します。
キーペアの名前を忘れてしまっていたらダウンロードディレクトリにダウンロードされている~.pem
というファイル名があるので確認してください。
% mv Downloads/キーペアの名前.pem .ssh/
4.下記コマンドで.ssh
フォルダに移動します。
% cd .ssh/
5.念のため、下記コマンドで~.pem
ファイルが存在するか確認します。
% ls
6.下記コマンドで権限を変更します。
権限とchmodコマンドについてはこちらの記事が分かりやすかったです。ありがとうございます。
chmod 600 キーペアの名前.pem
7.下記コマンドでログインします。
ssh -i キーペアの名前.pem ec2-user@作成したEC2インスタンスと紐付けたElastic IP
作成したEC2インスタンスと紐付けたElastic IP
は下記画像の手順で確認できます。
8.下記のようなメッセージが出たらyes
と入力します。
Are you sure you want to continue connecting (yes/no)?
9.以下のように表示されればログイン完了です。
Warning: Permanently added '54.×××' (ECDSA) to the list of known hosts.
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
ログイン後はターミナルが下記のようになると思います。
[ec2-user@ip-×××-××-××-××× ~]$
一定時間立つとタイムアウトしますが、再度ssh -i キーペアの名前.pem ec2-user@作成したEC2インスタンスと紐付けたElastic IP
でログインできます。
以上です。