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をアタッチ(接続)する。
・ルートテーブルの作成と設定を行う(ルーティングの設定)。
ハンズオンしてみる
構成図
実行環境
macOS バージョン10.15.7
VPCの作成
VPCを検索
左からVPCを選択
今回はデフォルトVPCを使わずに新規でVPCを作成。右上のVPCを作成をクリック。
名前タグにTEST-VPC、IPv4 CIDRブロックに構成図の通り10.0.0.1/21を入力。テナンシーはデフォルトでOK。
VPCを無事作成。
TEST-VPCが作成されているか確認。
サブネットの作成
パブリックサブネットとプライベートサブネットを作成し、VPCを複数のサブネットに分割する。
パブリックサブネットの作成
左からサブネットを選択
新規でサブネットを作成する。右上のサブネットを作成をクリック。
サブネット名はTEST-SUBNET-0、アベイラリティーゾーンはアジアパシフィック(東京)、IPv4 CIDRブロックに構成図の通り10.0.0.0/24を入力し、右下のサブネット作成をクリック。
作成したTEST-SUBNET-0が存在するか確認。
プライベートサブネットの作成
パブリックサブネットとほぼ同様だが、サブネット名はTEST-SUBNET-2、IPv4 CIDRブロックに構成図の通り10.0.2.0/24を入力する。
作成したTEST-SUBNET-2が存在するか確認。
インターネットゲートウェイの作成
インターネットゲートウェイの作成し、VPCにアタッチする。
左からサブネットをクリック。
今回はデフォルトのものは使わず、新たに作成。右上のインターネットゲートウェイを作成をクリック。
名前タグにTEST-IGWを入力し、インターネットゲートウェイの作成を押す。
TEST-IGWの作成。
TEST-IGWがあるか確認。状態がDetachedになっており、どこのVPCにもアタッチされていないので、今からVPCにアタッチしてみる。
アクションからVPCにアタッチを選択。
アタッチするVPCを選択。今回はTEST-VPCを選択し、インターネットゲートウェイをアタッチをクリック。
状態がAttachedになっているか確認。
ルートテーブルの設定
左からサブネットをクリック
パブリックサブネット(TEST-SUBNET-0)を選択し、ルートテーブルタブのrtb-072a795a96160fe0eをクリック。
ルートタブのルートの編集をクリック。
送信先に0.0.0.0/0を入力、ターゲットにインターネットゲートウェイ(TEST-IGW)を選択。ルートの保存をクリック。
ルートの編集が終了。
EC2の作成(パブリックサブネット)
EC2を検索
左からインスタンスをクリック
インスタンスの起動をクリック
今回は無料枠のAmazon Linux 2 AMIを選択
インスタンスタイプも無料枠のt2.microを選択し、次のステップ:インスタンスの詳細の設定をクリック
ネットワークを作成したTEST-VPC、サブネットをTEST-SUBNET-0、自動割り当てパブリックを有効にし、次のステップ:ストレージの追加を押す。
ストレージの追加は今回はデフォルトでOK
タグの追加を押す。
キーにName、値にTEST-EC2-1を入力。次のステップ:セキュリティーグループの設定に進む。
セキュリティーグループの設定は今回はデフォルトでOK。確認と作成をクリック。
設定を確認し、右下の起動を押す。
キーペアの新規作成
新しいキーペアの作成を選択し、キーペア名をtest-ec2-keypair(好きな名前でOK)を入力。
キーペアのダウンロードを押し、インスタンスの作成をクリック。
.pemファイルは以後EC2にSSH接続する際に必要なのでファイルの保管ディレクトリは把握するようにする。
パブリックサブネット内に設置するインスタンスの作成が完了。
インスタンスの状態が作成中、ステータスチェックが初期化していますの状態だとまだ作成が終わっていない状態
上の更新ボタンを押し、インスタンスの状態が実行中、ステータスチェックが2/2のチェックに合格しましたの状態になっていればOK。
セキュリティグループの作成
左のセキュリティグループをクリック
セキュリティグループを作成をクリック
セキュリティグループ名をTEST-SG-1、VPCをTEST-VPCを選択。
次にインバウンドルールを設定する。タイプをSSHに設定し、CIDRブロックに0.0.0.0/0を入力する。
入力後、セキュリティーグループを作成をクリック
セキュリティグループを正常に作成
左のインスタンスをクリック
右上のアクションからセキュリティを選択し、さらにセキュリティグループを変更を押す
セキュリティグループ(launch-wizard-4)を削除し、新たにTEST-SG-1を選択し、保存
インスタンスからセキュリティグループがTEST-SG-1になっているか確認。
長くなったので次回はEC2にSSH接続するところからスタートする。