はじめに
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 ~]$
コメント