送信元の仮想プライベートクラウド (VPC) と送信先 VPC の間に AWS Transit Gateway ピアリングアタッチメントを設定しましたが、VPC リソースをピアリング接続経由で接続できません。
解決策
送信元と送信先の VPC の VPC Transit Gateway アタッチメントの検証
次の手順を実行します。
- Amazon Virtual Private Cloud (Amazon VPC) コンソールを開きます。
- ナビゲーションペインで [Transit Gateway アタッチメント] をクリックします。
- VPC アタッチメントの Transit Gateway ID がピアリング接続に使用した ID と一致することを確認します。
- 送信元 VPC および、その Transit Gateway が同じ AWS リージョンにあることを確認します。
- 送信先 VPC および、その Transit Gateway が同じリージョンにあることを確認します。
VPC とピアリングアタッチメントを含む Transit Gateway ルートテーブルを確認する
次の手順を実行します。
- Amazon VPC コンソールで [Transit Gateway アタッチメント] をクリックします。
- VPC アタッチメントを選択します。次に、[関連するルートテーブルID] 列に表示される Transit Gateway のルートテーブル ID を書き留めます。
- ピアリングアタッチメントを選択します。次に、[関連するルートテーブルID] 列に表示される Transit Gateway のルートテーブル ID を書き留めます。
送信元と送信先の Transit Gateway で同じ手順を繰り返します。
送信元 VPC アタッチメントのルート設定を確認する
次の手順を実行します。
- Amazon VPC コンソールで [Transit Gateway ルートテーブル] をクリックします。
- 送信元 VPC アタッチメント用に書き留めたルートテーブルを選択します。
- [ルート] タブをクリックします。
- 送信先 VPC の CIDR ブロックにルートが存在し、そのルートが Transit Gateway ピアリングアタッチメントを指しているかどうかを確認します。
注: ピアリングされた Transit Gateway 間のトラフィックでは、Transit Gateway ルートテーブル内に、Transit Gateway ピアリングアタッチメントを指す静的ルートが必要です。
送信元ピアリングアタッチメントのルート設定を確認する
次の手順を実行します。
- Amazon VPC コンソールで [Transit Gateway ルートテーブル] をクリックします。
- 送信元 VPC アタッチメント用に書き留めたルートテーブルを選択します。
- [ルート] タブをクリックします。
- 送信元 VPC の CIDR ブロックにルートが存在し、そのルートが送信元 VPC アタッチメントを指しているかどうかを確認します。
送信先 VPC アタッチメントのルート設定を確認する
次の手順を実行します。
- Amazon VPC コンソールで [Transit Gateway ルートテーブル] をクリックします。
- 送信先 VPC アタッチメント用に書き留めたルートテーブルを選択します。
- [ルート] タブをクリックします。
- 送信元 VPC の CIDR ブロックにルートが存在し、そのルートが Transit Gateway ピアリングアタッチメントを指しているかどうかを確認します。
送信先ピアリングアタッチメントのルート設定を確認する
次の手順を実行します。
- Amazon VPC コンソールで [Transit Gateway ルートテーブル] をクリックします。
- Transit Gateway ピアリングアタッチメント用に書き留めたルートテーブルを選択します。
- [ルート] タブをクリックします。
- 送信先 VPC の CIDR ブロックにルートが存在し、そのルートが送信先 VPC アタッチメントを指しているかどうかを確認します。
VPC サブネットのルートテーブルを確認する
次の手順を実行します。
- Amazon VPC コンソールで [ルートテーブル] をクリックします。
- 送信元インスタンスと送信先インスタンスのルートテーブルを選択します。
- [ルート] タブをクリックします。
- [送信先] で、他の VPC の CIDR ブロックへのルートが存在することを確認します。次に、[ターゲット] にローカル VPC の Transit Gateway ID が表示されていることを確認します。
インスタンスセキュリティグループ設定とネットワーク ACL 設定を確認する
次の手順を実行します。
- Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開きます。
- ナビゲーションペインで [インスタンス] をクリックします。
- 接続テスト用の送信元 Amazon EC2 インスタンスを選択します。
- [セキュリティ] タブをクリックします。
- 送信元 EC2 インスタンスのアウトバウンドルールでトラフィックが許可されていることを確認します。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [ネットワーク ACL] をクリックします。
- インスタンスのサブネット用のネットワークアクセスコントロールリスト (ネットワーク ACL) を選択します。
- インバウンドルールとアウトバウンドルールがテスト用のトラフィックを許可しているかどうかを確認します。
- 送信先インスタンスに対して手順 1 ~ 9 を繰り返します。送信先インスタンスでは、セキュリティグループのアウトバウンドルールではなく、インバウンドルールを確認してください。
Transit Gateway ネットワークの ACL 設定を確認する
次の手順を実行します。
- Amazon EC2 コンソールを開きます。
- ナビゲーションペインで [ネットワークインターフェイス] をクリックします。
- 検索バーに Transit gateway と入力します。
- Transit Gateway ネットワークインターフェイスのサブネット ID を書き留めます。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [ネットワーク ACL] をクリックします。
- 検索バー [ネットワーク ACL をフィルター] に手順 4 で書き留めたサブネット ID を入力します。
- インバウンドルールとアウトバウンドルールが送信元と送信先となる VPC 間のトラフィックを許可しているかどうかを確認します。
- サブネットごとに手順 7 ~ 8 を繰り返します。
注: Transit Gateway ネットワークの ACL を開いた状態に維持するのがベストプラクティスです。
Reachability Analyzer で接続をテストする
Reachability Analyzer を使用して、セキュリティグループ、ネットワーク ACL、およびルートテーブルコンポーネントが正しく設定されていることを確認します。詳細については、「Amazon VPC Reachability Analyzer を使用して Amazon VPC リソースの接続に関する問題をトラブルシューティングするにはどうすればよいですか?」を参照してください。
注: クロスリージョンの送信先の場合、Reachability Analyzer は最初の Transit Gateway へのパスのみをチェックします。
Reachability Analyzer を使用するときは、送信元から送信先へのパス、および送信先から送信元へのパスを作成します。転送トラフィックが成功してもリターントラフィックが失敗する可能性があるため、両方のパスをテストすることをお勧めします。
到達可能性の分析中に "TGW_ROUTE_AZ_RESTRICTION" というエラーが表示された場合は、サブネットの設定を確認してください。Transit Gateway VPC アタッチメントは、送信元インスタンスと同じアベイラビリティゾーンのサブネットを使用する必要があります。
Route Analyzer を使用して Transit Gateway の接続を確認する
前提条件: 始める前に、グローバルネットワークを作成し、Transit Gateway を登録してください。手順については、「Get started with AWS Global Networks for transit gateways」(AWS Global Networks for Transit Gateways の使用を開始する) を参照してください。
次に、以下の操作を実行します。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [Network Manager] をクリックします。
- [グローバルネットワーク] をクリックし、次に Transit Gateway を登録したグローバルネットワークを選択します。
- ナビゲーションペインで [Transit Gateway ネットワーク] をクリックしてから、Route Analyzer を選択します。
- [送信元] と [送信先] の情報を入力します。
- [ルート分析を実行] をクリックします。
Route Analyzer がルーティング分析を実行し、[接続済み] または [未接続] のステータスを表示します。ステータスが [未接続] の場合、Route Analyzer はルーティングの推奨を表示します。推奨事項を適用してから、ルート分析を再実行して接続を確認します。
注: Route Analyzer はリージョン間のピアリングをサポートしていますが、リージョン内のピアリングはサポートしていません。
フローログにルーティングの問題がないか確認する
VPC フローログと Transit Gateway フローログをチェックして、トラフィックが VPC と Transit Gateway ピアリングアタッチメントを経由することを確認します。また、トラフィックが入力方向と出力方向の両方に流れることを確認します。
次に、Transit Gateway フローログをチェックして、packets-lost-no-route フィールドと packets-lost-blackhole フィールドの増分がないか確認します。
注: packets-lost-no-route パケット損失はルートが存在しないために失われたパケットを示し、packets-lost-blackhole はアタッチメントからブラックホールルートに失われたパケットを示します。上記を試しても Transit Gateway のピアリング接続で VPC リソースを接続できない場合は、AWS サポートにお問い合わせください。