特定のルートを使用する VPC ピアリング設定 - Amazon Virtual Private Cloud

特定のルートを使用する VPC ピアリング設定

VPC ピア接続を設定して、CIDR ブロックの一部、特定の CIDR ブロック (VPC に複数の CIDR ブロックがある場合)、またはピア VPC 内の特定のインスタンスへのアクセスを許可できます。この例では、中央 VPC は CIDR ブロックが重複する複数の VPC にピアリング接続されます。特定の VPC ピアリング接続設定が必要になる可能性があるシナリオの例については、「VPC ピアリング接続のシナリオ」を参照してください。VPC ピアリング接続を作成して作業する方法の詳細については、「VPC ピア接続を操作する」を参照してください。ルートテーブルの更新の詳細については、「VPC ピアリング接続のルートテーブルを更新する」を参照してください。

2 つの VPC が 1 つの VPC の 2 つのサブネットにピアリング接続

中央 VPC (VPC A) があり、VPC A と VPC B の間 (pcx-aaaabbbb)、VPC A と VPC C の間 (pcx-aaaacccc) で VPC ピアリング接続を行います。VPC A は、サブネットを VPC ピアリング接続ごとに 1 つ、計 2 つ持ちます。


                    2 つの VPC が 1 つの VPC の 2 つのサブネットにピアリング接続

サブネットが異なりリソースセットも異なる中央 VPC がある場合に、この設定を使用します。その他の VPC はリソースの一部にアクセスする必要がありますが、すべてのリソースにアクセスする必要はありません。

サブネット 1 のルートテーブルは、VPC B の CIDR ブロック全体にアクセスする VPC ピアリング接続 pcx-aaaabbbb を指します。VPC B のルートテーブルは、VPC A のサブネット 1 のみの CIDR ブロックにアクセスする pcx-aaaabbbb を指します。同様に、サブネット 2 のルートテーブルは、VPC C の CIDR ブロック全体にアクセスする VPC ピアリング接続 pcx-aaaacccc を指します。VPC C のルートテーブルは、VPC A のサブネット 2 のみの CIDR ブロックにアクセスする pcx-aaaacccc を指します。

ルートテーブル 送信先 ターゲット
VPC A のサブネット 1 VPC A CIDR [Local] (ローカル)
VPC B CIDR pcx-aaaabbbb
VPC A のサブネット 2 VPC A CIDR [Local] (ローカル)
VPC C CIDR pcx-aaaacccc
VPC B VPC B CIDR [Local] (ローカル)
サブネット 1 CIDR pcx-aaaabbbb
VPC C VPC C CIDR [Local] (ローカル)
サブネット 2 CIDR pcx-aaaacccc

この設定は複数の CIDR ブロックに拡張できます。VPC A と VPC BB に IPv4 CIDR ブロックと IPv6 CIDR ブロックの両方があり、サブネット 1 には IPv6 CIDR ブロックが関連付けられているとします。VPC ピアリング接続を使用して、IPv6 を介して VPC A のサブネット 1 と VPC B との通信を有効にできます。これを行うには、VPC A のルートテーブルに VPC B の IPv6 CIDR ブロックの宛先ルートを追加し、VPC B のルートテーブルに VPC A のサブネット 1 の IPv6 CIDR の宛先ルートを追加します。

ルートテーブル 送信先 ターゲット メモ
VPC A のサブネット 1 VPC A IPv4 CIDR [Local] (ローカル)
VPC A IPv6 CIDR [Local] (ローカル) VPC 内の IPv6 通信に対して自動的に追加されるローカルルートです。
VPC B IPv4 CIDR pcx-aaaabbbb
VPC B IPv6 CIDR pcx-aaaabbbb VPC B の IPv6 CIDR ブロックへのルートです。
VPC A のサブネット 2 VPC A IPv4 CIDR [Local] (ローカル)
VPC A IPv6 CIDR [Local] (ローカル) VPC 内の IPv6 通信に対して自動的に追加されるローカルルートです。
VPC C IPv4 CIDR pcx-aaaacccc
VPC B VPC B IPv4 CIDR [Local] (ローカル)
VPC B IPv6 CIDR [Local] (ローカル) VPC 内の IPv6 通信に対して自動的に追加されるローカルルートです。
サブネット 1 IPv4 CIDR pcx-aaaabbbb
サブネット 2 IPv4 CIDR pcx-aaaabbbb VPC A の IPv6 CIDR ブロックへのルートです。
VPC C VPC C IPv4 CIDR [Local] (ローカル)
サブネット 2 IPv4 CIDR pcx-aaaacccc

1 つの VPC 内の 2 つの異なる CIDR ブロックにピアリング接続した 2 つの VPC

中央 VPC (VPC A) があり、VPC A と VPC B の間 (pcx-aaaabbbb)、VPC A と VPC C の間 (pcx-aaaacccc) で VPC ピアリング接続を行います。VPC A は、CIDR ブロックを VPC ピアリング接続ごとに 1 つ、計 2 つ持ちます。

ルートテーブル 送信先 ターゲット
VPC A VPC A CIDR 1 [Local] (ローカル)
VPC A CIDR 2 [Local] (ローカル)
VPC B CIDR pcx-aaaabbbb
VPC C CIDR pcx-aaaacccc
VPC B VPC B CIDR [Local] (ローカル)
VPC A CIDR 1 pcx-aaaabbbb
VPC C VPC C CIDR [Local] (ローカル)
VPC A CIDR 2 pcx-aaaacccc

1 つの VPC が 2 つの VPC の特定のサブネットにピアリング接続

サブネットを 1 つ持つ中央 VPC (VPC A) があり、VPC A と VPC B の間 (pcx-aaaabbbb)、VPC A と VPC C の間 (pcx-aaaacccc) で VPC ピアリング接続を行います。VPC B と VPC C はそれぞれサブネットを 2 つ持ち、それぞれ 1 つのみが VPC A とのピアリング接続に使用されます。


          1 つの VPC が 2 つのサブネットにピア接続

Active Directory サービスなど、他の VPC がアクセスする必要のある単一のリソースセットを持つ中央 VPC がある場合に、この設定を使用します。中央 VPC は、ピアリング接続された VPC にフルアクセスする必要はありません。

VPC A のルートテーブルは、VPC B および VPC C の特定のサブネットのみにアクセスする両方の VPC ピアリング接続を指します。VPC B および VPC C のサブネットのルートテーブルは、VPC A のサブネットにアクセスする VPC ピアリング接続を指します。

ルートテーブル 送信先 ターゲット
VPC A VPC A CIDR [Local] (ローカル)
VPC B CIDR のサブネット 1 pcx-aaaabbbb
VPC C CIDR のサブネット 2 pcx-aaaacccc
VPC B のサブネット 1 VPC B CIDR [Local] (ローカル)
VPC A CIDR のサブネット pcx-aaaabbbb
VPC C のサブネット 2 VPC C CIDR [Local] (ローカル)
VPC A CIDR のサブネット pcx-aaaacccc

レスポンストラフィックのルーティング

CIDR ブロックが重複または一致する複数の VPC にピアリング接続された VPC がある場合は、自分の VPC から間違った VPC にレスポンストラフィックを送信しないようにルートテーブルが設定されていることを確認します。AWS は現在、パケットのソース IP を確認してリプライパケットをソースにルーティングするユニキャストリバースパス転送 (uRPF) を VPC ピアリング接続でサポートしていません。

たとえば、VPC A は VPC B と VPC C にピアリング接続されます。VPC B と VPC C は CIDR ブロックが一致し、そのサブネットは CIDR ブロックが一致しています。VPC B のサブネット 2 のルートテーブルは、VPC A のサブネットにアクセスする VPC ピアリング接続 pcx-aaaabbbb を指します。VPC A のルートテーブルは、VPC CIDR 宛のトラフィックをピアリング接続 pcx-aaaaccccc に送信するように設定されています。

ルートテーブル 送信先 ターゲット
VPC B のサブネット 2 VPC B CIDR [Local] (ローカル)
VPC A CIDR のサブネット pcx-aaaabbbb
VPC A VPC A CIDR [Local] (ローカル)
VPC C CIDR pcx-aaaacccc

VPC B のサブネット 2 のインスタンスが、VPC ピアリング接続 pcx-aaaabbbb を使用して VPC A の Active Directory サーバーにトラフィックを送信するとします。VPC A はレスポンストラフィックを Active Directory サーバーに送信します。ただし、VPC A ルートテーブルは、VPC CIDR 範囲内のすべてのトラフィックを、VPC ピアリング接続 pcx-aaaacccc に送信するよう設定されています。VPC C のサブネット 2 に VPC B のサブネット 2 内のインスタンスと同じ IP アドレスを持つインスタンスがある場合、VPC A からレスポンストラフィックを受信します。VPC B のサブネット 2 は、VPC A へのリクエストに対するレスポンスを受信しません。

これを防ぐには、送信先を VPC B のサブネット 2 の CIDR、ターゲットを pcx-aaaabbbb として特定のルートを VPC A のルートテーブルに追加できます。新しいルートはより具体的であるため、サブネット 2 CIDR 宛のトラフィックは VPC ピアリング接続 pcx-aaaabbbb にルーティングされます。

または、次の例で、VPC A ルートテーブルには、各 VPC ピアリング接続の各サブネット用のルートがあります。VPC A は、VPC B のサブネット B および VPC C のサブネット A と通信できます。このシナリオは、VPC B および VPC C と同じアドレス範囲内にある、別のサブネットとの別の VPC ピアリング接続を追加する必要があるときに便利です。その特定のサブネット用に別のルートを追加するだけです。

送信先 ターゲット
VPC A CIDR [Local] (ローカル)
サブネット 2 CIDR pcx-aaaabbbb
サブネット 1 CIDR pcx-aaaacccc

または、ユースケースに応じて、VPC B の特定の IP アドレスへのルートを作成して、トラフィックが正しいサーバーに戻されるようにします (ルートテーブルでは、プレフィックス最長一致を使用して、ルートの優先順位が決定されます)。

送信先 ターゲット
VPC A CIDR [Local] (ローカル)
サブネット 2 の特定の IP アドレス pcx-aaaabbbb
VPC B CIDR pcx-aaaacccc

1 つの VPC のインスタンスが 2 つの VPC のインスタンスにピアリング接続

サブネットを 1 つ持つ中央 VPC (VPC A) があり、VPC A と VPC B の間 (pcx-aaaabbbb)、VPC A と VPC C の間 (pcx-aaaacccc) で VPC ピアリング接続を行います。VPC A にはサブネットが 1 つあり、ピアリング接続された VPC それぞれに 1 つのインスタンスがあります。特定のインスタンスに対するピアトラフィックを制限する場合に、この設定を使用できます。


                    1 つの VPC のインスタンスが 2 つの VPC のインスタンスにピアリング接続

各 VPC のルートテーブルは、ピア VPC の単一の IP アドレス (つまり特定のインスタンス) にアクセスする該当する VPC ピアリング接続を指します。

ルートテーブル 送信先 ターゲット
VPC A VPC A CIDR [Local] (ローカル)
インスタンス 3 の IP アドレス pcx-aaaabbbb
インスタンス 4 の IP アドレス pcx-aaaacccc
VPC B VPC B CIDR [Local] (ローカル)
インスタンス 1 の IP アドレス pcx-aaaabbbb
VPC C VPC C CIDR [Local] (ローカル)
インスタンス 2 の IP アドレス pcx-aaaacccc

1 つの VPC がプレフィックス最長一致を使用して 2 つの VPC とピアリング接続

サブネットを 1 つ持つ中央 VPC (VPC A) があり、VPC A と VPC B の間 (pcx-aaaabbbb) で VPC ピアリング接続、VPC A と VPC C の間 (pcx-aaaacccc) で VPC ピアリング接続を行います。VPC B および VPC C の CIDR ブロックが一致しています。VPC ピアリング接続 pcx-aaaabbbb を使用して VPC B の特定のインスタンスと VPC A とのトラフィックをルーティングしようとしています。VPC B と VPC C で共有される CIDR アドレスの範囲が宛先であるその他のトラフィックはすべて、pcx-aaaacccc を経由して VPC C にルーティングされます。


                    プレフィックス最長一致を使用したピアリング接続

VPC のルートテーブルは、プレフィックス最長一致を使用して、目的の VPC ピアリング接続で最も具体的なルートを選択します。その他のすべてのトラフィックは、次に一致するルート、今回の場合は VPC ピアリング接続 pcx-aaaacccc を経由してルーティングします。

ルートテーブル 送信先 ターゲット
VPC A VPC A CIDR ブロック [Local] (ローカル)
インスタンス X の IP アドレス pcx-aaaabbbb
VPC C CIDR ブロック pcx-aaaacccc
VPC B VPC B CIDR ブロック [Local] (ローカル)
VPC A CIDR ブロック pcx-aaaabbbb
VPC C VPC C CIDR ブロック [Local] (ローカル)
VPC A CIDR ブロック pcx-aaaacccc
重要

VPC B のインスタンス X 以外のインスタンスが VPC A にトラフィックを送信すると、レスポンストラフィックが VPC B の代わりに VPC C にルーティングされる可能性があります。詳細については、「レスポンストラフィックのルーティング」を参照してください。

多重 VPC 設定

この例の場合、中央 VPC (VPC A) はスポーク設定で多数の VPC とピアリング接続されています。また、3 つの VPC (VPC X、Y、Z) がフルメッシュ設定でピアリング接続されています。

VPC D には、VPC X との VPC ピアリング接続も設定されています (pcx-ddddxxxx)。VPC A と VPC X は CIDR ブロックが重複しています。これは、VPC A と VPC D の間のピアリングトラフィックが VPC D の特定のサブネット (サブネット 2) に制限されることを意味します。このため、VPC D が VPC A または VPC X からリクエストを受け取った場合、正しい VPC にレスポンストラフィックが返されます。AWS は現在、パケットのソース IP を確認してリプライパケットをソースにルーティングするユニキャストリバースパス転送 (uRPF) を VPC ピアリング接続でサポートしていません。詳細については、「レスポンストラフィックのルーティング」を参照してください。

同様に、VPC D と VPC Z は CIDR ブロックが重複しています。VPC D と VPC X の間のピアトラフィックは VPC D のサブネット 2 に制限され、VPC X と VPC Z の間のピアトラフィックは VPC Z のサブネット 1 に制限されます。これは、VPC X が VPC D または VPC Z からピアトラフィックを受け取った場合に、正しい VPC にレスポンストラフィックを送り返すようにするためです。


                    多重ピア設定

VPC B、C、E、F、G のルートテーブルは、VPC A の CIDR ブロック全体にアクセスする該当するピアリング接続を指します。VPC A のルートテーブルは、VPC B、C、E、F、G それぞれの CIDR ブロック全体にアクセスする該当するピアリング接続を指します。ピアリング接続 pcx-aaaadddd の場合、VPC A のルートテーブルは VPC D のサブネット 1 に対するトラフィックのみをルーティングし、VPC D のサブネット 1 のルートテーブルは VPC A の CIDR ブロック全体を指します。

VPC Y のルートテーブルは VPC X と VPC Z の CIDR ブロック全体にアクセスする該当するピアリング接続を指し、VPC Z のルートテーブルは VPC Y の CIDR ブロック全体にアクセスする該当するピアリング接続を指します。VPC Z のサブネット 1 のルートテーブルは VPC Y の CIDR ブロック全体にアクセスする該当するピアリング接続を指します。VPC X のルートテーブルは VPC D のサブネット 2 と VPC Z のサブネット 1 にアクセスする該当するピアリング接続を指します。

ルートテーブル 送信先 ターゲット
VPC A VPC A CIDR [Local] (ローカル)
VPC B CIDR pcx-aaaabbbb
VPC C CIDR pcx-aaaacccc
VPC D のサブネット 1 CIDR pcx-aaaadddd
VPC E CIDR pcx-aaaaeeee
VPC F CIDR pcx-aaaaffff
VPC G CIDR pcx-aaaagggg
VPC B VPC B CIDR [Local] (ローカル)
VPC A CIDR pcx-aaaabbbb
VPC C VPC C CIDR [Local] (ローカル)
VPC A CIDR pcx-aaaacccc
VPC D のサブネット 1 VPC D CIDR [Local] (ローカル)
VPC A CIDR pcx-aaaadddd
VPC D のサブネット 2 VPC D CIDR [Local] (ローカル)
VPC X CIDR pcx-ddddxxxx
VPC E VPC E CIDR [Local] (ローカル)
VPC A CIDR pcx-aaaaeeee
VPC F VPC F CIDR [Local] (ローカル)
VPC A CIDR pcx-aaaaffff
VPC G VPC G CIDR [Local] (ローカル)
VPC A CIDR pcx-aaaagggg
VPC X VPC X CIDR [Local] (ローカル)
VPC D のサブネット 2 CIDR pcx-ddddxxxx
VPC Y CIDR pcx-xxxxyyyy
VPC Z のサブネット 1 CIDR pcx-xxxxzzzz
VPC Y VPC Y CIDR [Local] (ローカル)
VPC X CIDR pcx-xxxxyyyy
VPC Z CIDR pcx-yyyyzzzz
VPC Z VPC Z CIDR [Local] (ローカル)
VPC Y CIDR pcx-yyyyzzzz
VPC X CIDR pcx-xxxxzzzz