VPC ルートテーブルの問題をトラブルシューティングするにはどうすればよいですか?
最終更新日: 2017 年 12 月 14 日
ルートテーブルを設定しましたが、Amazon Virtual Private Cloud (Amazon VPC) と送信先を接続できません。VPC ルートテーブルの問題をトラブルシューティングするにはどうすればよいですか?
簡単な説明
Amazon VPC 内の各サブネットは、サブネットのルーティングを制御するルートテーブルに関連付けられています。Amazon VPC のルーティングオプションは、使用しているゲートウェイや接続によって異なります。以下に例を示します。
- パブリックサブネット
- NAT インスタンスまたは NAT ゲートウェイを使用したサブネット
- VPC ピア接続を使用したサブネット
- AWS VPN を使用したサブネット
- AWS Direct Connect を使用したサブネット
- ゲートウェイ VPC エンドポイントを使用したサブネット
- 仮想インターフェイスの VPC エンドポイントを使用したサブネット
解決方法
この問題の原因を特定するには、影響を受けているリソースを含むサブネットのルートテーブルを確認します。
パブリックサブネット
- Amazon VPC コンソールを開きます。
- ナビゲーションペインの [サブネット] で、パブリックサブネットを選択します。
- [ルートテーブル] ビューを選択します。
- ルートテーブルの送信先に、インターネットゲートウェイをポイントするデフォルトのルート (IPv4 の場合は 0.0.0.0/0、IPv6 の場合は ::/0) が設定されていることを確認します。
インターネットから Amazon VPC への接続の問題のトラブルシューティングの詳細については、インターネットから Amazon VPC 内の Amazon EC2 インスタンスに接続できないのはなぜですか? を参照してください。
NAT インスタンスまたは NAT ゲートウェイを使用したサブネット
- Amazon VPC コンソールを開きます。
- ナビゲーションペインの [サブネット] で、プライベートサブネットを選択します。
- [ルートテーブル] ビューを選択し、ルートテーブルに、NAT インスタンスまたはゲートウェイを指すデフォルトのルートが設定されていることを確認します。
- パブリックサブネットで NAT デバイスが起動していることを確認し、以前のセクションに一覧表示されているパブリックサブネットに必要なチェックを行います。
注意: NAT インスタンスを使用している場合は、送信元/送信先チェックが無効になっていることを確認してください。 - IPv6 で Amazon VPC を設定し、トラフィックがプライベートサブネットのインスタンスにインターネットルーティングされないようにする場合は、Egress Only インターネットゲートウェイを使用します。Egress Only インターネットゲートウェイの設定の詳細については、「Egress Only インターネットゲートウェイ」を参照してください。
VPC ピア接続の問題のトラブルシューティングについては、「NAT ゲートウェイのトラブルシューティング」を参照してください。
VPC ピア接続を使用したサブネット
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [Peering Connections (ピア接続)] を選択後、ピア接続を選択します。
- ステータスが [Active] であることを確認します。
- ナビゲーションペインから [サブネット] を選択後、ピア接続を使用して接続する Amazon VPC のサブネットを選択します。
- [ルートテーブル] ビューを選択し、ステップ 2 で説明されているピア接続など、特定のサブネットを使用した CIDR へのルート、またはピア接続された Amazon VPC の CIDR へのルートがあることを確認します。
- これらのルートテーブルに、ピア接続された Amazon VPC のサブネットがすべて含まれていることを確認します。
注意: 無効な VPC ピア接続設定がないことを確認してください。
VPC ピア接続の問題のトラブルシューティングについては、「VPC ピアネットワーク接続の問題はどのように解決すればよいですか?」を参照してください。
AWS VPN を使用したサブネット
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [VPN 接続] を選択してから、該当する VPN 接続を選択します。
- VPN ステータスが有効であること、トンネルのステータスの 1 つ以上が最新であることを確認します。
注意: 動的な VPN を使用している場合は、BGP ルートが AWS VPN に送信されていることを確認してください。BGP ルートが仮想プライベートゲートウェイに伝達されていることを確認するには、ルート伝達を有効にします。
- この VPN 接続に使用される仮想プライベートゲートウェイを書き留めます。
- ナビゲーションペインから [サブネット] を選択後、VPN に接続する Amazon VPC のサブネットを選択します。
- [ルートテーブル] ビューを選択し、ルートの送信先がネットワーク、ターゲットがステップ 4 で書き留めた仮想プライベートゲートウェイであることを確認します。
VPN 接続の問題のトラブルシューティングについては、Amazon VPC への VPN トンネル接続の問題をトラブルシューティングするにはどうすればよいですか? を参照してください。
AWS Direct Connect を使用したサブネット
- AWS Direct Connect コンソールを開きます。
- ナビゲーションペインで、[Virtual Interfaces] (仮想インターフェイス) を選択し、[private virtual interface] (プライベート仮想インターフェイス) を選択します。
- BGP タスクのステータスが「最新」であることを確認します。
- プライベート仮想インターフェイスに使用する仮想プライベートゲートウェイを書き留めます。
- Amazon VPC コンソールを開きます。
- ナビゲーションペインから [サブネット] を選択後、AWS Direct Connect を使用して接続する Amazon VPC のサブネットを選択します。
- [ルートテーブル] ビューを選択し、ルートの送信先がネットワーク、ターゲットがステップ 4 に示した仮想プライベートゲートウェイであることを確認します。
注意: BGP を使用している場合は、このルートが AWS に送信されていることを確認してください。BGP ルートが仮想プライベートゲートウェイに伝達されていることを確認するには、ルート伝達を有効にします。
AWS Direct Connect に関する問題のトラブルシューティングの詳細については、AWS Direct Connect のトラブルシューティングを参照してください。
ゲートウェイ VPC エンドポイントを使用したサブネット
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [Endpoints (エンドポイント)] を選択し、該当するエンドポイントを選択します。
- ステータスが有効であることを確認し、エンドポイント ID を書き留めます。
- ナビゲーションペインから [サブネット] を選択後、エンドポイントを使用して AWS のサービスに接続する Amazon VPC のサブネットを選択します。
- [ルートテーブル] ビューを選択してから、サービスのプレフィックスリスト ID を指定する送信先と、ステップ 3 で取得したエンドポイント ID のターゲットでルートテーブルに追加されたルートがあることを確認します。
- VPC エンドポイントポリシーを使用して、AWS のサービスと通信し、Amazon VPC のサブネット内のリソースにアクセスできることを確認します。
ゲートウェイ VPC エンドポイントのトラブルシューティングの詳細については、「ゲートウェイ VPC エンドポイントを使用して S3 バケットに接続できないのはなぜですか。」を参照してください。
仮想インターフェイスの VPC エンドポイントを使用したサブネット
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで [Endpoints (エンドポイント)] を選択し、該当するエンドポイントを選択します。
- [サブネット] 列を選択し、エンドポイントネットワークインターフェイスが、接続するサービスに関連付けられたサブネットで作成されていることを確認します。
- ナビゲーションペインの [エンドポイント] で、[ポリシー] ビューを選択します。
- セキュリティグループによって、AWS のサービスへのアクセスが許可されていることを確認します。
インターフェイス VPC エンドポイントのトラブルシューティングについては、「インターフェイス VPC エンドポイント」を参照してください。