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でログインできます。
以上です。



