
AWS 初心者向けハンズオン「Amazon VPC間およびAmazon VPCとオンプレミスのプライベートネットワーク接続」をやってみた
ネットワークの基礎知識を学ぶため、AWS Hands-on for Beginners の
「Amazon VPC間およびAmazon VPCとオンプレミスのプライベートネットワーク接続」
をやってみました。
こちらは動画セミナーであり、以下の公式サイトから受講可能です。
ハンズオンで作るもの
本セミナーでは、最終的に以下の構成を作成しますが、

セミナーのスライド資料より引用
今回のブログでは、以下の構成までを作成し、次回ブログで上記最終構成図まで作成していきます。

セミナーのスライド資料より引用
メイン VPC の作成
VPC コンソールから「VPC を作成」を選択

以下のように指定し、メイン VPC を作成します。
| 設定項目 | 値 |
|---|---|
| 作成するリソース | VPC など |
| 名前タグの自動生成 | Main |
| IPv4 CIDR ブロック | 10.0.0.0/16 |
| IPv6 CIDR ブロック | IPv6 CIDR ブロックなし |
| テナンシー | デフォルト |
| アベイラビリティゾーン (AZ) の数 | 1 |
| AZ のカスタマイズ(第 1 アベイラビリティーゾーン) | ap-northeast-1a |
| パブリックサブネットの数 | 1 |
| プライベートサブネットの数 | 0 |
| サブネット CIDR ブロックをカスタマイズ | 10.0.0.0/24 |
| NAT ゲートウェイ ($) | なし |
| VPC エンドポイント | なし |
| DNS ホスト名を有効化 | チェックを入れる |
| DNS 解決を有効化 | チェックをいれる |
パブリックサブネットを 1 つ持つメイン VPC (Main-vpc)を作成できました。

ピアリング VPC の作成
ピアリング先の VPC を作成します。
先ほどと同様に VPC コンソールから「VPC を作成」を選択し、以下のように指定し、VPC を作成します。
| 設定項目 | 値 |
|---|---|
| 作成するリソース | VPC など |
| 名前タグの自動生成 | Peering |
| IPv4 CIDR ブロック | 10.1.0.0/16 |
| IPv6 CIDR ブロック | IPv6 CIDR ブロックなし |
| テナンシー | デフォルト |
| アベイラビリティゾーン (AZ) の数 | 1 |
| AZ のカスタマイズ(第 1 アベイラビリティーゾーン) | ap-northeast-1a |
| パブリックサブネットの数 | 1 |
| プライベートサブネットの数 | 0 |
| サブネット CIDR ブロックをカスタマイズ | 10.1.0.0/24 |
| NAT ゲートウェイ ($) | なし |
| VPC エンドポイント | なし |
| DNS ホスト名を有効化 | チェックを入れる |
| DNS 解決を有効化 | チェックをいれる |
以下のようにパブリックサブネットを 1 つ持つピアリング先の VPC (Peering-vpc) を作成できました。

現在の状態
現在は、VPC を 2 つ作成したため以下の構成となっています。次項からこの 2 つの VPC を繋げるためのピアリング接続の設定をしていきます。

セミナー資料より画像引用
ピアリング接続の作成&承諾
VPC コンソール左側のナビゲーションペインから「ピアリング接続」を選び、「ピアリング接続を作成」します。

以下のように指定し、ピアリング接続を作成します。

ピアリング接続作成時のコンソール画面
| 設定項目 | 値 |
|---|---|
| 名前 | peering-handson |
| ピアリング接続するローカル VPC を選択 - VPC ID(リクエスタ) | Main-vpc |
| ピアリング接続するもう一方の VPC を選択 - アカウント | 自分のアカウント |
| ピアリング接続するもう一方の VPC を選択 - リージョン | このリージョン(ap-northeast-1) |
| VPC ID(アクセプタ) | Peering-vpc |
ピアリング接続を作成すると、ステータスが「承諾の保留中」となっていることが確認できます。

作成したピアリング接続を選び、アクションから「リクエストを承諾」します。

その結果、以下のようにステータスが "アクティブ" になり、VPC間のピアリング接続が確立されました。

ルートテーブルの修正
前項まででピアリング接続の作成ができたので、ルートテーブルにお互いの VPC へのルートを追加します。
-
Main VPC のルートテーブルに Peering VPC (10.1.0.0/16) のルートを追加

-
Peering VPC のルートテーブルに Main VPC (10.0.0.0/16) のルートを追加

現在の状態
ここまでの手順で以下のような VPC および VPCピアリングの作成が完了しました。次項より、各 VPC にリソースを作成し、お互いの疎通確認をしてしきます。

各 VPC にコンピューティングリソースを配置する
Peering VPC に EC2 インスタンスを作成
以下の設定で EC2 インスタンスを作成します。なお以下記載していない部分は全てデフォルト設定のままです。
作成する EC2 インスタンスにはログインする必要はないので、キーペアなしとしています。
また、Main VPC からの接続ができるよう EC2 のセキュリティグループのソースに Main VPC の CIDR を設定しています。
※各種名前などは適宜自分が分かりやすい名前に変えています。
| 設定項目 | 値 |
|---|---|
| 名前 | Peering |
| AMI | Amazon Linux 2023 |
| インスタンスタイプ | t2.micro |
| VPC | Peering-vpc |
| キーペア | キーペアなしで続行 |
| パブリック IP の自動割り当て | 無効化 |
| ファイアウォール (セキュリティグループ) | セキュリティグループを作成 |
| セキュリティグループ名 | handson-peering-ec2-sg |
| インバウンドセキュリティグループのルール | タイプ: すべてのトラフィック ソースタイプ: カスタム ソース: 10.0.0.0/16 |
| 高度なネットワーク設定 | プライマリ IP: 10.1.0.100 |
Cloud9 環境を作成
以下の設定で Cloud9 環境を作成します。設定を省いている部分は全てデフォルトのままにしています。
| 設定項目 | 値 |
|---|---|
| 名前 | handson |
| 環境タイプ | 新しい EC2 インスタンス |
| ネットワーク設定 | VPC: Main-vpc |
| サブネット | (作成したパブリックサブネットを指定) |
動作確認
前項までで、Main VPC に Cloud9 環境を作成し、Peering VPC に EC2 インスタンスを作成しました。
現在の構成としては以下になります。リソース自体は全て作成し終えたので、最後に Cloud9 から EC2 に疎通が取れるか確認します。

セミナー資料より画像引用
まず、Cloud9 環境の IP アドレスを確認します。「10.0.0.65/24」になっているので Main VPC にいることがわかります。
$ ip addr
...
2: enX0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc fq_codel state UP group default qlen 1000
link/ether 06:dd:46:24:cd:11 brd ff:ff:ff:ff:ff:ff
altname eni-0aeb8d34e9c480b9f
altname device-number-0.0
inet 10.0.0.65/24 metric 512 brd 10.0.0.255 scope global dynamic enX0
valid_lft 3351sec preferred_lft 3351sec
inet6 fe80::4dd:46ff:fe24:cd11/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
...
続いて、ping コマンドで Peering VPC の EC2 インスタンス (10.1.0.100/24) へ疎通が取れるか確認してみます。パケットが送信できているので、疎通できています。
$ ping 10.1.0.100
PING 10.1.0.100 (10.1.0.100) 56(84) bytes of data.
64 bytes from 10.1.0.100: icmp_seq=1 ttl=127 time=1.98 ms
64 bytes from 10.1.0.100: icmp_seq=2 ttl=127 time=1.47 ms
64 bytes from 10.1.0.100: icmp_seq=3 ttl=127 time=0.466 ms
64 bytes from 10.1.0.100: icmp_seq=4 ttl=127 time=1.08 ms
^C
--- 10.1.0.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3082ms
rtt min/avg/max/mdev = 0.466/1.250/1.982/0.553 ms
終わりに
今回は Amazon VPC間およびAmazon VPCとオンプレミスのプライベートネットワーク接続をやってみました。
ピアリング接続の使い方など基礎的な部分から動画で学べるため、初心者にはかなり有難いセミナーだと思います。
次回はサイト間 VPN の方も実践していきます!
参考情報







