[新機能]リージョン間のVPCピアリング「Inter-Region VPC Peering」がリリースされました! #reinvent

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

まいどおおきに、大阪の市田です。
遂に、皆が待ち焦がれたリージョン間のVPCピアリングができるようになりました!!

概要

これまでは異なるリージョンのEC2やRDSにプライベートに接続したい場合は、どちらかのリージョンに別途VPN用のインスタンスを作成する必要がありました。

今回の機能追加により、従来のVPCピアリングと同じように異なるリージョン間でプライベート接続が可能になりました。

Announcement: Announcing Support for Inter-Region VPC Peering

特徴

アナウンスにあるように以下のようなポイントがあります。基本的にはこれまでのVPCピアリングと変わりません。

  • 単一障害点や帯域幅のボトルネックがない
  • リージョン間のトラフィックを暗号化
  • トラフィックは常にグローバルなAWSバックボーンを経由する
  • パブリックインターネットを通過しないので一般的な攻撃やDDoS攻撃などの軽減
  • 標準のリージョン間データ転送レートによる課金

利用可能なリージョン

現時点では下記リージョンで利用可能です。それ以外のリージョンでは作成できません。

例えば、バージニアリージョンと東京リージョンで作成したい場合、東京リージョンは未対応の為、ピアリングを作成できません。
今後のアップデートで利用できるようになると思います。楽しみですね。

  • US East (Virginia)
  • US East (Ohio)
  • US West (Oregon)
  • EU (Ireland)

やってみた

それでは、バージニアとオハイオのリージョン間でVPCピアリングを作成してみましょう。コンソールから「Peering Connections」をクリックします。

00-peering-menu

接続したいVPCを指定します。接続先のVPCで「Another region」から他のリージョンを指定できます。一覧には東京リージョンなども入っていますが、対応していないリージョンを選択するとピアリング作成時に失敗します。

今回はバージニアリージョン(10.0.0.0/16)からオハイオリージョンのVPC(172.31.0.0/16)にリクエストを送ることにします。

01-create

ピアリングの作成が完了しました。

02-sucess

下記のようにステータスがリクエストの承認待ちになっています。

03-pending

それではリクエストを受けたオハイオリージョンのVPCにてリクエストを承認します。

04-accept

「Yes, Accept」をクリックしましょう。

05-yes

次に、各VPCのルートテーブルで経路を追加しておきましょう。
オハイオ側のルートテーブルにバージニアリージョン(10.0.0.0/16)への経路を追加します。宛先は作成したピアリングを指定してください。

07-route-table-requester

バージニア側のルートテーブルも同様に行います。

08-route-table-accepter

確認

それぞれのVPCにインスタンスを作成して確認してみます。バージニア側のEC2インスタンスは下記です。

09-virgini-ec2

オハイオ側のインスタンスは下記の通り作成しました。

10-ohio-ec2

今回はオハイオ側からpingで確認を行ったので、バージニア側のセキュリティグループを下記のように許可しました。

11-sg-virginia

オハイオ側から疎通できるか確認してみます。

[ec2-user@ip-172-31-11-104 ~]$ ping 10.0.3.48
PING 10.0.3.48 (10.0.3.48) 56(84) bytes of data.
64 bytes from 10.0.3.48: icmp_seq=1 ttl=255 time=12.2 ms
64 bytes from 10.0.3.48: icmp_seq=2 ttl=255 time=12.3 ms
64 bytes from 10.0.3.48: icmp_seq=3 ttl=255 time=12.2 ms
64 bytes from 10.0.3.48: icmp_seq=4 ttl=255 time=12.3 ms
64 bytes from 10.0.3.48: icmp_seq=5 ttl=255 time=12.2 ms
64 bytes from 10.0.3.48: icmp_seq=6 ttl=255 time=12.2 ms
64 bytes from 10.0.3.48: icmp_seq=7 ttl=255 time=12.2 ms
^C
--- 10.0.3.48 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6008ms
rtt min/avg/max/mdev = 12.241/12.286/12.319/0.120 ms
[ec2-user@ip-172-31-11-104 ~]$

プライベートIPで対向リージョンのインスタンスにアクセスできました。

最後に

VPNインスタンスの作成や運用はなかなか辛いと思いますので、是非試してみて頂ければと思います。

以上です。