【AWS】初の環境構築① ~VPC、EC2インスタンスを構築してみた~

# はじめに
インフラ初心者の私がAWS Cloudtechを通して学んだことを
記録＆アウトプットするための備忘録です。

# 動作環境
・Windows10

# 実現したいこと
VPC、EC2インスタンスの構築

# 環境構築
講座で解説されている手順に従い、以下の構成で環境構築予定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/8eb4865c-12a1-efb7-909e-3b3de60f2ea8.png)


## 構築手順

### VPCの作成
リージョンはアジアパシフィック(東京)が選択されていることを確認してVPCを作成する。

1.検索窓にVPCと入力後、左ペインから[VPC]を選択。
　[VPCを作成]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/3fe0f21a-82b2-e554-910d-3194f3c9c939.png)

2.「名前タグ」と「IPv4 CIDRブロック」を設定して[VPCを作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/23cd4a31-2a8d-4808-6411-8b39f9822dac.png)

ここまでの構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/52a33816-da6a-ee01-4698-c1fedb3ad3f5.png)


### サブネットの作成
1.左ペインから[サブネット]を選択し、[サブネットの作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/d7165eab-6d4e-af58-85e0-dc4e88a41254.png)

2.Public Subnetを作成する。
「サブネット名」「アベイラビリティーゾーン」「IPv4 CIDR ブロック」を入力し[サブネットを作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/668c66be-1557-1e36-ae77-7167ff6b5026.png)

3.Private Subnetを作成する。(手順は2と同じ)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/caa91da2-a2eb-f757-638d-c1fc8f1c57e0.png)

現在の構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/b6b677a8-42ea-5345-954a-d6d57c514071.png)

### インターネットゲートウェイの作成
VPC内のAWSリソースとインターネットを繋げるためにインターネットゲートウェイの作成＆アタッチをする。

1.左ペインから[インターネットゲートウェイ]を選択し、[インターネットゲートウェイの作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/49c2adde-c2ff-a5dd-08c1-867d6fa1a02c.png)

2.「名前タグ」を入力し、[インターネットゲートウェイの作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/e139fb09-597e-78bb-ad56-716ee411df3e.png)

3.作成時はどこのVPCにもアタッチされていないため、アクション→VPCにアタッチを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/383e2e56-31b9-2a94-14fe-4aae03a941c9.png)

4.対象のvpcを選択して、[インターネットゲートウェイのアタッチ]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/9805c28c-9d79-4f4a-f49a-5fb90a67fc0a.png)

現在の構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/b4d4fa77-f8b0-3a10-8298-ae0563888719.png)

### ルートテーブルの作成
ローカル(VPC内部)の通信はローカルへ、それ以外の通信はInternet Gatewayへ向くようにルートテーブルを設定する。 

1.左ペインから[サブネット]を選択し、対象のサブネットを選び[ルートテーブル]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/82fcfd03-7427-d5e2-9688-50533e3a65cd.png)

2.ルートテーブルを新しいタブで開き、[ルート]→[ルートの編集]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/fb7fe02b-d8b2-4852-659f-d705206cd424.png)

3.[ルートの追加]を選択後、追加したいルートの情報を入力し[ルートの保存]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/6f177967-339f-0e71-06b2-e7a82fea6836.png)

現在の構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/9938ab53-f9b5-dd3f-2169-1d5d1301c34e.png)

### インスタンスの作成
1.検索窓に「EC2」と入力後、左ペインから[インスタンス]を選択。
　[インスタンスを起動]→インスタンスを起動を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/c57a1bdf-2733-c2cb-0ffd-4a2143a19b78.png)

2.Amazon Linux 2を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/99b799cc-7a81-8977-462f-7d8df41253d2.png)

3.デフォルトのまま、[次のステップ：インスタンスの詳細の設定]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/9eb91e74-29cf-340d-3154-c89a8a0d4740.png)

4.「ネットワーク」「サブネット」「自動割り当てパブリックIP」を選択し、[次のステップ：ストレージを追加]をクリック(触れていないところはデフォルトでOK)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/c394101d-36bd-4515-4857-091a37ecfcf0.png)

5.特に指定がなければデフォルト設定で、[次のステップ：タグの追加]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/f71587e5-2516-a8c2-b962-682621e3d1cd.png)

6.Nameタグを追加し、[次のステップ：セキュリティグループの設定]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/d029dcb9-1786-d8ca-81bc-3cd9e800a442.png)

7.特に指定がなければデフォルト設定で、[確認と作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/c37e032b-8c69-d581-9d22-d9134acc9306.png)

8.確認画面が出るので、問題なければ[起動]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/21de5f42-b635-da6e-c30a-d5944a33ff4a.png)

9.キーペアを新規作成 or 既存のキーペアを選択し、[インスタンスの作成]をクリック

新規のキーペアを作成する場合は、キーペア名を入力後、ダウンロード→インスタンスの作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/b43f1496-f542-9826-4c0e-9ae72a3ab57f.png)

既存のキーペアを選択する場合はチェックを入れて、インスタンスの作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/220c817b-1ee4-86f0-184d-8f1a818f7ce2.png)

10.インスタンスの表示をクリックし、インスタンスのステータスが変わるのを待つ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/3a57cfa5-9007-5c5d-15b2-eca16e935772.png)

ステータス変更後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/adaec4bf-12c4-075b-54ed-e04b359a30f2.png)

現在の構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/4686fd98-7b08-8f9d-05a4-b261b0cc856a.png)

※インスタンス作成時にデフォルトで「launch-wizard-3」というセキュリティグループがアタッチされています。ここでは、次の手順で作成したセキュリティグループをインスタンスに割り当てるために記載をあえて省略しています。

### セキュリティグループの作成＆アタッチ
EC2作成時にデフォルトでlaunch-wizard-3というセキュリティグループが割り当てられるが、新しく作成しアタッチしてみる。

1.左ペインから[セキュリティグループ]を選択し、[セキュリティグループを作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/c7168ef0-39ae-8b12-ae35-b3cc0acb59ad.png)

2.「セキュリティグループ名」「VPC」「インバウンドルール」を設定し、[セキュリティグループを作成]をクリック(キャプチャにはないですが、右下の方にボタンがあります)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/8d3e04cf-5b90-1a81-37b2-7a6bb01bf21d.png)

3.作成したセキュリティグループをインスタンスに割り当てる。
左ペインから[インスタンス]を選択。対象インスタンスをチェックし、右上のアクション→セキュリティ→セキュリティグループを変更を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/c547bdd1-de83-4db8-835a-15f9d4720824.png)

4.キャプチャ内の手順1~4を実施し、セキュリティグループを変更する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/80e0d71d-591b-c970-7565-31356e9c2e24.png)

対象インスタンスのセキュリティグループが変更されていることを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/00f71daa-11d4-7246-b0c9-522dd9cf58d4.png)

現在の構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/b9f00192-007e-566f-5425-310a107cae7b.png)

### ネットワークACLの確認
ネットワークACL(サブネット単位で設定するファイアウォール)の設定を確認しておく。

IN/OUT共にすべての通信が許可されていることを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086543/96f35c62-aa70-a089-02cd-54fbcc18da15.png)

# 終わりに
自分のためにVPC、EC2インスタンスの構築の備忘録を記載しました。
思っていた以上に長くなってしまったため、2回に分けて記載していこうと思います。
次は作成したインスタンスにログインするところまで書きたいと思います。
構成図の作成には[draw.io](https://app.diagrams.net/)を使ってみました！(めっちゃ便利)

この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com