AWSでVPCピアリングをやってみた

スポンサーリンク

はじめに

VPCピアリングの機能検証です。

VPCピアリングは2つのVPC間のネットワークを接続することができます。接続したVPC間はトラフィックをルーティングできるためVPC内のインスタンスは相互に通信可能です。

目的

プライベートサブネットに配置したEC2インスタンス通しをお互いに通信できるようにします。

環境

手順

手順は大きく6つあります。それぞれ順番に説明していきます。

VPCの作成
サブネットの作成
インターネットゲートウェイの設定
ネットワークACLの設定
ルートテーブルの設定
EC2インスタンスの作成

VPCの作成

VPCを作成します。
名前タグ:Test-VPC1
IPv4 CIDR ブロック:10.0.0.0/16
IPv6 CIDR ブロック:IPv6 CIDR ブロックなし
テナンシー:デフォルト
「VPCを作成」ボタンをクリックします。

もう1つVPCを作成します。
名前タグ:Test-VPC2
IPv4 CIDR ブロック:172.16.0.0/16
IPv6 CIDR ブロック:IPv6 CIDR ブロックなし
テナンシー:デフォルト
「VPCを作成」ボタンをクリックします。

サブネットの作成

左サイドバーから「サブネット」をクリックします。
「サブネットを作成」ボタンをクリックします。
VPC ID:Test-VPC1
サブネット名:Test-Subnet-Public1
アベイラビリティゾーン:アジアパシフィック(東京)/ap-northeast-1a
IPv4 CIDR ブロック:10.0.1.0/24
「サブネットを作成」ボタンをクリックします。

「サブネットを作成」ボタンをクリックします。
VPC ID:Test-VPC1
サブネット名:Test-Subnet-Private1
アベイラビリティゾーン:アジアパシフィック(東京)/ap-northeast-1a
IPv4 CIDR ブロック:10.0.2.0/24
「サブネットを作成」ボタンをクリックします。

「サブネットを作成」ボタンをクリックします。
VPC ID:Test-VPC2
サブネット名:Test-Subnet-Private2
アベイラビリティゾーン:アジアパシフィック(東京)/ap-northeast-1c
IPv4 CIDR ブロック:172.16.2.0/24
「サブネットを作成」ボタンをクリックします。

インターネットゲートウェイの設定

左サイドバーから「インターネットゲートウェイ」をクリックします。
「インターネットゲートウェイの作成」ボタンをクリックします。
以下の通り入力します。
名前タグ:Test-InternetGateway
「インターネットゲートウェイの作成」ボタンをクリックします。
「アクション」ボタンから「VPCにアタッチ」をクリックします。
使用可能な VPCは、「Test-VPC1」を選択します。
「インターネットゲートウェイのアタッチ」ボタンをクリックします。

EC2インスタンスの作成

EC2サービスにアクセスします。
「インスタンスを起動」ボタンから「インスタンスを起動」をクリックします。
「Amazon Linux 2 AMI (HVM), SSD Volume Type」の「64 ビット (x86)」にチェックを入れます。「選択」ボタンをクリックします。
タイプは「t2.micro」にチェックが入っていることを確認し「次のステップ:インスタンスの詳細の設定」ボタンをクリックします。
以下の通り入力します。
ネットワーク:Test-VPC1
サブネット:Test-Subnet-Public1
自動割り当てパブリック IP:有効
「次のステップ:ストレージの追加」ボタンをクリックします。
「次のステップ:タグの追加」ボタンをクリックします。
「次のステップ:セキュリティグループの設定」ボタンをクリックします。
「ルールの追加」ボタンをクリックします。
タイプ:すべてのICMP - IPv4
ソース:カスタム 0.0.0.0/0
「確認と作成」ボタンをクリックします。
「起動」ボタンをクリックします。
キーペアはすでに作成済みなら既存、未作成なら新規に作成します。
「インスタンスの作成」ボタンをクリックします。

EC2サービスにアクセスします。
「インスタンスを起動」ボタンから「インスタンスを起動」をクリックします。
「Amazon Linux 2 AMI (HVM), SSD Volume Type」の「64 ビット (x86)」にチェックを入れます。「選択」ボタンをクリックします。
タイプは「t2.micro」にチェックが入っていることを確認し「次のステップ:インスタンスの詳細の設定」ボタンをクリックします。
以下の通り入力します。
ネットワーク:Test-VPC1
サブネット:Test-Subnet-Private1
自動割り当てパブリック IP:サブネット設定を使用(無効)
「次のステップ:ストレージの追加」ボタンをクリックします。
「次のステップ:タグの追加」ボタンをクリックします。
「次のステップ:セキュリティグループの設定」ボタンをクリックします。
「ルールの追加」ボタンをクリックします。
タイプ:すべてのICMP - IPv4
ソース:カスタム 0.0.0.0/0
「確認と作成」ボタンをクリックします。
「起動」ボタンをクリックします。
キーペアはすでに作成済みなら既存、未作成なら新規に作成します。
「インスタンスの作成」ボタンをクリックします。

EC2サービスにアクセスします。
「インスタンスを起動」ボタンから「インスタンスを起動」をクリックします。
「Amazon Linux 2 AMI (HVM), SSD Volume Type」の「64 ビット (x86)」にチェックを入れます。「選択」ボタンをクリックします。
タイプは「t2.micro」にチェックが入っていることを確認し「次のステップ:インスタンスの詳細の設定」ボタンをクリックします。
以下の通り入力します。
ネットワーク:Test-VPC2
サブネット:Test-Subnet-Private2
自動割り当てパブリック IP:サブネット設定を使用(無効)
「次のステップ:ストレージの追加」ボタンをクリックします。
「次のステップ:タグの追加」ボタンをクリックします。
「次のステップ:セキュリティグループの設定」ボタンをクリックします。
「ルールの追加」ボタンをクリックします。
タイプ:すべてのICMP - IPv4
ソース:カスタム 0.0.0.0/0
「確認と作成」ボタンをクリックします。
「起動」ボタンをクリックします。
キーペアはすでに作成済みなら既存、未作成なら新規に作成します。
「インスタンスの作成」ボタンをクリックします。

ピアリングの設定

左サイドバーから「ピアリング接続」をクリックします。
「ピアリング接続の作成」ボタンをクリックします。
ピアリング接続ネームタグ:Test-PeeringConnection
VPC (リクエスタ):Test-VPC1
アカウント:自分のアカウント
リージョン:このリージョン
VPC (アクセプタ):Test-VPC2
「ピアリング接続の作成」ボタンをクリックします。

「アクション」ボタンから「リクエストの承諾」をクリックします。
「はい、承諾する」ボタンをクリックします。
「閉じる」ボタンをクリックします。

ルートテーブルの設定

デフォルトゲートウェイの追加

左サイドバーから「ルートテーブル」をクリックします。
VPC IDに「Test-VPC1」が入っている項目を選択します。
「ルート」タブをクリックします。
「ルートの編集」ボタンをクリックします。
「ルートの追加」ボタンをクリックします。
以下の通り入力します。
送信先:0.0.0.0/0
ターゲット:InternetGateway(Test-InternetGateway)
「ルートの保存」ボタンをクリックします。
「閉じる」ボタンをクリックします。

Test-Subnet-Private1からTest-Subnet-Private2の経路を追加

左サイドバーから「ルートテーブル」をクリックします。
Test-VPC1のルートテーブルを選択します。
(VPCの詳細タブの中にあるメインルートテーブルを確認して下さい)
ルートタブをクリックします。
「ルートの編集」ボタンをクリックします。
「ルートの追加」ボタンをクリックします。
送信先:172.16.2.0/24
ターゲット:Peering Connection(Test-PeeringConnection)
「ルートの保存」ボタンをクリックします。

Test-Subnet-Private2からTest-Subnet-Private1の経路を追加

Test-VPC2のルートテーブルを選択します。
(VPCの詳細タブの中にあるメインルートテーブルを確認して下さい)
ルートタブをクリックします。
「ルートの編集」ボタンをクリックします。
「ルートの追加」ボタンをクリックします。
送信先:10.0.2.0/24
ターゲット:Peering Connection(Test-PeeringConnection)
「ルートの保存」ボタンをクリックします。

動作確認

プライベートサブネットのEC2インスタンス(10.0.2.46)にSSHで接続します。接続先のEC2インスタンス(172.16.2.118)にPingを打ちます。疎通確認できました。

[ec2-user@ip-10-0-2-46 ~]$ ping 172.16.2.118
PING 172.16.2.118 (172.16.2.118) 56(84) bytes of data.
64 bytes from 172.16.2.118: icmp_seq=1 ttl=255 time=2.60 ms
64 bytes from 172.16.2.118: icmp_seq=2 ttl=255 time=2.59 ms
64 bytes from 172.16.2.118: icmp_seq=3 ttl=255 time=2.69 ms

接続先のEC2インスタンス(172.16.2.118)にSSHで接続できることも確認できました。

[ec2-user@ip-10-0-2-46 ~]$ ssh ec2-user@172.16.2.118 -i myprivatekey.pem
Last login: Mon Feb 15 19:59:03 2021 from 10.0.2.46

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

Security-Focused, High-Performance Linux Environment – Amazon Linux 2 – AWS
[ec2-user@ip-172-16-2-118 ~]$

コメント