VPCピアリングによるVPC間接続

VPCピアリングのプライベート接続、ルートと通信許可の設定、CIDR重複や推移的ルーティングの制約、Transit Gatewayとの使い分けを解説します。

学習順Step 67 / 101サービスネットワーク試験ドメイン開発

VPCピアリングによるVPC間接続

Amazon VPCピアリングは、2つのVPCのネットワークを直接接続する機能です。接続後は、各VPCにあるリソースがプライベートIPアドレスを宛先として相互に通信できます。パブリックIPアドレスやインターネットゲートウェイを通信経路に使わず、AWSのネットワークを通してVPC間を結びます。

たとえば、分析用VPCから別のアカウントで運用する注文管理VPCのデータベースへ接続したい場合、ピアリングを使えばプライベートアドレスで経路を構成できます。ピアリング接続はVPC同士のネットワーク経路を提供するもので、アプリケーション認証やデータ暗号化、ファイアウォールの許可設定を代行するものではありません。必要に応じてTLSなどの暗号化をアプリケーション側で行い、セキュリティグループなどで接続元とポートを制限します。

接続の構成

ピアリング接続は、要求元VPCと接続先VPCの間に1つ作成します。同じリージョン内だけでなく、異なるAWSリージョン間でも作成でき、所有アカウントが異なるVPCも接続対象になります。アカウントやリージョンをまたぐ場合、接続の作成・承認には両側の識別情報と適切な権限が必要です。

VPCピアリングによるVPC間の直接接続と、接続を中継できない構成

各VPCは独立したネットワークであり、ピアリングによって統合された単一のVPCになるわけではありません。VPCの所有者、サブネット、ルートテーブル、セキュリティ設定はそれぞれ個別に管理します。ピアリング接続は物理的なネットワーク機器に依存せず、単一の専用ハードウェア装置が故障して接続全体の単一障害点になる構成ではありません。

通信を成立させるための設定

ピアリング接続が作成されても、VPC内のリソース間で自動的に通信が始まるわけではありません。送信元と宛先の両側で、経路と許可をそろえる必要があります。

  1. アドレス範囲を確認する:接続するVPCのIPv4 CIDRブロックが重複していないことを確認します。
  2. ピアリング接続を作成して有効化する:要求元VPCと接続先VPCを指定し、必要な場合は接続先の所有者が承認します。
  3. ルートを追加する:通信元のサブネットに適用されるルートテーブルへ、相手VPCのCIDRを宛先、ピアリング接続をターゲットとするルートを追加します。戻り通信のため、相手側にも反対方向のルートを追加します。
  4. 通信を許可する:セキュリティグループ、ネットワークACL、ホストファイアウォール、アプリケーションの待ち受け設定が対象の通信を許可していることを確認します。
  5. 名前解決が必要なら別途設定する:プライベートIPアドレスを直接指定する以外に、EC2のパブリックDNSホスト名をピア先からプライベートIPアドレスへ解決させるには、ピアリング接続のDNS解決オプションなどを要件に合わせて設定します。

経路設定では、ルートテーブルの宛先を相手VPCのアドレス範囲に一致させます。経路がなければパケットはピアリング接続へ送られず、片側だけにルートを設定しても応答が戻れないことがあります。サブネットが異なるルートテーブルを使っている場合は、通信するサブネットに実際に関連付けられたテーブルを確認します。

ネットワークACLはステートレスなので、往路・復路のルールを個別に許可する必要があります。セキュリティグループはステートフルですが、接続先のセキュリティグループが必要なポートを許可していることは確認します。ピアリングは通信経路を用意する機能であり、相手側のセキュリティ設定を自動で変更しません。

CIDRが重複するVPCは接続できない

VPCピアリングでは、接続するVPCのIPv4 CIDRブロックが重複しているとピアリング接続を作成できません。ルーターが宛先アドレスを見たとき、同じIP範囲がローカルネットワークと接続先の双方に存在すると、どちらへ送るべきか判断できないためです。

VPCを増やす計画がある組織では、個々のVPCだけでなく、既存VPC、オンプレミスネットワーク、将来の接続先も含めてCIDRを割り当てます。ピアリング以外の接続方式を後から採用する場合も、重複したアドレスはルーティングや移行を難しくします。アドレス設計は、ネットワークを接続する前に組織全体で管理します。

推移的な通信はできない

VPCピアリングは推移的なルーティングを提供しません。あるVPCが別のVPCとピアリングしていても、その接続先を中継点としてさらに別のネットワークへ通信を転送することはできません。

たとえば、開発VPCと共有サービスVPC、共有サービスVPCとログ保管VPCをそれぞれピアリングで結んでも、開発VPCから共有サービスVPCを経由してログ保管VPCへ自動的に到達するわけではありません。開発VPCとログ保管VPCを通信させるには、両者間にも個別のピアリング接続とルートを設定します。

同じ制約は、ピア先VPCを介してVPN接続やAWS Direct Connect、インターネットゲートウェイ、NATデバイスを利用し、第三のネットワークへ接続する構成にも当てはまります。VPCエンドポイントを持つVPCにピアリングしても、そのエンドポイントをピア先から中継利用することはできません。ピアリングは「二つのVPC間を結ぶ」接続であり、他の接続経路を共有するハブとしては使えません。

VPCピアリングとTransit Gatewayの選択

接続するVPCが少なく、VPC同士を個別に結ぶ要件にはピアリングが適します。設定する接続とルートが明確で、二者間の通信を独立して管理できます。一方、複数のVPCを相互接続する場合、ピアリングでは接続数が増え、接続ごとにルートや変更を管理する必要があります。

多数のVPCやオンプレミスネットワークを共通のハブへ接続し、中央のルーティングポリシーで通信を管理する要件では、AWS Transit Gatewayを検討します。Transit Gatewayはルートを中継する設計を可能にしますが、アタッチメント、ルートテーブル、分離要件、料金などを設計する必要があります。VPCピアリングとTransit GatewayはどちらもVPC間接続に使えますが、接続数とルーティング方式に応じて選びます。

要件 検討する方式
少数のVPC間を個別に接続する VPCピアリング
2つのVPC間をプライベートIPアドレスで直接通信させる VPCピアリング
複数VPCやオンプレミス接続をハブへ集約する AWS Transit Gateway
ピアリング済みのVPCを経由して第三のネットワークへ接続する ピアリングでは実現できないため、Transit Gatewayなどの経路設計を検討する

コストと設計時の確認

ピアリング接続の利用では、通信の送信元と送信先のリージョンやデータ転送量などに応じて料金が発生する場合があります。特にリージョン間通信の料金条件はリージョンの組み合わせなどで異なるため、利用開始前にAWSのVPC料金ページで最新情報を確認します。固定の料金額ではなく、接続パターンと転送量をもとに見積もります。

設計時は、次の点をまとめて確認してください。

  • 接続するVPCのIPv4アドレス範囲が重複していない。
  • 同一リージョンか異なるリージョンか、同一アカウントか別アカウントかを把握し、作成・承認の担当を決めている。
  • 双方向のルートを、通信に使う各サブネットのルートテーブルへ設定している。
  • セキュリティグループ、ネットワークACL、OS、アプリケーションの各層で必要な通信を許可している。
  • ピア先を介した第三ネットワークへの中継が必要かどうかを確認し、必要ならTransit Gatewayなどを選んでいる。
  • リージョン間データ転送を含む通信コストを確認している。

学習の要点

  • VPCピアリングは2つのVPCをAWSネットワーク上で直接接続し、プライベートIPアドレスによる通信経路を提供する。
  • 同じリージョンやアカウントに限らず、異なるリージョン間・異なるアカウント間のVPCも接続できる。
  • IPv4 CIDRの重複するVPC間にはピアリングを作成できない。VPC全体と接続先のアドレス設計が前提となる。
  • ピアリングを有効化しただけでは通信できない。両側のルートテーブルに経路を設定し、セキュリティグループなどでも必要な通信を許可する。
  • 接続は推移的ではない。ピア先を中継して別VPC、VPN、Direct Connect、インターネットゲートウェイ、NATデバイス、VPCエンドポイントへ到達することはできない。
  • 個別のVPC間接続にはピアリング、多数のネットワークをハブへ接続する要件にはTransit Gatewayを検討する。
  • プライベート経路はパブリックIPアドレスを使わない接続を実現するが、アプリケーション暗号化や通信許可ルールは別に設計する。

公式ドキュメント

重要ポイント

  • ▸VPCピアリングは2つのVPCをAWSネットワーク上で直接接続し、各VPCのプライベートIPアドレス間の通信を可能にする
  • ▸同一リージョン・異なるリージョン、同一アカウント・異なるアカウントのVPC間で作成できる
  • ▸接続するVPCのIPv4 CIDRブロックは重複できず、ピアリング接続を作っただけでは通信できないため両側のルートと通信許可が必要
  • ▸ピアリング接続は推移的ではなく、接続先VPCのVPN、Direct Connect、インターネットゲートウェイ、NATデバイス、VPCエンドポイントを中継利用できない
  • ▸VPCピアリングは個別のVPC間接続に適し、多数のVPCをハブ経由で接続する要件にはTransit Gatewayなどを検討する

このトピックの学習を完了しますか?

完了状態はいつでも切り替えられます