目次
概要
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の設定を行います。
① VPC左メニュー「サブネット」からプライベートサブネットの「サブネットID」をコピーします。
② VPC左メニュー「NATゲートウェイ」→「NATゲートウェイの作成」をクリックします。
③ コピーしたプライベートサブネットIDを「サブネット」に貼り付けます。「新しいEIPの作成」をクリックし、Elastic IPを割り当てます。キー「Name」値「任意の名前(英数字)」を入力し、「NATゲートウェイの作成」をクリックします。
④ 「閉じる」をクリックします。
サブネットにNATゲートウェイの割り当て
① VPC左メニュー「サブネット」を選択し、プライベートサブネットの「ルートテーブル」をクリックします。
② ルートテーブルに移動するので、下メニュー「ルート」→「ルートの編集」をクリックします。
③ 送信先「0.0.0.0/0」を入力し、ターゲットで「NAT Gateway」を選択します。「ルートの保存」をクリックします。
④ ルートテーブルの設定が完了するので「閉じる」をクリックします。