AWS VPCの構築方法

  • 2020年6月24日
  • 2024年7月9日
  • AWS
  • 11ビュー

概要

AWS VPCとプライベート/サブネットネットワークを構築する方法。設計図は以下の通り

前提条件

・AWSのアカウントを所持していること。

 

VPCの作成

① AWSマネジメントコンソールの「サービスを検索する」から「VPC」と入力し「VPC」を選択します。

 

② 左メニュー「VPC」を選択し「VPCの作成」をクリックします。

 

③ VPCの作成画面が表示されるので、以下の項目を入力します。入力完了後「作成」をクリックします。

名前タグ 任意の名前 (英字)
IPv4 CIDRブロック VPCに設定するアドレスを指定
IPv6 CIDRブロック IPv6を利用しない場合は「IPv6 CIDR ブロックなし」
利用する場合は、それ以外を選択します。
テナンシー デフォルト
※インスタンス専用テナントにしたい場合は「専用」を選択(料金高)

 

④ VPCが作成されたので「閉じる」をクリックします。

 

サブネットの作成

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

① VPC 左メニュー「サブネット」→「サブネットの作成」をクリックします。

 

② サブネット作成画面が表示されるので、以下を入力します。入力完了後「作成」をクリックします。

名前タグ 任意の名前を入力
(どのAZのサブネットかわかるように「1a」などの名前を入力するとよい)
VPC 作成済のVPCを選択します。
アベイラビリティゾーン リージョン東京の場合は「1a、1c、1d」を選択します。
IPv4 CIDRブロック /24で作成します。

 

③ サブネットが作成されたので「閉じる」をクリックします。

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

① VPC 左メニュー「サブネット」→「サブネットの作成」をクリックします。

 

② サブネット作成画面が表示されるので、以下を入力します。入力完了後「作成」をクリックします。

名前タグ 任意の名前を入力
(どのAZのサブネットかわかるように「1c」などの名前を入力するとよい)
VPC 作成済のVPCを選択します。
アベイラビリティゾーン リージョン東京の場合は「1a、1c、1d」を選択します。
(プライベートサブネットとは別のAZにします)
IPv4 CIDRブロック /24で作成します。

 

③ サブネットが作成されたので「閉じる」をクリックします。

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

パブリックサブネットにインターネットを接続するために設定します。

① VPC左メニュー「インターネットゲートウェイ」→「インターネットゲートウェイの作成」をクリックします。

 

② 任意の「名前タグ」を入力し「インターネットゲートウェイの作成」をクリックします。

 

③ 「VPCへアタッチ」をクリックします。

 

④ 作成したVPCを選択し「インターネットゲートウェイのアタッチ」をクリックします。

 

⑤ インターネットゲートウェイがアタッチできました。

 

自動割り当てIPアドレスの設定

EC2のインスタンス作成時にIPアドレスを自動で割り振るように設定します。

① 対象のプライベートサブネットを選択し「右クリック」→「自動割り当てIP設定の変更」をクリックします。

 

② 「パブリックIPv4アドレスの自動割り当てを有効にする」にチェックを入れ「保存」をクリックします。

 

ルートテーブルの作成

インターネットとサブネットを接続するために、ルートテーブルを作成します。

① VPC左メニュー「ルートテーブル」→「ルートテーブルの作成」をクリックします。

 

② 「名前タグ」を入力し、作成した「VPC」を選択し「作成」をクリックします。

 

③ ルートテーブルが作成されるので「閉じる」をクリックします。

ルートの編集

① VPC左メニュー「ルートテーブル」から作成したルートテーブルを選択します。
下メニュー「ルート」→「ルートの編集」をクリックします。

 

② 「ルートの追加」をクリックします。

③ インターネットとして設定するため、送信先を「0.0.0.0/0」、ターゲットを「Internet Gateway」を選択します。

 

④ 「ルートの保存」をクリックします。

 

⑤ ルートの編集が完了したので「閉じる」をクリックします。

サブネットの関連付け

① ルートテーブルのページから対象のルートテーブルを選択し、下メニュー「サブネットの関連付け」→「サブネットの関連付けの編集」をクリックします。

 

② 作成した「パブリックネットワーク」を選択し「保存」をクリックします。

 

EC2の作成

パブリックサブネット用 EC2

① AWSマネジメントコンソールにログインし、サービスの検索から「EC2」を検索し「EC2」を選択します。

 

② 左メニュー「インスタンス」→「インスタンスの作成」をクリックします。

 

③ AMIの選択をします。例としてAmazon Linux2を「選択」作成します。

 

④ 無料枠の「t2.micro」を選択します。洗濯後「次のステップ:インスタンスの詳細の設定」をクリックします。

 

⑤ 以下を選択し「次のステップ:ストレージの追加」をクリックします。

ネットワーク 作成したVPCを選択します
サブネット 作成した「パブリックネットワーク」のサブネットを選択します。
終了保護の有効化 「チェック」を入れます(インスタンスの削除防止)
モニタリング EC2のモニタリングを有効化します

 

⑥ 「次のステップ:タグの追加」をクリックします。

 

⑦ 名前の追加をします。キーに「Name」値に「サーバー名」を入力し、「次のステップ:セキュリティグループの設定」をクリックします。

 

⑧ 新しいセキュリティグループを作成します。「セキュリティグループ名」「説明」を入力します。「HTTP」「HTTPS」を選択し「確認と作成」をクリックします。

 

⑨ 「起動」をクリックします。

 

⑩ 「既存のキーペア」を選択し、作成済のキーを選択します。チェック項目に「チェック」を入れ「インスタンスの作成」をクリックします。(未作成の場合は新規作成してください)

 

⑪ インスタンスが作成されたので「インスタンスの表示」をクリックし、確認します。

 

プライベートサブネット用 EC2

① AWSマネジメントコンソールにログインし、サービスの検索から「EC2」を検索し「EC2」を選択します。

 

② 左メニュー「インスタンス」→「インスタンスの作成」をクリックします。

 

③ AMIの選択をします。例としてAmazon Linux2を「選択」作成します。

 

④ 無料枠の「t2.micro」を選択します。洗濯後「次のステップ:インスタンスの詳細の設定」をクリックします。

 

⑤ 以下を選択し「次のステップ:ストレージの追加」をクリックします。

ネットワーク 作成したVPCを選択します
サブネット 作成した「プライベートネットワーク」のサブネットを選択します。
終了保護の有効化 「チェック」を入れます(インスタンスの削除防止)
モニタリング EC2のモニタリングを有効化します

 

⑥ 「次のステップ:タグの追加」をクリックします。

 

⑦ 名前の追加をします。キーに「Name」値に「サーバー名」を入力し、「次のステップ:セキュリティグループの設定」をクリックします。

 

⑧ バブリックサブネットのEC2で作成したセキュリティグループを選択し、「確認と作成」をクリックします。

 

⑨ 「起動」をクリックします。

 

⑩ 「既存のキーペア」を選択し、作成済のキーを選択します。チェック項目に「チェック」を入れ「インスタンスの作成」をクリックします。(未作成の場合は新規作成してください)

 

⑪ インスタンスが作成されたので「インスタンスの表示」をクリックし、確認します。

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

パブリックサブネットとプライベートサブネットを接続します。

① EC2左メニュー「セキュリティグループ」→「セキュリティグループを作成」をクリックします。

 

② 「セキュリティグループ名」「説明」作成済みの「VPC」を選択します。

 

③ インバウンドルールの作成をします。以下のタイプを選択します「SSH」「HTTP」「HTTPS」「MYSQL/Aurora」「すべてのICMP – IPv4」ソースはパブリックサブネットのIPアドレスを指定します。

 

④ 一番下の「セキュリティグループを作成」をクリックします。

 

⑤ セキュリティグループをインスタンスに割り当てます。プライベートサブネットに作成したEC2を選択し、右クリック「ネットワーキング」→「セキュリティグループの変更」をクリックします。

 

⑥ 作成した「セキュリティグループ」とVPC作成時に自動的に作成された「セキュリティグループ」を選択します。

 

パブリック・プライベートEC2の疎通確認

① ターミナルを起動しパブリックEC2にログインします。パブリックIPはEC2の「IPv4パブリックIP」を確認してください。

ssh -i "**********.pem" ec2-user@***.***.***.***

 

② プライベートEC2に対して「Ping」します。疎通できているか確認してください。

ping 10.0.20.26

PING 10.0.20.26 (10.0.20.26) 56(84) bytes of data.
64 bytes from 10.0.20.26: icmp_seq=1 ttl=255 time=2.66 ms
64 bytes from 10.0.20.26: icmp_seq=2 ttl=255 time=2.67 ms
64 bytes from 10.0.20.26: icmp_seq=3 ttl=255 time=2.66 ms
64 bytes from 10.0.20.26: icmp_seq=4 ttl=255 time=2.76 ms

 

プライベートEC2にSSH

① パブリックEC2にアクセスするためのpemファイルの内容をコピーします。

-----BEGIN RSA PRIVATE KEY-----
A9ehvas0uW*************************
-----END RSA PRIVATE KEY-----

② パブリックEC2にログインします。

ssh -i "**********.pem" ec2-user@***.***.***.***

 

③ rootに切替ます。

sudo su -

 

④ viでコピーした内容を貼り付け、pemファイルを作成します。

vi private_key.pem

 

⑤ 作成したpemファイルのパーミッションを400に設定変更します。

chmod 400 private_key.pem

 

NATゲートウェイの設定

プライベートサブネットで「yum」のパッケージのインストールを行うため、NATの設定を行います。

 

NATゲートウェイはAWSの無料枠に含まれていません。東京リージョンの場合、1時間あたり「0.062USD」費用が発生します。(2020年7月現在)

 

① VPC左メニュー「サブネット」からプライベートサブネットの「サブネットID」をコピーします。

 

② VPC左メニュー「NATゲートウェイ」→「NATゲートウェイの作成」をクリックします。

 

③ コピーしたプライベートサブネットIDを「サブネット」に貼り付けます。「新しいEIPの作成」をクリックし、Elastic IPを割り当てます。キー「Name」値「任意の名前(英数字)」を入力し、「NATゲートウェイの作成」をクリックします。

 

④ 「閉じる」をクリックします。

サブネットにNATゲートウェイの割り当て

① VPC左メニュー「サブネット」を選択し、プライベートサブネットの「ルートテーブル」をクリックします。

 

② ルートテーブルに移動するので、下メニュー「ルート」→「ルートの編集」をクリックします。

 

③ 送信先「0.0.0.0/0」を入力し、ターゲットで「NAT Gateway」を選択します。「ルートの保存」をクリックします。

 

④ ルートテーブルの設定が完了するので「閉じる」をクリックします。