プライベートサブネット内の EC2 インスタンスが NAT ゲートウェイを使用してインターネットに接続できないのはなぜですか?

最終更新日: 2020 年 11 月 27 日

プライベートサブネットにある Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから、インターネットにアクセスするため NAT ゲートウェイを作成しましたが、このインスタンスがインターネットに接続できません。この問題を解決する方法を教えてください。

解決方法

インスタンスが次の条件を満たしていることを確認します。

1.    パブリック IP アドレスを通じ、送信先に対し別のソースから ping を送信することで、その送信先が接続可能であること。

2.    NAT ゲートウェイの状態が、Available であること。NAT ゲートウェイが Failed 状態である場合は、「NAT ゲートウェイの状態が Failed になる」のトラブルシューティング手順に従います。注: ステータスが Failed となっている NAT ゲートウェイは、約 1 時間後に自動的に削除されます。

3.    NAT ゲートウェイがパブリックサブネット内に作成されていること、およびパブリックルートテーブルインターネットゲートウェイを指すデフォルトルートがあること。

4.    プライベートサブネットのルートテーブルでは、デフォルトルートが NAT ゲートウェイを指していること。注: プライベートサブネットとパブリックサブネットの両方で同じルートテーブルを使用していないことを確認してください。同じルートテーブルを使用すると、トラフィックがインターネットにルーティングされません。

5.    VPC で enableDnsSupport 属性が true に設定されていること。詳細については、「VPC の DNS サポートを表示および更新する」を参照してください。

6.    HTTP または HTTPS 経由のトラフィックをブロックしているソフトウェアファイアウォールがないこと。

7.    インスタンスの Elastic Network Interface にアタッチされているセキュリティグループが、ポート 80 (HTTP トラフィックの場合) と 443 (HTTPS トラフィックの場合) へのアウトバウンドトラフィックを許可していること。詳細については、「Linux インスタンス用の Amazon EC2 セキュリティグループ」や「Windows インスタンス用の Amazon EC2 セキュリティグループ」を参照してください。

8.    次のどちらにも、送信先 IP アドレス 0.0.0.0/0 を使用して、ポート 80 および 443 でのインバウンドおよびアウトバウンドトラフィックを許可するルールがあります。

  • インスタンスが配置されているプライベートサブネットに関連付けられたネットワークアクセスコントロールリスト (ACL)
  • NAT ゲートウェイが配置されているパブリックサブネットに関連付けられたネットワーク ACL。

たとえば、EC2 インスタンスが HTTPS ウェブサイトにアクセスできるようにするには、NAT ゲートウェイサブネットに関連付けられたネットワーク ACL に対して、以下のルールが必要です。

インバウンドルール:

送信元 プロトコル ポート範囲 許可/拒否
VPC CIDR TCP 443 ALLOW
インターネット IP TCP 1024-65535 ALLOW

アウトバウンドルール:

送信先 プロトコル ポート範囲 許可/拒否
インターネット IP TCP 443 ALLOW
VPC CIDR TCP 1024-65535 ALLOW

ネットワーク ACL の詳細な設定方法については、「ネットワーク ACL の操作」を参照してください。
VPC におけるトラフィックのルーティングの詳細については、「VPC とサブネット」を参照してください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?