Amazon Virtual Private Cloud (Amazon VPC) と別の AWS アカウントに関連付けられている VPC の間で Amazon VPC ピアリング接続を行おうとしています。しかし、「The connection failed due to incorrect VPC-ID, Account ID, or overlapping CIDR range.」というエラーが発生します。
解決方法
Amazon VPC の設定を確認する
別の AWS アカウントの VPC との VPC ピアリング接続を作成する際、以下の設定を確認します。
- VPC (アクセプタ) のアカウント ID が正しく入力されている。
- VPC (アクセプタ) の正しい VPC ID が選択されている。
- 選択した VPC (リクエスタ) と VPC (アクセプタ) のいずれのプライマリ CIDR ブロックとセカンダリ CIDR ブロックが重複していないことを確認します。
注意: VPC に重複する CIDR ブロックがある場合、VPC ピアリング接続を作成することはできません。いずれかの VPC を削除し、重複しない CIDR ブロックを使用して再作成する必要があります。
重複する CIDR ブロックに対するベストプラクティスを実装する
AWS Transit Gateway からプライベート NAT ゲートウェイと Application Load Balancer を使用して、重複する CIDR ブロックがある 2 つの VPC の間でプライベート通信を確立します。
以下のステップを実行します。
最初の VPC:
- 同一でないセカンダリ CIDR を追加します。
- CIDR のプライマリブロックとセカンダリブロックに追加のプライベートサブネットを作成します。
- セカンダリ CIDR サブネットにプライベート NAT ゲートウェイを作成して、サブネット範囲からプライベート IP アドレスを確立します。
2 番目の VPC:
- 重複するプライマリ CIDR にセカンダリ CIDR を追加します。
- プライマリ CIDR に同一のプライベートサブネットをもう 1 つ作成します。
- 新しく作成されたプライベートサブネットで、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスをホストするアプリケーションを起動します。
- 別のアベイラビリティーゾーンにさらに 2 つのプライベートサブネットを作成します。
- 内部 Application Load Balancer を作成し、ステップ 4 のサブネットを選択します。
- Application Load Balancer を設定し、起動したインスタンスをターゲットとして選択してインスタンスを登録します。注意: Application Load Balancer のターゲットは、最初の VPC のワークロードがアクセスする必要のあるプライマリ CIDR のプライベートサブネット内のワークロードである必要があります。また、登録したターゲットが正常であることを確認します。
Transit Gateway:
- Transit Gateway を作成し、デフォルトのルートテーブル伝播に [Disabled] (無効) を選択します。
- 各アベイラビリティーゾーンに適切なサブネットを関連付けて、各 VPC に Transit Gateway VPC アタッチメントを作成します。
- Transit Gateway ルートテーブルにルートを入力して、宛先 CIDR を VPC アタッチメントにルーティングします。
VPC ルートテーブル:
最初の VPC でのステップ:
- プライベートサブネット内のワークロードのルートテーブルを編集します。
- プライベート NAT ゲートウェイを経由して、セカンダリ宛先 CIDR の静的ルートを追加します。
- プライベート NAT ゲートウェイを起動する NAT サブネットルートテーブルを作成または変更します。
- Transit Gateway を介して宛先 VPC のセカンダリ CIDR にルートエントリを追加します。
2 番目の VPC でのステップ:
- Application Load Balancer サブネットのルートテーブルを編集します。
- Transit Gateway を経由する最初の VPC のセカンダリ CIDR のリターントラフィックのルートを追加します。
接続性チェック:
- SSH を使用して、最初の VPC のワークロードのインスタンスに接続します。
- Application Load Balancer を使用して、2 番目の VPC 内のターゲットインスタンスの接続をテストします。
重要: VPC アタッチメント内のアベイラビリティーゾーンまたはサブネットが、NAT ゲートウェイのアベイラビリティーゾーンまたはサブネットと一致していることを確認します。
制限事項:
- プライベート NAT ゲートウェイと別の VPC にトラフィックをルーティングすると、オンプレミスネットワークは単方向になります。オンプレミスネットワークが単方向の場合、接続の反対側のリソースは NAT ゲートウェイを使用できません。
- NAT ゲートウェイを Transit Gateway にルーティングできるのは、2 つの VPC 間または VPC とオンプレミスネットワーク間のアウトバウンドプライベート通信の場合のみです。
- NAT ゲートウェイはソース NAT のみを実行するため、上記の設定ではソースのみが宛先 VPC への接続を開始できます。2 番目の VPC から最初の VPC への双方向トラフィックが必要な場合は、設定を逆にする必要があります。2 番目の VPC に NAT ゲートウェイを作成し、Application Load Balancer が最初の VPC のインスタンスをターゲットにするようにします。