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

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

VPC ピアリング接続のルートテーブルは、サブネット CIDR ブロック、特定の CIDR ブロック (VPC に複数の CIDR ブロックがある場合)、またはピア VPC 内に存在する特定のリソースへのアクセスを制限するように設定できます。この例では、中央 VPC は重複した CIDR ブロックがある少なくとも 2 つの VPC にピアリング接続されます。

特定の VPC ピアリング接続設定が必要になる可能性があるシナリオの例については、「VPC ピアリング接続のシナリオ」を参照してください。VPC ピアリング接続の操作方法については、「VPC ピア接続を操作する」を参照してください。ルートテーブルの更新の詳細については、「VPC ピアリング接続のルートテーブルを更新する」を参照してください。

1 つの VPC にある特定のサブネットにアクセスする 2 つの VPC

この設定では、2 つのサブネットを持つ中央 VPC (VPC A)、VPC A と VPC B との間の VPC ピアリング接続 (pcx-aaaabbbb)、VPC A と VPC C との間のピアリング接続 (pcx-aaaacccc) があります。各 VPC は VPC A 内の 1 つのサブネット内のリソースにのみアクセスする必要があります。

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

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

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

1 つの VPC にある特定の CIDR ブロックにアクセスする 2 つの VPC

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

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

2 つの VPC にある特定のサブネットにアクセスする 1 つの VPC

この設定では、1 つのサブネットを持つ中央 VPC (VPC A)、VPC A と VPC B との間のピアリング接続 (pcx-aaaabbbb)、VPC A と VPC C との間のピアリング接続 (pcx-aaaacccc) があります。VPC B と VPC C には、それぞれ 2 つのサブネットがあります。VPC A と VPC B との間のピアリング接続では、VPC B 内にあるサブネットのうち 1 つだけを使用します。VPC A と VPC C との間のピアリング接続では、VPC C 内にあるサブネットのうち 1 つだけを使用します。

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

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

VPC A のルートテーブルは、ピアリング接続を使用して、ピアリング接続された VPC 内の特定のサブネットにのみアクセスします。サブネット 1 のルートテーブルは VPC A とのピアリング接続を使用して VPC A 内のサブネットにアクセスします。サブネット 2 のルートテーブルは VPC A とのピアリング接続を使用して VPC A 内サブネットにアクセスします。

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

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

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

たとえば、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 に送信するように設定されています。

ルートテーブル 送信先 ターゲット
サブネット 2 (VPC B) VPC B CIDR ローカル
VPC A CIDR のサブネット pcx-aaaabbbb
VPC A VPC A CIDR ローカル
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 ローカル
サブネット 2 CIDR pcx-aaaabbbb
サブネット 1 CIDR pcx-aaaacccc

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

デスティネーション ターゲット
VPC A CIDR ローカル
サブネット 2 の特定の IP アドレス pcx-aaaabbbb
VPC B CIDR pcx-aaaacccc

2 つの VPC にある特定のインスタンスにアクセスする、1 つの VPC にあるインスタンス

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

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

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

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

最長のプレフィックスの一致を使用して 2 つの VPC にアクセスする 1 つの VPC

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

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

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

ルートテーブル 送信先 ターゲット
VPC A VPC A CIDR ブロック ローカル
インスタンス X の IP アドレス pcx-aaaabbbb
VPC C CIDR ブロック pcx-aaaacccc
VPC B VPC B CIDR ブロック ローカル
VPC A CIDR ブロック pcx-aaaabbbb
VPC C VPC C CIDR ブロック ローカル
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 内の特定のサブネット (サブネット 1) に制限されていることを意味します。これにより、VPC D が VPC A または VPC X からリクエストを受け取った場合、正しい VPC にレスポンストラフィックが返されます。AWS の VPC ピアリング接続では、パケットのソース IP を確認してリプライパケットをソースにルーティングするユニキャストリバースパス転送をサポートしていません。詳細については、「レスポンストラフィックのルーティング」を参照してください。

同様に、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 ローカル
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 ローカル
VPC A CIDR pcx-aaaabbbb
VPC C VPC C CIDR ローカル
VPC A CIDR pcx-aaaacccc
VPC D のサブネット 1 VPC D CIDR ローカル
VPC A CIDR pcx-aaaadddd
VPC D のサブネット 2 VPC D CIDR ローカル
VPC X CIDR pcx-ddddxxxx
VPC E VPC E CIDR ローカル
VPC A CIDR pcx-aaaaeeee
VPC F VPC F CIDR ローカル
VPC A CIDR pcx-aaaaffff
VPC G VPC G CIDR ローカル
VPC A CIDR pcx-aaaagggg
VPC X VPC X CIDR ローカル
VPC D のサブネット 2 CIDR pcx-ddddxxxx
VPC Y CIDR pcx-xxxxyyyy
VPC Z のサブネット 1 CIDR pcx-xxxxzzzz
VPC Y VPC Y CIDR ローカル
VPC X CIDR pcx-xxxxyyyy
VPC Z CIDR pcx-yyyyzzzz
VPC Z VPC Z CIDR ローカル
VPC Y CIDR pcx-yyyyzzzz
VPC X CIDR pcx-xxxxzzzz