メニュー
Amazon Virtual Private Cloud
ユーザーガイド

NAT ゲートウェイ

ネットワークアドレス変換 (NAT) ゲートウェイを使用して、プライベートサブネットのインスタンスからはインターネットや他の AWS サービスに接続できるが、インターネットからはこれらのインスタンスとの接続を開始できないようにすることができます。NAT の詳細については、「NAT」を参照してください。

アカウントで NAT ゲートウェイを作成して使用するには料金がかかります。NAT ゲートウェイの時間単位の使用料金とデータ処理料金が適用されます。Amazon EC2 データ転送料金も適用されます。詳細については、「Amazon VPC 料金表」を参照してください。

NAT ゲートウェイは IPv6 トラフィックには対応していないため、Egress-Only インターネットゲートウェイを使用します。詳細については、「Egress-Only インターネットゲートウェイ」を参照してください。

NAT ゲートウェイの基本

NAT ゲートウェイを作成するには、NAT ゲートウェイの常駐先のパブリックサブネットを指定する必要があります。パブリックサブネットとプライベートサブネットの詳細については、「サブネットのルーティング」を参照してください。NAT ゲートウェイに関連付ける Elastic IP アドレスも、ゲートウェイの作成時に指定する必要があります。NAT ゲートウェイを作成したら、プライベートサブネットの 1 つ以上に関連付けられているルートテーブルを更新し、インターネット向けトラフィックを NAT ゲートウェイに向かわせる必要があります。これにより、プライベートサブネットのインスタンスがインターネットと通信できるようになります。

各 NAT ゲートウェイは、アベイラビリティーゾーン別に作成され、各ゾーンで冗長性を持たせて実装されます。アベイラビリティーゾーンで作成できる NAT ゲートウェイの数には制限があります。詳細については、「Amazon VPC の制限」を参照してください。

注記

複数のアベイラビリティーゾーンにリソースがあって、リソース間で 1 つの NAT ゲートウェイを共有している場合、その NAT ゲートウェイが属するアベイラビリティーゾーンがダウンすると、その他のアベイラビリティーゾーンのリソースはインターネットにアクセスできなくなります。アベイラビリティーゾーンに依存しないアーキテクチャを作成するには、アベイラビリティーゾーン別に NAT ゲートウェイを作成し、同じアベイラビリティーゾーンに属する NAT ゲートウェイをリソースで使用するようにルーティングを設定します。

不要になった NAT ゲートウェイは削除できます。NAT ゲートウェイを削除すると、Elastic IP アドレスとの関連付けは解除されますが、アドレスはアカウントから解放されません。

NAT ゲートウェイには次の特徴があります。

  • NAT ゲートウェイは、バーストが最大 10 Gbps の帯域幅をサポートします。10 Gbps を超えるバーストが必要な場合は、リソースを分割して複数のサブネットに配置し、サブネットごとに NAT ゲートウェイを作成することで、ワークロードを分散できます。

  • NAT ゲートウェイごとに 1 つだけの Elastic IP アドレスを関連付けることができます。作成後に NAT ゲートウェイから Elastic IP アドレスの関連付けを解除することはできません。別の Elastic IP アドレスを使用する場合は、新しい NAT ゲートウェイを作成してそのアドレスを関連付け、ルートテーブルを更新します。既存の NAT インスタンスが不要になった場合は、それを削除します。

  • NAT ゲートウェイは、プロトコルとして TCP、UDP、ICMP をサポートします。

  • NAT ゲートウェイにセキュリティグループを関連付けることはできません。セキュリティグループは、プライベートサブネットのインスタンスに対して使用し、それらのインスタンスに出入りするトラフィックを管理できます。

  • NAT ゲートウェイがあるサブネットに出入りするトラフィックを管理するには、ネットワーク ACL を使用できます。ネットワーク ACL は NAT ゲートウェイのトラフィックに適用されます。NAT ゲートウェイはポート 1024~65535 を使用します。詳細については、「ネットワーク ACL」を参照してください。

  • NAT ゲートウェイの作成時にネットワークインターフェイスが追加され、このネットワークインターフェイスにサブネットの IP アドレス範囲からプライベート IP アドレスが自動的に割り当てられます。NAT ゲートウェイのネットワークインターフェイスは Amazon EC2 コンソールで参照できます。詳細については、「ネットワークインターフェイスに関する詳細情報の表示」を参照してください。このネットワークインターフェイスの属性を変更することはできません。

  • NAT ゲートウェイは、VPC に関連付けられている ClassicLink 接続からはアクセスできません。

次の図は、NAT ゲートウェイを使用した VPC のアーキテクチャを示しています。メインルートテーブルは、プライベートサブネットのインスタンスから NAT ゲートウェイにインターネットトラフィックを送信します。NAT ゲートウェイは、NAT ゲートウェイの Elastic IP アドレスをソース IP アドレスとして使用し、インターネットゲートウェイにトラフィックを送信します。

 パブリックおよびプライベートサブネットの VPC と NAT ゲートウェイ

NAT インスタンスからの移行

現在使用している NAT インスタンスを NAT ゲートウェイに置き換えることができます。これを行うには、NAT インスタンスと同じサブネットに NAT ゲートウェイを作成し、ルートテーブルを NAT インスタンスを指す既存のルートから NAT ゲートウェイを指すルートに置き換えます。現在 NAT インスタンスで使用している同じ Elastic IP アドレスを NAT ゲートウェイで使用する場合は、まず NAT インスタンスに関連付けられている Elastic IP アドレスを解除し、そのアドレスを NAT ゲートウェイの作成時にゲートウェイに関連付けます。

注記

NAT インスタンスから NAT ゲートウェイにルーティングを変更したり、NAT インスタンスに関連付けられている Elastic IP アドレスを解除したりすると、現在の接続は切断されるため、再接続する必要があります。重要なタスク (または NAT インスタンスを介してその他のタスク) が実行中でないことを確認してください。

VPC エンドポイント、VPN、AWS Direct Connect、VPC ピア接続での NAT ゲートウェイの使用

NAT ゲートウェイは、VPC エンドポイント、VPN 接続、AWS Direct Connect、または VPC ピア接続を通じてトラフィックを送信できません。プライベートサブネットのインスタンスから VPC エンドポイント、VPN 接続、または AWS Direct Connect を通じてリソースにアクセスする場合は、プライベートサブネットのルートテーブルを使用して、これらのデバイスに直接トラフィックをルーティングします。

たとえば、プライベートサブネットのルートテーブルのルートでは、インターネット向けトラフィック (0.0.0.0/0) は NAT ゲートウェイにルーティングされ、Amazon S3 トラフィック (pl-xxxxxxxx: Amazon S3 の特定の IPアドレス範囲) は VPC エンドポイントにルーティングされ、10.25.0.0/16 トラフィックは VPC ピア接続にルーティングされます。pl-xxxxxxxx と 10.25.0.0/16 の IP アドレス範囲は 0.0.0.0/0 より具体的です。インスタンスから Amazon S3 またはピア接続 VPC にトラフィックを送信すると、トラフィックは VPC エンドポイントまたは VPC ピア接続に送信されます。インスタンスからインターネット (Amazon S3 IP アドレス以外) にトラフィックを送信すると、トラフィックは NAT ゲートウェイに送信されます。

VPC ピア接続、VPN 接続、または AWS Direct Connect を経由して NAT ゲートウェイにトラフィックをルーティングすることはできません。NAT ゲートウェイは、これらの接続の他方の側にあるリソースからは使用できません。

NAT ゲートウェイの使用

Amazon VPC コンソールを使用して NAT ゲートウェイの作成、表示、削除ができます。Amazon VPC ウィザードを使用して、パブリックサブネット、プライベートサブネット、NAT ゲートウェイを使う VPC を作成することもできます。詳細については、「シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC (NAT) 」を参照してください。

NAT ゲートウェイの作成

NAT ゲートウェイを作成するには、サブネットと Elastic IP アドレスを指定する必要があります。Elastic IP アドレスが、現在インスタンスやネットワークインターフェイスに関連付けられていないことを確認します。NAT インスタンスから NAT ゲートウェイに移行し、NAT インスタンスの Elastic IP アドレスを引き継ぐ場合は、まず NAT インスタンスに関連付けられているアドレスを解除する必要があります。

To create a NAT gateway

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. In the navigation pane, choose NAT Gateways, Create NAT Gateway.

  3. In the dialog box, specify the subnet in which to create the NAT gateway, and select an Elastic IP address to associate with the NAT gateway. When you're done, choose Create a NAT Gateway.

  4. The NAT gateway displays in the console. After a few moments, its status changes to Available, after which it's ready for you to use.

NAT ゲートウェイの状態が Failed である場合は、作成時にエラーが発生しています。詳細については、「NAT ゲートウェイの状態が Failed になる」を参照してください。

ルートテーブルの更新

NAT ゲートウェイを作成したら、プライベートサブネットのルートテーブルを更新して、インターネットトラフィックを NAT ゲートウェイに向かわせる必要があります。AWS では、トラフィックと一致する最も具体的なルートを使用して、トラフィックをルーティングする方法を決定します (最長プレフィックス一致)。詳細については、「ルーティングの優先度」を参照してください。

To create a route for a NAT gateway

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. In the navigation pane, choose Route Tables.

  3. Select the route table associated with your private subnet and choose Routes, Edit.

  4. Choose Add another route. For Destination, enter 0.0.0.0/0. For Target, select the ID of your NAT gateway.

    注記

    If you're migrating from using a NAT instance, you can replace the current route that points to the NAT instance with a route to the NAT gateway.

  5. Choose Save.

NAT ゲートウェイからインターネットにアクセスできるためには、NAT ゲートウェイがあるサブネットに関連付けられているルートテーブルに、インターネットトラフィックをインターネットゲートウェイに向かわせるルートが含まれている必要があります。詳細については、「カスタムルートテーブルを作成する」を参照してください。NAT ゲートウェイを削除する場合、NAT ゲートウェイのルートを削除または更新するまで、ルートの状態は blackhole になります。詳細については、「ルートテーブルでルートを追加および削除する」を参照してください。

NAT ゲートウェイの削除

Amazon VPC コンソールを使用して NAT ゲートウェイを削除できます。NAT ゲートウェイを削除すると、そのエントリは Amazon VPC コンソールに引き続き短時間 (通常は 1 時間) 表示された後で、自動的に削除されます。このエントリを手動で削除することはできません。

To delete a NAT gateway

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. In the navigation pane, choose NAT Gateways.

  3. Select the NAT gateway, and then choose Delete NAT Gateway.

  4. In the confirmation dialog box, choose Delete NAT Gateway.

NAT ゲートウェイのテスト

NAT ゲートウェイを作成してルートテーブルを更新したら、プライベートサブネットのインスタンスからインターネットに ping を送信し、インスタンスがインターネットに接続できることをテストします。これを行う方法の例については、「インターネット接続のテスト」を参照してください。

インターネットに接続できる場合は、さらに以下のテストを実行して、インターネットトラフィックが NAT ゲートウェイを介してルーティングされているかどうかを判断できます。

  • プライベートサブネットのインスタンスからのトラフィックのルートを追跡できます。これを行うには、プライベートサブネットの Linux インスタンスから traceroute コマンドを実行します。出力で、NAT ゲートウェイのプライベート IP アドレスがホップのいずれか (通常は最初のホップ) に表示されます。

  • プライベートサブネットのインスタンスから接続すると、ソース IP アドレスが表示されるようなサードパーティのウェブサイトやツールを使用します。ソース IP アドレスとして NAT ゲートウェイの Elastic IP アドレスが表示される必要があります。NAT ゲートウェイの Elastic IP アドレスとプライベート IP アドレスの情報は、Amazon VPC コンソールの [NAT Gateways] ページで確認できます。

上のテストが失敗した場合は、「NAT ゲートウェイのトラブルシューティング」を参照してください。

インターネット接続のテスト

次の例は、プライベートサブネットのインスタンスからインターネットに接続できるかどうかをテストする方法を示しています。

  1. パブリックサブネットのインスタンスを起動します (これを踏み台サーバーとして使用します)。詳細については、「サブネット内にインスタンスを起動する」を参照してください。起動ウィザードで、Amazon Linux AMI を選択し、インスタンスにパブリック IP アドレスを割り当てます。ローカルネットワークの IP アドレス範囲からのインバウンド SSH トラフィック (このテストには 0.0.0.0/0 を使用できます) とプライベートサブネットの IP アドレス範囲への SSH トラフィックが、セキュリティグループのルールで許可されていることを確認します。

  2. プライベートサブネットのインスタンスを起動します。起動ウィザードで、Amazon Linux AMI を選択します。インスタンスにパブリック IP アドレスを割り当てないでください。パブリックサブネットで起動したインスタンスの IP アドレスからのインバウンド SSH トラフィックとすべてのアウトバウンド ICMP トラフィックが、セキュリティグループのルールで許可されていることを確認します。パブリックサブネットのインスタンスの起動に使用したのと同じキーペアを選択する必要があります。

  3. ローカルコンピュータの SSH エージェント転送を設定し、パブリックサブネットの踏み台サーバーに接続します。詳細については、「To configure SSH agent forwarding for Linux or OS X」または「To configure SSH agent forwarding for Windows (PuTTY)」を参照してください。

  4. 踏み台サーバーからプライベートサブネットのインスタンスに接続し、プライベートサブネットのインスタンスからインターネット接続をテストします。詳細については、「To test the Internet connection」を参照してください。

To configure SSH agent forwarding for Linux or OS X

  1. From your local machine, add your private key to the authentication agent.

    For Linux, use the following command:

    Copy
    ssh-add -c mykeypair.pem

    For OS X, use the following command:

    Copy
    ssh-add -K mykeypair.pem
  2. Connect to your instance in the public subnet using the -A option to enable SSH agent forwarding, and use the instance's public address; for example:

    Copy
    ssh -A ec2-user@54.0.0.123

To configure SSH agent forwarding for Windows (PuTTY)

  1. Download and install Pageant from the PuTTY download page, if not already installed.

  2. Convert your private key to .ppk format. For more information, see Converting Your Private Key Using PuTTYgen in the Linux インスタンス用 Amazon EC2 ユーザーガイド.

  3. Start Pageant, right-click the Pageant icon on the taskbar (it may be hidden), and choose Add Key. Select the .ppk file you created, enter the passphrase if required, and choose Open.

  4. Start a PuTTY session and connect to your instance in the public subnet using its public IP address. For more information, see Starting a PuTTY Session. In the Auth category, ensure that you select the Allow agent forwarding option, and leave the Private key file for authentication field blank.

To test the Internet connection

  1. From your instance in the public subnet, connect to your instance in your private subnet by using its private IP address, for example:

    Copy
    ssh ec2-user@10.0.1.123
  2. From your private instance, test that you can connect to the Internet by running the ping command for a website that has ICMP enabled, for example:

    Copy
    ping ietf.org
    PING ietf.org (4.31.198.44) 56(84) bytes of data.
    64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=1 ttl=47 time=86.0 ms
    64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=2 ttl=47 time=75.6 ms
    ...

    Press Ctrl+C on your keyboard to cancel the ping command. If the ping command fails, see プライベートサブネットのインスタンスからインターネットにアクセスできない.

  3. (Optional) Terminate your instances if you no longer require them. For more information, see Terminate Your Instance in the Linux インスタンス用 Amazon EC2 ユーザーガイド.

NAT ゲートウェイのトラブルシューティング

以下のトピックでは、NAT ゲートウェイの作成時や使用時によく発生する場合がある問題のトラブルシューティングについて説明します。

NAT ゲートウェイの状態が Failed になる

NAT ゲートウェイを作成してその状態が Failed になった場合は、作成時にエラーが発生しています。エラーメッセージを表示するには、Amazon VPC コンソールに移動し、[NAT ゲートウェイ] を選択して NAT ゲートウェイを選択します。エラーメッセージは、詳細ペインの [NAT ゲートウェイ] フィールドに表示されます。

注記

失敗した NAT ゲートウェイは、まもなく (通常は約 1 時間後) 自動的に削除されます。

次の表は、Amazon VPC コンソールに示される失敗の考えられる原因のリストです。示された修復手順のいずれかを適用したら、NAT ゲートウェイの作成を再度試すことができます。

表示されるエラー 理由 修復手順
この NAT ゲートウェイを作成するための十分な空きアドレスがサブネットにありません 指定したサブネットに空きプライベート IP アドレスがありません。NAT ゲートウェイには、サブネットの範囲からプライベート IP アドレスが割り当てられたネットワークインターフェイスが必要です。 サブネットで利用可能な IP アドレスの数を確認するには、Amazon VPC コンソールの [サブネット] ページに移動し、サブネットの詳細ペインで [利用可能な IP] フィールドを参照します。サブネットで空き IP アドレスを作成するには、使用されていないネットワークインターフェイスを削除するか、必要でないインスタンスを終了することができます。
ネットワーク vpc-xxxxxxxx にインターネットゲートウェイがアタッチされていません NAT ゲートウェイは、インターネットゲートウェイがアタッチされた VPC で作成する必要があります。 インターネットゲートウェイを作成して VPC にアタッチします。詳細については、「インターネットゲートウェイをアタッチする」を参照してください。
この NAT ゲートウェイに Elastic IP アドレス eipalloc-xxxxxxxx を関連付けられませんでした 指定した Elastic IP アドレスが存在しないか、見つかりませんでした。 Elastic IP アドレスの割り当て ID を調べて正しく入力されていることを確認します。NAT ゲートウェイを作成しているのと同じリージョンにある Elastic IP アドレスを指定していることを確認します。
Elastic IP アドレス eipalloc-xxxxxxxx はすでに関連付けられています 指定した Elastic IP アドレスが別のリソースにすでに関連付けられていて、NAT ゲートウェイに関連付けることはできません。 Elastic IP アドレスに関連付けられているリソースを確認するには、Amazon VPC コンソールの [Elastic IP] ページに移動し、インスタンス ID またはネットワークインターフェイス ID に指定されている値を参照します。特定のリソースの Elastic IP アドレスが必要ない場合は、その関連付けを解除できます。また、アカウントに新しい Elastic IP アドレスを割り当てることもできます。詳細については、「Elastic IP アドレスの操作」を参照してください。
この NAT ゲートウェイで作成され、内部で使用されているネットワークインターフェイス eni-xxxxxxxx が無効な状態です。もう一度試してください。 NAT ゲートウェイのネットワークインターフェイスの作成中または使用中に問題が発生しました。 このエラーは修正できません。NAT ゲートウェイを作成し直してください。

Elastic IP アドレスまたは NAT ゲートウェイの制限に達した

Elastic IP アドレスの制限に達した場合は、別のリソースに関連付けられている Elastic IP アドレスを解除するか、Amazon VPC 制限フォームを使用して制限の引き上げをリクエストできます。

NAT ゲートウェイの制限に達した場合は、次のいずれかを行うことができます。

  • Amazon VPC 制限フォームを使用して制限の引き上げをリクエストします。NAT ゲートウェイの制限はアベイラビリティーゾーンごとに適用されます。

  • NAT ゲートウェイの状態を確認します。状態が PendingAvailableDeleting のゲートウェイは制限数に含まれます。最近 NAT ゲートウェイを削除した場合は、少し待って状態が Deleting から Deleted に変わってから、新しい NAT ゲートウェイを作成してみます。

  • 特定のアベイラビリティーゾーンの NAT ゲートウェイが不要な場合は、まだ制限に達していないアベイラビリティーゾーンで NAT ゲートウェイを作成してみます。

の制限事項の詳細については、「Amazon VPC の制限」を参照してください。

アベイラビリティーゾーンがサポートされていない (NotAvailableInZone)

場合によっては、制約のあるアベイラビリティーゾーン (当社による拡張に制限があるゾーン) で NAT ゲートウェイを作成しようとしている可能性があります。これらのゾーンでは NAT ゲートウェイをサポートできません。別のアベイラビリティーゾーンで NAT ゲートウェイを作成し、それを制約のあるゾーンのプライベートサブネットで使用できます。リソースを制約のないアベイラビリティーゾーンに移動し、リソースと NAT ゲートウェイのアベイラビリティーゾーンを同じにすることができます。

作成した NAT ゲートウェイが表示されなくなった

NAT ゲートウェイの作成時にエラーが発生した可能性があり、作成が失敗しました。状態が failed の NAT ゲートウェイは VPC コンソールに短時間 (通常は 1 時間) 表示された後で、自動的に削除されます。「NAT ゲートウェイの状態が Failed になる」の情報を確認し、新しい NAT ゲートウェイを作成してみてください。

NAT ゲートウェイが ping コマンドに応答しない

NAT ゲートウェイの Elastic IP アドレスまたはプライベート IP アドレスに、インターネット (家庭用コンピュータなど) や VPC のインスタンスから ping を送信しても、応答がありません。NAT ゲートウェイは、プライベートサブネットのインスタンスからインターネットへのトラフィックのみを渡します。

NAT ゲートウェイが動作していることをテストするには、「NAT ゲートウェイのテスト」を参照してください。

プライベートサブネットのインスタンスからインターネットにアクセスできない

上記の NAT ゲートウェイのテスト手順を実行して ping コマンドが失敗するか、インスタンスからインターネットにアクセスできない場合は、次の情報を確認します。

  • NAT ゲートウェイの状態が Available であることを確認します。Amazon VPC コンソールで、[NAT ゲートウェイ] に移動し、詳細ペインの状態情報を参照してください。NAT ゲートウェイの状態が failed である場合は、作成時にエラーがが発生した可能性があります。詳細については、「NAT ゲートウェイの状態が Failed になる」を参照してください。

  • ルートテーブルが正しく設定されていることを確認します。

    • NAT ゲートウェイはパブリックサブネット内にあって、インターネットトラフィックがインターネットゲートウェイにルーティングされるようにルートテーブルが設定されている必要があります。詳細については、「カスタムルートテーブルを作成する」を参照してください。

    • インスタンスはプライベートサブネット内にあって、インターネットトラフィックが NAT ゲートウェイにルーティングされるようにルートテーブルが設定されている必要があります。詳細については、「ルートテーブルの更新」を参照してください。

    • インターネットトラフィックの全体または一部を NAT ゲートウェイの代わりに別のデバイスにルーティングするようなエントリがルートテーブルに含まれていないことを確認します。

  • プライベートインスタンスのセキュリティグループルールにより、アウトバウンドインターネットトラフィックが許可されていることを確認します。ping コマンドを使用するには、ルールにより、アウトバウンド ICMP トラフィックも許可されている必要があります。

    注記

    NAT ゲートウェイ自体は、アウトバウンドリクエストと、アウントバウンドリクエストに応じて受信されるトラフィックのすべてを許可します (つまり、ステートフルです)。

  • パブリックサブネットとプライベートサブネットに関連付けられているネットワーク ACL に、インバウンドまたはアウトバウンドのインターネットトラフィックをブロックするルールが含まれていないことを確認します。ping コマンドを使用するには、ルールにより、インバウンドおよびアウトバウンドの ICMP トラフィックも許可されている必要があります。

    注記

    ネットワーク ACL やセキュリティグループのルールによって削除された接続の診断には、フローログを役立てることができます。詳細については、「VPC フローログ」を参照してください。

  • ping コマンドは、必ず ICMP が有効になっているウェブサイトに対して実行してください。そうでない場合、応答パケットを受け取ることはできません。これをテストするには、自分のコンピュータのコマンドラインターミナルから同じ ping コマンドを実行します。

  • インスタンスから他のリソース (プライベートサブネットの他のインスタンスなど) に ping を実行できることを確認します (セキュリティグループルールにより、これが許可されている場合)。

  • 接続に TCP、UDP、または ICMP プロトコルのみが使用されていることを確認します。

特定のエンドポイントへの TCP 接続が失敗する

他のエンドポイントへの TCP 接続は通常動作しているものの、特定のエンドポイントまたはホストへの TCP 接続が失敗する場合、接続しようとしているエンドポイントがフラグメント化された TCP パケットに応答するかどうかを確認してください。NAT ゲートウェイは現在 TCP の IP フラグメント化をサポートしていません。詳細については、「NAT インスタンスと NAT ゲートウェイの比較」を参照してください。

エンドポイントがフラグメント化された TCP パケットを送信するかどうかを確認するには、パブリック IP アドレスを持つパブリックサブネット内のインスタンスを使用して次の操作をします。

  • 特定のエンドポイントからのフラグメント化が発生するのに十分な大きさのレスポンスをトリガーします。

  • エンドポイントがフラグメント化したパケットを送信していることを確認するため、tcpdump ユーティリティを使用します。

重要

このチェックを実行するにはパブリックサブネットでインスタンスを使用する必要があります。元の接続が失敗したインスタンス、または NAT ゲートウェイまたは NAT インスタンスの背後にあるプライベートサブネットのインスタンスは使用できません。

エンドポイントがフラグメント化された TCP パケットを送信している場合、NAT ゲートウェイの代わりに NAT インスタンスを使用できます。

注記

NAT ゲートウェイも ICMP プロトコルの IP フラグメント化をサポートしていません。大きな ICMP パケットを送信、または受信する診断ツールによって、パケット損失を報告します。たとえば、この ping -s 10000 example.com コマンドは NAT ゲートウェイの背後では機能しません。

Traceroute の出力に NAT ゲートウェイのプライベート IP アドレスが表示されない

インスタンスからインターネットにアクセスできるが、traceroute コマンドを実行すると、出力に NAT ゲートウェイのプライベート IP アドレスが表示されません。この場合、インスタンスはインターネットゲートウェイなどの別のデバイスを使用してインターネットにアクセスしています。インスタンスがあるサブネットのルートテーブルで、次の情報を確認します。

  • インターネットトラフィックを NAT ゲートウェイに送信するルートがあることを確認します。

  • インターネットトラフィックを他の機器 (仮想プライベートゲートウェイやインターネットゲートウェイなど) に送信するためのより具体的なルートがないことを確認します。

インターネット接続が 5 分後に中断される

NAT ゲートウェイを使用する接続が 5分以上アイドル状態のままであると、接続はタイムアウトします。追加のトラフィックを開始して接続を維持するか、TCP キープアライブを使用して接続の中断を防ぐことができます。

IPSec 接続を確立できない

NAT ゲートウェイは現在 IPSec プロトコルをサポートしていません。

送信先への追加の接続を開始できない

同時接続数が上限に達した可能性があります。NAT ゲートウェイは送信先別に最大 65,000 の同時接続をサポートできます。プライベートサブネットのインスタンスで多数の接続が作成されると、この上限に達する場合があります。次のいずれかを試すことができます。

  • アベイラビリティゾーンごとに NAT ゲートウェイを作成し、各ゾーンにクライアントを分散してください。

  • パブリックサブネットで追加の NAT ゲートウェイを作成し、クライアントを複数のプライベートサブネットに分散して、それぞれに別の NAT ゲートウェイへのルートを設定します。

  • 送信先に対してクライアントが作成できる接続の数を制限します。

  • アイドル状態の接続を閉じて容量を解放します。

注記

送信先 IP アドレス、送信先ポート、またはプロトコル (TCP/UDP/ICMP) が変更された場合は、追加の 65,000 の接続を作成できます。

NAT ゲートウェイの使用の管理

デフォルトでは、IAM ユーザーには NAT ゲートウェイを使用するためのアクセス権限がありません。NAT ゲートウェイを作成、説明、削除するアクセス権限をユーザーに付与するための IAM ユーザーポリシーを作成できます。現在、ec2:*NatGateway* API オペレーションのいずれに対しても、リソースレベルのアクセス権限はサポートされていません。Amazon VPC の IAM ポリシーの詳細については、「Amazon VPC のリソースに対するアクセスの制御」を参照してください。

API と CLI の概要

このページで説明しているタスクは、コマンドラインまたは API を使用して実行できます。コマンドラインインターフェイスの詳細と利用可能な API オペレーションの一覧については、「Amazon VPC へのアクセス」を参照してください。

NAT ゲートウェイの作成

NAT ゲートウェイの説明

NAT ゲートウェイの削除