【AWS】ELB+EC2(2台)+RDS(マルチAZ)で耐障害性に優れたシステムを構築してみた！EC2編

#はじめに
「ELB+EC2(2台)+RDS(マルチAZ)で耐障害性に優れたシステムを構築してみた！VPC編」の続きになります。前回の記事をご覧になっていない方はぜひそちらもご覧ください！

以下に分けて記事を作成しているので、上から順にご覧ください。
[・ ELB+EC2(2台)+RDS(マルチAZ)で耐障害性に優れたシステムを構築してみた！VPC編](https://qiita.com/onishi_820/items/728ef2c6fd640dc07c65)
[・ ELB+EC2(2台)+RDS(マルチAZ)で耐障害性に優れたシステムを構築してみた！EC2編](https://qiita.com/onishi_820/items/d8125a703e7a4eb456bd)
[・ ELB+EC2(2台)+RDS(マルチAZ)で耐障害性に優れたシステムを構築してみた！RDS編](https://qiita.com/onishi_820/items/c18c3bf1a2ff586f264c)
[・ ELB+EC2(2台)+RDS(マルチAZ)で耐障害性に優れたシステムを構築してみた！ELB編](https://qiita.com/onishi_820/items/08040fdc3f9852079a9e)
[・ ELB+EC2(2台)+RDS(マルチAZ)で耐障害性に優れたシステムを構築してみた！マルチAZ編](https://qiita.com/onishi_820/items/8532ba3de47ca733e8fe)

#前提
・コンソールの最低限の操作ができること
・各サービスについての最低限の知識があること
・VPCが作られていること（前回作成したVPCで構築することを前提に記載しています。）

#セキュリティグループ作成
**EC2 → セキュリティグループ → セキュリティグループを作成**の順でクリックします。

**・名前**
セキュリティグループ名を設定します。今回は「ec2-sg」にします。

**・説明**
セキュリティグループの説明を設定します。任意なので入力しなくても大丈夫です。

**・VPC**
前回作成したVPCを選択します。

**・インバウンドルール**
ELBからの通信も許可する必要がありますが、今はとりあえずSSHのみ許可します。ソースはマイIPにすれば自分のPCからのみアクセスが可能になります。IPアドレスの部分は自動で入力されるので分からなくても大丈夫です。

ELBからの通信も許可する必要がありますが、今はとりあえずSSHのみ許可します。

他はデフォルトの値で作成します。
![スクリーンショット 2022-01-03 12.26.17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/eebaaa33-eefd-ced2-e0df-99da616ec405.jpeg)

#EC2作成（Amazon Linux）
**EC2 → インスタンス → インスタンスの起動**の順でクリックします。

**・マシンイメージ**
EC2インスタンスのOSをどれにするか選択します。今回はLinuxでやっていきたいので、
「**Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type**」を選択しました。
![スクリーンショット 2022-01-03 12.47.25.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/64cc9e65-4b1e-ffe1-ecd3-2aaf034f3339.jpeg)

**・インスタンスタイプ**
インスタンスのタイプを選択します。今回は無料使用枠の「t2.micro」を選択します。

**・インスタンスの詳細の設定**
EC2インスタンスをどのVPCでいくつ作成するかを決めます。
ネットワークは前回作成した、「test-vpc」を選択し、サブネットは「pubsub-a」を選択します。これで、AZ-aのパブリックサブネットにEC2が構築されます。

また、パブリックIPを有効にしないと、外部公開用のIPアドレスが付与されないため、自動割り当てパブリックIPを「有効」を選択します。
![スクリーンショット 2022-01-03 12.51.11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/bf7d183c-5884-e7a3-949f-97f3a855f22c.jpeg)

**・ストレージの追加**
今回はデフォルトでOKです。

**・タグの追加**
特にタグは設定しません。追加したい方は追加してください。

**・セキュリティグループの設定**
「既存のセキュリティグループを選択する」をクリックし、先ほど作成した「**ec2-sg**」を選択します。
![スクリーンショット 2022-01-03 12.58.41.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/04218538-cb3e-b43e-f834-1f1b6bbc095b.jpeg)

**・キーペア**
EC2インスタンスを作成し接続するために、キーペアというものが必要になります。既にキーペアをお持ちの方はそれをお使いいただいても大丈夫です。

新しいキーペアを作成される方はキーペア名を「**test-keypair**」とし、「キーペアのダウンロード」をクリックします。すると右下の「インスタンスの作成」ボタンが押せるようになるので、クリックします。
![スクリーンショット 2022-01-03 13.02.03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/47f98ed0-4359-72e5-68dd-497018109e8f.jpeg)

EC2インスタンスは今回2つ作成するので、同じ手順をもう一度行います。と言ってしまいそうですが、それは少し面倒ですよね・・・。
そんな時に便利なのが**AMI**です。AMIについては後ほど作業を進めていく中で出てくるので少々お待ちください。

**※注意ポイント**
EC2インスタンスは再起動するとIPアドレスが変更します。つまり、色々な設定を今のIPアドレスで行った後にEC2を再起動すると、再起動後は接続できないといった状態になることがあります。

IPアドレスが変更しないように、**ElasticIP**という固定IPアドレスをEC2に紐づけることで解決できます。しかし、EC2が起動していない場合はElasticIPの料金が掛かるようになります。停止しているから料金がかからないと油断していると大量の請求が来るので注意・・・。


#EC2インスタンス接続
ここまでの手順を行ったら以下のようにEC2インスタンスが作成されています。
次にEC2インスタンスに接続してみます。
![スクリーンショット 2022-01-03 18.14.53.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/fc8fc836-7bbf-698f-111a-ab2361e5e379.jpeg)


Windowsの場合はteratarmで接続し、Macの場合はターミナルから接続します。
私はMacなのでターミナルから接続します。

まず、インスタンスIDをクリックしてパブリックIPアドレスをコピーします。
![スクリーンショット 2022-01-03 13.15.54.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/34e2f9d6-f5c5-0e83-35bb-5cfeeeba9d7f.jpeg)

ターミナルを開き以下のコマンドを実行します。**-i オプション**でキーペアのパスを指定します。
コマンドを実行すると、**yes/no?**と聞かれるのでyesと入力します。

```
$ ssh -i <キーペアのパス> ec2-user@<パブリックIPアドレス>

The authenticity of host '13.231.160.61 (13.231.160.61)' can't be established.
ECDSA key fingerprint is SHA256:NaOkgbZe5yfKh3Obb4FZgiy10y2V3iQzRkeHmKPBGtE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes ← yesを入力
Warning: Permanently added '13.231.160.61' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
6 package(s) needed for security, out of 16 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-2-42 ~]$  ← これが表示されればOKです。
```

#さいごに

以上でEC2関連の設定は一旦終了になります。
次にRDSの作成を行いますが、RDSも前回作成したVPCの上に構築していきます。

最後までご覧いただきありがとうございました。