Amazon VPCの用語とハンズオンその１


## VPC
Amazon VPC（Amazon Virtual Private Cloud）とは、AWSの提供するAWSアカウント専用の仮想ネットワークです。
webサーバーやデータベースサーバー等の各種サーバーはネットワークにつながっていなければなりません。これは、EC2やRDS（AWSのリレーショナルデータベースサービス）などAWSのサービスであっても同様で、ネットワークにつなぐ必要があります。 
VPCではAWSで提供しているリソースを置き、セキュリティ面も設定をすることができます。EC2やRDSの場合、作成時にVPCを選択しなければなりません。

### 用語
#### リージョン
AWSの各サービスが提供されている地域。
各リージョンに複数のアベイラビリティゾーンがある。
リージョンによって、提供されるサービスが異なる。

#### アベイラビリティゾーン
データセンタの集合の単位。複数のデータセンタを持つ。

#### サブネット
VPCをさらに細かく区切ったネットワークのこと。ネットワークを区切ることで直接通信できる範囲を決め、セキュリティの境界を作る。
パブリックサブネットはインターネットゲートウェイのルーティングがあり、プライベートサブネットはインターネットゲートウェイのルーティングがない。

#### CIDRブロック
ネットワークを分ける範囲。VPC作成時にネットワークの範囲をCIDRで決める。
AWS上でのアドレス表記ではCIDR表記が使用されている。

#### ルートテーブル
サブネットに関連付けて使用するもの。
サブネットから外部に出る通信をどこに向けて発信できるかを決めるルール。

#### インターネットゲートウェイ
VPC内のリソースとインターネット間の通信を可能にするためにVPCにアタッチするゲートウェイ。

#### NAT Gateway
VPC内に構成したプライベートサブネットからインターネットに接続するためのゲートウェイ。
サブネットからインターネットに接続できるが、インターネットからサブネットに接続できないようにすることが可能。

#### セキュリティグループ
AWSで提供される仮想ファイアウォール。設定はインスタンス単位で行う。

#### ネットワークACL
AWSで提供される仮想ファイアウォール。設定はサブネット単位で行う。

### VPCを使用する流れ

#### VPCを作る
・VPC名の設定。
・CIDRブロックの設定。

#### サブネットの設定
・サブネット名の設定。
・VPCの選択。
・アベイラビリティゾーン（AZ）の選択。
・CIDRブロックの設定。

#### インターネットの接続
・インターネットゲートウェイの作成。
・インターネットゲートウェイとVPCをアタッチ（接続）する。
・ルートテーブルの作成と設定を行う（ルーティングの設定）。

### ハンズオンしてみる

#### 構成図

![aws-test-vpc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/cb1867e9-8905-7e80-218a-9dcd26c2b583.png)


#### 実行環境
macOS　バージョン10.15.7

#### VPCの作成

VPCを検索

![スクリーンショット 2021-01-28 21.37.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/0501b24e-7874-d9b4-a3f5-d17a4ba8c6f2.png)

左からVPCを選択

![スクリーンショット 2021-01-28 21.44.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/33fb3784-9b80-50b0-2bd0-f3f2d0bcd827.png)

今回はデフォルトVPCを使わずに新規でVPCを作成。右上のVPCを作成をクリック。

![スクリーンショット 2021-01-28 21.48.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/48c33b38-3fbf-80c7-1dcf-6531d8c7e131.png)

名前タグにTEST-VPC、IPv4 CIDRブロックに構成図の通り10.0.0.1/21を入力。テナンシーはデフォルトでOK。

![スクリーンショット 2021-01-28 21.51.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/4c2fdc69-cdbe-5e0e-8bf4-cece14558989.png)

VPCを無事作成。

![スクリーンショット 2021-01-28 21.53.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/5dead4df-efc2-434f-92e6-c264e0179dc7.png)

TEST-VPCが作成されているか確認。

![スクリーンショット 2021-01-28 21.55.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/7c0fb052-a8b4-879f-ef89-a8d047acd221.png)

#### サブネットの作成

パブリックサブネットとプライベートサブネットを作成し、VPCを複数のサブネットに分割する。

#### パブリックサブネットの作成

左からサブネットを選択

![スクリーンショット 2021-01-28 21.57.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/31a3738e-4dbd-b122-a7c8-17c4970309a4.png)

新規でサブネットを作成する。右上のサブネットを作成をクリック。

![スクリーンショット 2021-01-28 21.58.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/518a3d54-2e3a-b5d0-9259-d7f4658e0fe3.png)


サブネット名はTEST-SUBNET-0、アベイラリティーゾーンはアジアパシフィック（東京）、IPv4 CIDRブロックに構成図の通り10.0.0.0/24を入力し、右下のサブネット作成をクリック。

![スクリーンショット 2021-01-28 22.03.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/e8cb8277-4f98-91ed-4d3a-cea5ca93cbab.png)

作成したTEST-SUBNET-0が存在するか確認。

![スクリーンショット 2021-01-28 22.05.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/ac1aa280-9674-1366-ac3b-5f1d22f8f247.png)

#### プライベートサブネットの作成

パブリックサブネットとほぼ同様だが、サブネット名はTEST-SUBNET-2、IPv4 CIDRブロックに構成図の通り10.0.2.0/24を入力する。

![スクリーンショット 2021-01-28 22.08.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/1a03392b-326b-4b28-bd95-27a339f98f81.png)

作成したTEST-SUBNET-2が存在するか確認。

![スクリーンショット 2021-01-28 22.10.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/f924df0d-d973-111c-7d3a-01806782e261.png)

#### インターネットゲートウェイの作成

インターネットゲートウェイの作成し、VPCにアタッチする。
左からサブネットをクリック。

![スクリーンショット 2021-01-28 22.15.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/7bd9a074-b5ea-d170-5383-5ea28b9b9ee4.png)

今回はデフォルトのものは使わず、新たに作成。右上のインターネットゲートウェイを作成をクリック。

![スクリーンショット 2021-01-28 22.18.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/ba719f55-1923-238f-bebc-df99d1b8acaf.png)

名前タグにTEST-IGWを入力し、インターネットゲートウェイの作成を押す。

![スクリーンショット 2021-01-28 22.20.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/34055933-0269-f808-4e8d-30f44d9dd301.png)

TEST-IGWの作成。

![スクリーンショット 2021-01-28 22.23.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/e11486a3-54ea-b689-aaf3-c266cfd4893f.png)

TEST-IGWがあるか確認。状態がDetachedになっており、どこのVPCにもアタッチされていないので、今からVPCにアタッチしてみる。

![スクリーンショット 2021-01-28 22.24.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/826703fb-7891-d7f0-60a0-2d442d8aca57.png)


アクションからVPCにアタッチを選択。

![スクリーンショット 2021-01-28 22.26.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/dadce3eb-c172-e90a-399b-908270ea6c91.png)

アタッチするVPCを選択。今回はTEST-VPCを選択し、インターネットゲートウェイをアタッチをクリック。

![スクリーンショット 2021-01-28 22.30.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/8fcc60b8-fa50-c21c-46a4-02156c6243ce.png)

状態がAttachedになっているか確認。

![スクリーンショット 2021-01-28 22.32.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/fadb8dc5-737c-5426-fd0b-46c84cbae4ff.png)

#### ルートテーブルの設定

左からサブネットをクリック

![スクリーンショット 2021-01-28 22.35.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/668e3ec3-0da8-9c1a-d7c0-4f0834405759.png)

パブリックサブネット（TEST-SUBNET-0）を選択し、ルートテーブルタブのrtb-072a795a96160fe0eをクリック。

![スクリーンショット 2021-01-28 22.38.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/371e2798-9f20-24a0-b37e-3daac0eb6c43.png)

ルートタブのルートの編集をクリック。

![スクリーンショット 2021-01-28 22.40.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/1f3f5f81-f43d-981d-2180-c51640b29e33.png)


送信先に0.0.0.0/0を入力、ターゲットにインターネットゲートウェイ（TEST-IGW）を選択。ルートの保存をクリック。

![スクリーンショット 2021-01-28 22.42.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/3a4ab83f-02bf-91f7-4ff5-f1fad90c899a.png)

ルートの編集が終了。

![スクリーンショット 2021-01-28 22.47.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/3eba8575-70f9-0ef7-f3ce-dcef2205c9ed.png)

#### EC2の作成（パブリックサブネット）

EC2を検索

![スクリーンショット 2021-01-30 22.08.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/a0f4372e-b29a-da8d-5076-857a20a96c96.png)

左からインスタンスをクリック

![スクリーンショット 2021-01-30 22.10.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/3b181c50-80be-6884-0bb6-e6b958e64ba7.png)

インスタンスの起動をクリック

![スクリーンショット 2021-01-30 22.11.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/f0133e58-d440-7036-de89-945d22eb3d5d.png)

今回は無料枠のAmazon Linux 2 AMIを選択

![スクリーンショット 2021-01-30 22.14.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/7e40fc8c-e100-2d78-9c4b-dc10c054f362.png)

インスタンスタイプも無料枠のt2.microを選択し、次のステップ：インスタンスの詳細の設定をクリック

![スクリーンショット 2021-01-30 22.15.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/c7cc0aab-39a4-9e5b-5b2d-919bc30c5164.png)

ネットワークを作成したTEST-VPC、サブネットをTEST-SUBNET-0、自動割り当てパブリックを有効にし、次のステップ：ストレージの追加を押す。

![スクリーンショット 2021-01-30 22.17.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/199fa189-207a-5d3d-2cad-34f566a6eb11.png)

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

![スクリーンショット 2021-01-30 22.20.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/ca069656-7939-6256-e08c-d2512ef30e5e.png)

タグの追加を押す。

![スクリーンショット 2021-01-30 22.21.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/097ba21a-5612-60db-d694-b0edbcab7cae.png)

キーにName、値にTEST-EC2-1を入力。次のステップ：セキュリティーグループの設定に進む。

![スクリーンショット 2021-01-30 22.23.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/66ba9804-b1d9-5ac9-b137-00e30373c28c.png)

セキュリティーグループの設定は今回はデフォルトでOK。確認と作成をクリック。

![スクリーンショット 2021-01-30 22.24.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/6967a7a3-1e0e-5034-26c8-69b08aa5e30d.png)

設定を確認し、右下の起動を押す。

![スクリーンショット 2021-01-30 22.26.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/c11ffb7f-9bca-2cea-2a73-e486e5361228.png)

#### キーペアの新規作成

新しいキーペアの作成を選択し、キーペア名をtest-ec2-keypair（好きな名前でOK）を入力。
キーペアのダウンロードを押し、インスタンスの作成をクリック。
.pemファイルは以後EC2にSSH接続する際に必要なのでファイルの保管ディレクトリは把握するようにする。

![スクリーンショット 2021-01-30 22.27.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/3ab0fa06-d2ae-09d6-f9c1-385dca351912.png)

パブリックサブネット内に設置するインスタンスの作成が完了。

![スクリーンショット 2021-01-30 22.29.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/16c23595-9a1f-8d52-b668-6e113c69a16e.png)

インスタンスの状態が作成中、ステータスチェックが初期化していますの状態だとまだ作成が終わっていない状態

![スクリーンショット 2021-01-30 22.30.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/99bd4413-0db8-54a3-0fe1-753fb2b79381.png)

上の更新ボタンを押し、インスタンスの状態が実行中、ステータスチェックが2/2のチェックに合格しましたの状態になっていればOK。

![スクリーンショット 2021-01-30 22.33.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/99fbcd67-0938-162b-3224-190d9b929d16.png)

#### セキュリティグループの作成

左のセキュリティグループをクリック

![スクリーンショット 2021-01-30 22.36.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/7c44e90b-c045-34aa-18f7-aa1e8b5c2171.png)

セキュリティグループを作成をクリック

![スクリーンショット 2021-01-30 22.36.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/aa70e5af-e2a9-9796-79a1-70eef02690dd.png)

セキュリティグループ名をTEST-SG-1、VPCをTEST-VPCを選択。
次にインバウンドルールを設定する。タイプをSSHに設定し、CIDRブロックに0.0.0.0/0を入力する。
入力後、セキュリティーグループを作成をクリック

![スクリーンショット 2021-01-30 22.39.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/b9f29e24-5fd5-8ac9-837b-061aa6312de7.png)

セキュリティグループを正常に作成

![スクリーンショット 2021-01-30 22.41.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/79d949bb-3e8f-381e-51bd-6c5018c6745d.png)

左のインスタンスをクリック

![スクリーンショット 2021-01-30 22.43.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/724454ec-f35d-4721-670b-9a92b1bd91bf.png)

右上のアクションからセキュリティを選択し、さらにセキュリティグループを変更を押す

![スクリーンショット 2021-01-30 22.44.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/a601340d-ea9f-b4e9-a6d4-2e88f1c17659.png)


セキュリティグループ（launch-wizard-4）を削除し、新たにTEST-SG-1を選択し、保存

![スクリーンショット 2021-01-30 22.46.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/afb60dce-7f33-7643-ccf3-7a23685ac6ea.png)

インスタンスからセキュリティグループがTEST-SG-1になっているか確認。

![スクリーンショット 2021-01-30 22.52.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/fddbc97f-2dd9-75ae-fc0b-53d1a3999776.png)

長くなったので次回はEC2にSSH接続するところからスタートする。

## 参考にしたサイト

[公式ページ](https://aws.amazon.com/jp/vpc/)

[Amazon VPC とは?](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html)