Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Transit Gateway 経由での VPC 間接続のトラブルシューティング方法を教えてください。
同じ AWS Transit Gateway にアタッチされている 2 つの Amazon Virtual Private Cloud (Amazon VPC) インスタンス間の接続の問題をトラブルシューティングしたいと考えています。
簡単な説明
同じ Transit Gateway にアタッチされている 2 つの Amazon VPC インスタンス間の接続をトラブルシューティングするには、ネットワーク設定を確認します。適切に設定したら、接続に関する問題のトラブルシューティングを行います。
解決策
ネットワーク設定を確認する
AWS Transit Gateway、VPC、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの設定を確認します。
セキュリティグループ設定を確認する
送信元の Elastic Network Interface またはサブネットに関連付けられているセキュリティグループおよびネットワークアクセスコントロールリスト (ネットワーク ACL) が、必要なトラフィックを許可しているかどうかを確認します。
注: セキュリティグループは、エグレスルールでのみトラフィックを許可する必要があります。ただし、ネットワーク ACL は送信トラフィックと受信トラフィックの両方を許可する必要があります。
Amazon EC2 インスタンスのセキュリティグループとネットワーク ACL がトラフィックを許可していることを確認する
次の手順を実行します。
- Amazon EC2 コンソールを開きます。
- ナビゲーションペインで、[インスタンス] を選択します。
- 接続テストを実行するインスタンスを選択します。
- [セキュリティ] タブを選択します。
- 関連付けられているセキュリティグループの [インバウンド] ルールと [アウトバウンド] ルールで、必要なトラフィックが許可されていることを確認します。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインから [ネットワーク ACL] を選択します。
- インスタンスと同じサブネットに関連付けられているネットワーク ACL を選択します。
- [インバウンド] [ルール] と [アウトバウンド] [ルール] を選択して、ルールがトラフィックを許可していることを確認します。
送信元サブネットの VPC ルートテーブルに、Transit Gateway を経由して送信先 CIDR ブロックを指すルートがあることを確認する
次の手順を実行します。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインから、[ルートテーブル] を選択します。
- 送信元インスタンスのルートテーブルを選択します。
- [ルート] タブを選択します。
- [送信先] にリモート VPC CIDR ブロックへのルートがあることを確認します。次に、[ターゲット] が [Transit Gateway ID] に設定されていることを確認します。
VPC が同じ Transit Gateway にアタッチされていることを確認する
1 つの Transit Gateway を使用して接続している場合は、次の手順を実行します。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [Transit Gateway アタッチメント] を選択します。
- VPC アタッチメントが同じ Transit Gateway ID に関連付けられていることを確認します。
注: 複数の Transit Gateway または Transit Gateway ピアリングを使用している場合は、送信元と送信先の VPC がそれぞれ対応する Transit Gateway にアタッチされていることを確認します。
Transit Gateway のルートテーブルが VPC アタッチメントに関連付けられていることを確認する
次の手順を実行します。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [Transit Gateway ルートテーブル] を選択します。
- 送信元 VPC の Transit Gateway VPC アタッチメントに関連付けられているルートテーブルを選択します。
- [ルート] タブを選択します。
- [ターゲット] を [Transit Gateway VPC アタッチメント] とする [リモート VPC IP 範囲] のルートがあり、そのアタッチメントが [リモート VPC] の値に対応していることを確認します。
- リモート VPC の Transit Gateway VPC アタッチメントに関連付けられているルートテーブルを選択します。
- [ルート] タブを選択します。
- [ターゲット] を [VPC アタッチメント] とする [送信元 VPC IP 範囲] のルートがあることを確認します。このルートが [送信元 VPC] の値に対応していることを確認します。
Transit Gateway VPC サブネットに関連付けられているネットワーク ACL がトラフィックを許可していることを確認する
次の手順を実行します。
- Amazon EC2 コンソールを開きます。
- ナビゲーションペインから [ネットワークインターフェイス] を選択します。
- 検索バーに Transit Gateway と入力します。Transit Gateway のすべてのネットワークインターフェイスが表示されます。Transit Gateway インターフェイスを作成した場所に関連付けられているサブネット ID を書き留めておきます。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインから [ネットワーク ACL] を選択します。
- 検索バーに、ステップ 3 でメモしたサブネット ID を入力して、サブネットに関連付けられているネットワーク ACL を検索します。
- ネットワーク ACL の [インバウンド] [ルール] と [アウトバウンド] [ルール] がトラフィックを許可していることを確認します。ネットワーク ACL ルールの設定の詳細については、「Network ACLs for transit gateways in AWS Transit Gateway」を参照してください。
Transit Gateway VPC アタッチメント、送信元 VPC、リモート VPC のアベイラビリティーゾーンを確認する
VPC を Transit Gateway にアタッチする場合、各アベイラビリティーゾーンから 1 つのサブネットを指定する必要があります。指定したサブネットは、Transit Gateway トラフィックの入口と出口となります。例えば、送信元が us-east-1a にある場合は、送信元と送信先の VPC アタッチメントに us-east-1a のサブネットを少なくとも 1 つ設定する必要があります。
アベイラビリティーゾーンを確認するには、次の手順を実行します。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [Transit Gateway アタッチメント] を選択します。
- 送信元 VPC アタッチメントを選択します。
- [詳細] で [サブネット ID] を探します。送信元インスタンスのアベイラビリティーゾーンからサブネットを選択していることを確認します。
- Transit Gateway アタッチメントに戻ります。次に、リモート VPC アタッチメントを選択します。
- [詳細] で [サブネット ID] を探します。リモートインスタンスのアベイラビリティーゾーンからサブネットを選択していることを確認します。
- VPC アタッチメントにアベイラビリティーゾーンを追加するには、[アクション] を選択します。 次に、Transit Gateway アタッチメントを変更し、必要なアベイラビリティーゾーンから任意のサブネットを選択します。
注: アタッチメントが Modifying 状態の場合、VPC アタッチメントサブネットを追加または変更すると、データトラフィックに影響が出る可能性があります。
接続に関する問題のトラブルシューティング
設定が正しい場合は、AWS Network Manager の Reachability Analyzer または Route Analyzer を使用して接続の問題のトラブルシューティングを行います。また、Amazon VPC フローログと Amazon CloudWatch メトリクスをモニタリングして、パケットのドロップを確認することもできます。
Amazon VPC Reachability Analyzer で接続の問題をトラブルシューティングする
Reachability Analyzer を使用して、リソースと送信先の間のパスを分析します。詳細については、「How Reachability Analyzer works」を参照してください。
注: 複数の AWS アカウントにわたるパスを分析するには、AWS Organizations で、所属する組織に対して Reachability Analyzer の信頼されたアクセスを有効にします。Reachability Analyzer は、組織内のアカウントに対してのみクロスアカウント分析をサポートします。
または、Amazon Q で自然言語クエリを実行し、Reachability Analyzer での問題をトラブルシューティングすることも可能です。詳細については、「Introducing Amazon Q support for network troubleshooting (preview)」を参照してください。
Route Analyzer を使用して接続の問題をトラブルシューティングする
前提条件: グローバルネットワークを作成し、Transit Gateway を登録します。手順については、「Getting started with AWS Network Manager for Transit Gateways」を参照してください。
次の手順を実行します。
- Amazon VPC コンソールにアクセスします。
- ナビゲーションペインから [Network Manager] を選択します。
- Transit Gateway が登録されているグローバルネットワークを選択します。
- ナビゲーションペインから [Transit Gateway マネージャー] を選択します。次に、[Route Analyzer] を選択します。
- 必要に応じて、[送信元] と [送信先] の情報を入力します。[送信元] と [送信先] の両方に同じ Transit Gateway があることを確認します。
- [ルート解析を実行] を選択します。Route Analyzer が解析を完了するのを待ちます。
ルーティング解析結果を確認します。ネットワークの状態が Not Connected の場合、Route Analyzer はルーティングの推奨事項を表示します。推奨事項をすべて実行し、テストを再実行してネットワークの接続を確認します。詳細については、「Diagnosing traffic disruption using AWS Transit Gateway Network Manager Route Analyzer」を参照してください。
Amazon VPC フローログと CloudWatch メトリクスを使用して問題をトラブルシューティングする
前提条件: Transit Gateway アタッチメントまたはネットワークインターフェイスに対して AWS Transit Gateway フローログを作成します。ネットワークインターフェイスの場合は、[ログレコード形式] で [カスタム形式] を選択し、[フローログレコードフィールド] に [pkt-src-addr] と [pkt-dstaddr] を含めます。
トランジットゲートウェイのメトリクスを使用してパケットドロップの有無を確認するには、次の手順を実行します。
- AWS マネジメントコンソールにサインインし、Amazon CloudWatch コンソールを開きます。
- [すべてのメトリクス] を選択します。
- [VPC Transit Gateway] を選択します。
- [アタッチメントごとのメトリクス] を選択します。
次に、Transit Gateway アタッチメントに対する次のメトリクスの [合計] 値を確認します。
- PacketDropCountBlackhole メトリクスは、Transit Gateway アタッチメントのブラックホールルートと一致したためにドロップされたバイト数を示します。
- PacketDropCountNoRoute メトリクスは、Transit Gateway アタッチメントのルートと一致しなかったためにドロップされたバイト数を示します。
- PacketDropCountTTLExpired メトリクスは、TTL の有効期限が切れたためにドロップされたパケット数を示します。
関連情報
- 言語
- 日本語
