

# NAT ゲートウェイ
<a name="vpc-nat-gateway"></a>

NAT ゲートウェイは、ネットワークアドレス変換 (NAT) サービスです。NAT ゲートウェイを使用すると、プライベートサブネット内のインスタンスは VPC 外のサービスに接続できますが、外部サービスはそれらのインスタンスとの接続を開始できません。

NAT ゲートウェイを作成するときは、次のいずれかの接続タイプを指定します。
+ **パブリック** – (デフォルト) プライベートサブネットのインスタンスは、パブリック NAT ゲートウェイを介してインターネットに接続できますが、このインスタンスは、インターネットから未承諾のインバウンド接続を受信することはできません。パブリックサブネット内にパブリック NAT ゲートウェイを作成します。作成時に Elastic IP アドレスを NAT ゲートウェイに関連付ける必要があります。NAT ゲートウェイへのトラフィックは、VPC のインターネットゲートウェイにルーティングします。パブリック NAT ゲートウェイを使用して、他の VPC やオンプレミスのネットワークに接続することもできます。この場合、NAT ゲートウェイからのトラフィックを Transit Gateway または仮想プライベートゲートウェイ経由でルーティングします。
+ **プライベート** – プライベートサブネットのインスタンスは、プライベート NAT ゲートウェイを介して他の VPC またはオンプレミスのネットワークに接続できます。ただし、このインスタンスは他の VPC またはオンプレミスのネットワークから未承諾のインバウンド接続を受信することはできません。この場合、NAT ゲートウェイからのトラフィックを Transit Gateway または仮想プライベートゲートウェイ経由でルーティングできます。Elastic IP アドレスをプライベート NAT ゲートウェイに関連付けることはできません。プライベート NAT ゲートウェイを使用して VPC にインターネットゲートウェイをアタッチできますが、プライベート NAT ゲートウェイからインターネットゲートウェイにトラフィックをルーティングすると、インターネットゲートウェイによってトラフィックがドロップされます。

NAT ゲートウェイは IPv4 または IPv6 トラフィック ([DNS64 と NAT64](nat-gateway-nat64-dns64.md) を使用) で使用されます。IPv6 経由での送信専用のインターネット通信を有効にするもう 1 つのオプションは、[送信専用インターネットゲートウェイ](egress-only-internet-gateway.md)を使用することです。

プライベート NAT ゲートウェイとパブリック NAT ゲートウェイはどちらも、インスタンスの送信元プライベート IPv4 アドレスを NAT ゲートウェイのプライベート IPv4 アドレスにマッピングしますが、パブリック NAT ゲートウェイの場合、インターネットゲートウェイはパブリック NAT ゲートウェイのプライベート IPv4 アドレスを NAT ゲートウェイに関連付けられた Elastic IP アドレスにマッピングします。インスタンスに応答トラフィックを送信するとき、パブリック NAT ゲートウェイであってもプライベート NAT ゲートウェイであっても、NAT ゲートウェイはアドレスを元の送信元 IP アドレスに変換します。

**考慮事項**
+ 接続は常に NAT ゲートウェイを含む VPC 内から開始する必要があります。
+ トラフィックをトランジットゲートウェイと仮想プライベートゲートウェイにルーティングするときは、パブリック NAT ゲートウェイまたはプライベート NAT ゲートウェイのいずれかを使用します。
+ プライベート NAT ゲートウェイを使用してトランジットゲートウェイまたは仮想プライベートゲートウェイに接続する場合、宛先へのトラフィックはプライベート NAT ゲートウェイのプライベート IP アドレスから送信されます。
+ パブリック NAT ゲートウェイを使用して Transit Gateway または仮想プライベートゲートウェイに接続する場合、送信先へのトラフィックはパブリック NAT ゲートウェイのプライベート IP アドレスから送信されます。パブリック NAT ゲートウェイは、同じ VPC 内のインターネットゲートウェイと組み合わせて使用する場合、その Elastic IP アドレスのみを送信元 IP アドレスとして使用します。

**Topics**
+ [NAT ゲートウェイの基本](nat-gateway-basics.md)
+ [NAT ゲートウェイの使用](nat-gateway-working-with.md)
+ [自動マルチ AZ 拡張用のリージョン NAT ゲートウェイ](nat-gateways-regional.md)
+ [ユースケース](nat-gateway-scenarios.md)
+ [DNS64 と NAT64](nat-gateway-nat64-dns64.md)
+ [NAT ゲートウェイからのトラフィックを検査する](nat-gateway-inspect-traffic.md)
+ [CloudWatch メトリクス](vpc-nat-gateway-cloudwatch.md)
+ [トラブルシューティング](nat-gateway-troubleshooting.md)
+ [料金](nat-gateway-pricing.md)

# NAT ゲートウェイの基本
<a name="nat-gateway-basics"></a>

各 NAT ゲートウェイは、アベイラビリティーゾーン別に作成され、各ゾーンで冗長性を持たせて実装されます。各アベイラビリティーゾーンに作成できる NAT ゲートウェイの数にはクォータがあります。詳細については、「[ゲートウェイ](amazon-vpc-limits.md#vpc-limits-gateways)」を参照してください。

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

NAT ゲートウェイには、次の特性と規則が適用されます。
+ NAT ゲートウェイは、プロトコルとして TCP、UDP、ICMP をサポートします。
+ NAT ゲートウェイは IPv4 または IPv6 トラフィックでサポートされます。IPv6 トラフィックの場合、NAT ゲートウェイは NAT64 を実行します。これを DNS64 (Route 53 Resolver で利用可能) と組み合わせて使用することで、Amazon VPC のサブネット内の IPv6 ワークロードが IPv4 リソースと通信できます。これらの IPv4 サービスは、オンプレミス環境またはインターネット上の、同じ VPC (別のサブネット内) または別の VPC に存在することがあります。
+ NAT ゲートウェイは 5 Gbps の帯域幅をサポートし、100 Gbps まで自動的に拡張します。これ以上の帯域幅が必要な場合は、リソースを分割して複数のサブネットに配置し、サブネットごとに NAT ゲートウェイを作成できます。
+ NAT ゲートウェイは 1 秒あたり 100 万パケットを処理でき、自動的に 1 秒あたり 1,000 万パケットまで拡張できます。この制限を超えると、NAT ゲートウェイはパケットをドロップします。パケット損失を防ぐには、リソースを分割して複数のサブネットに配置し、サブネットごとに個別の NAT ゲートウェイを作成します。
+ 各 IPv4 アドレスは、固有の送信先それぞれに対して最大 55,000 の同時接続をサポートできます。固有の送信先は、送信先 IP アドレス、送信先ポート、およびプロトコル (TCP/UDP/ICMP) の一意の組み合わせで識別されます。この制限は、NAT ゲートウェイに最大 8 個の IPv4 アドレス (1 個のプライマリ IPv4 アドレスと 7 個のセカンダリ IPv4 アドレス) を関連付けることで、引き上げることができます。デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで引き上げることができます。詳細については、「[Elastic IP アドレス](amazon-vpc-limits.md#vpc-limits-eips)」を参照してください。
+ NAT ゲートウェイを作成するときに、NAT ゲートウェイに割り当てられているプライマリプライベート IPv4 アドレスを選択できます。選択しない場合は、サブネットの IPv4 アドレス範囲から自動的に選択されます。プライマリプライベート IPv4 アドレスを変更または削除することはできません。必要に応じて、セカンダリプライベート IPv4 アドレスを追加できます。
+ NAT ゲートウェイにセキュリティグループを関連付けることはできません。セキュリティグループをインスタンスに関連付けて、インバウンドトラフィックとアウトバウンドトラフィックをコントロールできます。
+ NAT ゲートウェイのリクエスタマネージドネットワークインターフェイスが作成されます。ネットワークインターフェイスは Amazon EC2 コンソールで参照できます。説明の中から NAT ゲートウェイの ID を検索します。ネットワークインターフェイスにタグを追加できますが、このネットワークインターフェイスの他のプロパティを変更することはできません。
+ NAT ゲートウェイのサブネットに出入りするトラフィックを管理するには、ネットワーク ACL を使用できます。NAT ゲートウェイはポート 1024 ～ 65535 を使用します。詳細については、「[ネットワーク ACL](vpc-network-acls.md)」を参照してください。
+ VPC ピアリング接続を経由して NAT ゲートウェイにトラフィックをルーティングすることはできません。ただし、VPC ピア接続を介した NAT ゲートウェイからピア接続された VPC の送信先へのトラフィックは、「送信者に戻る」動作をサポートします。リターントラフィックは、送信先 VPC でリターンルートが設定されていなくても、送信元 NAT ゲートウェイに自動的にルーティングされて戻ります。この動作は NAT ゲートウェイに固有であり、標準の EC2 インスタンスには適用されません。これを避けるには、NACL を使用してリターントラフィックをブロックします。

  サポート外:

  ```
  Client → Peering → NAT → Internet
  ```

  サポート対象:

  ```
  Client → NAT → Peering → Destination
  ```
+ 仮想プライベートゲートウェイを使用して Site-to-Site VPN または Direct Connect から NAT ゲートウェイへの方向のトラフィックをルーティングすることはできません。仮想プライベートゲートウェイではなく、トランジットゲートウェイを使用する場合は、Site-to-Site VPN または Direct Connect から NAT ゲートウェイにトラフィックをルーティングできます。
+ NAT ゲートウェイは最大伝送単位 (MTU) が 8500 のトラフィックをサポートしますが、以下の点に注意する必要があります。
  + MTU とは、接続を介して渡すことができる最大許容パケットサイズ (バイト) です。接続の MTU が大きいほど、より多くのデータを単一のパケットで渡すことができます。
  + NAT ゲートウェイに到達した 8,500 バイトを超えるパケットはドロップ (または該当する場合はフラグメント化) されます。
  + パブリック NAT ゲートウェイを使用してインターネット経由でリソースと通信する際にパケットロスが発生するのを防ぐため、EC2 インスタンスの MTU 設定は 1500 バイトを超えないようにしてください。インスタンスの MTU の確認と設定については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスのネットワーク MTU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/network_mtu.html#set_mtu)」を参照してください。
  + NAT ゲートウェイは、FRAG\$1NEEDED ICMPv4 パケットとパケット・トゥー・ビッグ (PTB) ICMPv6 パケットによるパス MTU ディスカバリー (PMTUD) をサポートします。
  + NAT ゲートウェイは、すべてのパケットに対して最大セグメントサイズ (MSS) クランプを適用します。詳細については、「[RFC879](https://datatracker.ietf.org/doc/html/rfc879)」を参照してください。

# NAT ゲートウェイの使用
<a name="nat-gateway-working-with"></a>

Amazon VPC コンソールを使用して、NAT ゲートウェイを作成および管理できます。

**Topics**
+ [NAT ゲートウェイの使用を制御する](#nat-gateway-iam)
+ [NAT ゲートウェイを作成する](#nat-gateway-creating)
+ [セカンダリ IP アドレスの関連付けを編集する](#nat-gateway-edit-secondary)
+ [NAT ゲートウェイのタグ付け](#nat-gateway-tagging)
+ [NAT ゲートウェイの削除](#nat-gateway-deleting)
+ [コマンドラインの概要](#nat-gateway-api-cli)

## NAT ゲートウェイの使用を制御する
<a name="nat-gateway-iam"></a>

デフォルトでは、 ユーザーには NAT ゲートウェイを使用するためのアクセス権限がありません。NAT ゲートウェイを作成、説明、削除するアクセス許可をユーザーに付与するポリシーがアタッチされた IAM ロールを作成できます。詳細については、「[Amazon VPC の Identity and Access Management](security-iam.md)」を参照してください。

## NAT ゲートウェイを作成する
<a name="nat-gateway-creating"></a>

NAT ゲートウェイを作成するには、以下の手順を実行します。

**関連クォータ**
+ アカウントに割り当てられた Elastic IP アドレスの数を使い果たすと、パブリック NAT ゲートウェイを作成できなくなります。詳細については、「[Elastic IP アドレス](amazon-vpc-limits.md#vpc-limits-eips)」を参照してください。
+ プライベート NAT ゲートウェイには、最大 8 個のプライベート IPv4 アドレスを割り当てることができます。この制限は調整できません。
+ デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで引き上げることができます。詳細については、「[Elastic IP アドレス](amazon-vpc-limits.md#vpc-limits-eips)」を参照してください。

**NAT ゲートウェイを作成するには**

1. Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. ナビゲーションペインで **[NAT ゲートウェイ]** を選択します。

1. **[NAT ゲートウェイを作成]** を選択します。

1. (オプション) NAT ゲートウェイの名前を指定します。これにより、キーが **Name**、値は指定した名前であるタグが作成されます。

1. NAT ゲートウェイを作成する先のサブネットを選択します。

1. **[接続タイプ]** で、パブリック NAT ゲートウェイを作成する場合はデフォルトの **[パブリック]** が選択されたままにしておき、プライベート NAT ゲートウェイを作成する場合は **[プライベート]** を選択します。パブリック NAT ゲートウェイとプライベート NAT ゲートウェイの違いに関する詳細については、「[NAT ゲートウェイ](vpc-nat-gateway.md)」を参照してください。

1. **[パブリック]** を選択した場合は、以下の手順に従うか、ステップ 8 に進みます。

   1. **[Elastic IP 割り当て ID]** を選択して NAT ゲートウェイに Elastic IP アドレスを割り当てるか、**[Elastic IP を割り当て]** を選択してパブリック NAT ゲートウェイのアドレスを自動的に割り当てます。デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで引き上げることができます。詳細については、「[Elastic IP アドレス](amazon-vpc-limits.md#vpc-limits-eips)」を参照してください。
**重要**  
Elastic IP アドレスをパブリック NAT ゲートウェイに割り当てる場合、EIP のネットワークボーダーグループは、パブリック NAT ゲートウェイを起動するアベイラビリティーゾーン (AZ) のネットワークボーダーグループと一致する必要があります。同じでない場合、NAT ゲートウェイは起動に失敗します。サブネットの詳細を表示すると、サブネットの AZ のネットワークボーダーグループを確認できます。同様に、EIP アドレスの詳細を表示することで EIP のネットワークボーダーグループを表示できます。詳細については、「[1. Elastic IP アドレスを割り当てる](WorkWithEIPs.md#allocate-eip)」を参照してください。

   1. (オプション) **[追加設定]** を選択して、**[プライマリプライベート IP アドレス - オプション]** で NAT ゲートウェイのプライベート IPv4 アドレスを入力します。アドレスを入力しない場合は、AWS が自動的に、NAT ゲートウェイがあるサブネットからのプライベート IPv4 アドレスを NAT ゲートウェイにランダムに割り当てます。

   1. ステップ 11 に進みます。

1. **[プライベート]** を選択した場合は、**[追加設定]** の **[プライベート IPv4 アドレスの割り当て方法]** で以下のいずれかを選択します。
   + **[自動的に割り当て]**: AWS は、NAT ゲートウェイのプライマリプライベート IPv4 アドレスを選択します。**[自動割り当てのプライベート IPv4 アドレス数]** には、NAT ゲートウェイのセカンダリプライベート IPv4 アドレスの数をオプションで指定できます。AWS は、NAT ゲートウェイのサブネットからこれらの IP アドレスをランダムに選択します。
   + **[カスタム]**: **[プライマリプライベート IPv4 アドレス]** で NAT ゲートウェイのプライマリプライベート IPv4 アドレスを選択します。**[セカンダリプライベート IPv4 アドレス]** には、オプションで NAT ゲートウェイに最大 7 つのセカンダリプライベート IPv4 アドレスを指定できます。

1. ステップ 8 で **[カスタム]** を選択した場合は、このステップをスキップしてください。**[自動割り当て]** を選択した場合は、**[自動で割り当てられたプライベート IP アドレスの数]** で、AWS がこのプライベート NAT ゲートウェイに割り当てるセカンダリ IPv4 アドレスの数を選択します。IPv4 アドレスは、最大 7 個選択できます。
**注記**  
セカンダリ IPv4 アドレスはオプションであり、NAT ゲートウェイを使用するワークロードの単一の送信先 (同じ送信先 IP、送信先ポート、およびプロトコル) への同時接続数が 55,000 個を超える場合に割り当てる、または割り振られる必要があります。セカンダリ IPv4 アドレスは利用可能なポート数を増やすことから、ワークロードが NAT ゲートウェイを使用して確立できる同時接続数の上限も増加します。

1. ステップ 9 で **[自動割り当て]** を選択した場合は、このステップをスキップしてください。**[カスタム]** を選択した場合は、以下を実行します。

   1. **[プライマリプライベート IPv4 アドレス]** に、プライベート IPv4 アドレスを入力します。

   1. **[セカンダプライベート IPv4 アドレス]** に、最大 7 個のセカンダリプライベート IPv4 アドレスを入力します。

1. (オプション) タグを NAT ゲートウェイに追加するには、**[Add new tag]** (新しいタグを追加) を選択し、キー名と値を入力します。最大 50 個のタグを追加できます。

1. **[NAT ゲートウェイを作成]** を選択します。

1. NAT ゲートウェイの初期ステータスは `Pending` です 。ステータスが `Available` に変わると、NAT ゲートウェイを使用できるようになります。必要に応じて、ルートテーブルを更新するようにしてください。例については「[NAT ゲートウェイのユースケース](nat-gateway-scenarios.md)」を参照してください。

NAT ゲートウェイの状態が `Failed` である場合は、作成時にエラーが発生しています。詳細については、「[NAT ゲートウェイの作成に失敗する](nat-gateway-troubleshooting.md#nat-gateway-troubleshooting-failed)」を参照してください。

## セカンダリ IP アドレスの関連付けを編集する
<a name="nat-gateway-edit-secondary"></a>

各 IPv4 アドレスは、固有の送信先それぞれに対して最大 55,000 の同時接続をサポートできます。固有の送信先は、送信先 IP アドレス、送信先ポート、およびプロトコル (TCP/UDP/ICMP) の一意の組み合わせで識別されます。この制限は、NAT ゲートウェイに最大 8 個の IPv4 アドレス (1 個のプライマリ IPv4 アドレスと 7 個のセカンダリ IPv4 アドレス) を関連付けることで、引き上げることができます。デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで引き上げることができます。詳細については、「[Elastic IP アドレス](amazon-vpc-limits.md#vpc-limits-eips)」を参照してください。

[NAT ゲートウェイの CloudWatch メトリクス](metrics-dimensions-nat-gateway.md)である *ErrorPortAllocation* と *PacketsDropCount* を使用して、NAT ゲートウェイがポート割り当てエラーを生成しているかどうか、またはパケットをドロップしているかどうかを判断できます。この問題を解決するには、NAT ゲートウェイにセカンダリ IPv4 アドレスを追加します。

**考慮事項**
+ セカンダリプライベート IPv4 アドレスは、プライベート NAT ゲートウェイの作成時、またはこのセクションの手順を使用して NAT ゲートウェイを作成した後で追加できます。Elastic IP アドレスをパブリック NAT ゲートウェイに追加できるのは、このセクションの手順を使用して NAT ゲートウェイを作成した後のみです。
+ NAT ゲートウェイには、最大 8 個の IPv4 アドレス (1 個のプライマリ IPv4 アドレスと 7 個のセカンダリ IPv4 アドレス) を関連付けることができます。プライベート NAT ゲートウェイには、最大 8 個のプライベート IPv4 アドレスを割り当てることができます。デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで引き上げることができます。詳細については、「[Elastic IP アドレス](amazon-vpc-limits.md#vpc-limits-eips)」を参照してください。

**セカンダリ IPv4 アドレスの関連付けを編集する**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで **[NAT ゲートウェイ]** を選択します。

1. セカンダリ IPv4 アドレスの関連付けを編集する NAT ゲートウェイを選択します。

1. **[アクション]** を選択してから、**[セカンダリ IP アドレスの関連付けを編集]** を選択します。

1. プライベート NAT ゲートウェイのセカンダリ IPv4 アドレスの関連付けを編集している場合は、**[アクション]** で **[新しい IPv4 アドレスの割り当て]** または **[既存の IPv4 アドレスの割り当てを解除する]** を選択します。パブリック NAT ゲートウェイのセカンダリ IPv4 アドレスの関連付けを編集している場合は、**[アクション]** で **[新しい IPv4 アドレスの関連付け]** または **[既存の IPv4 アドレスの関連付けを解除する]** を選択します。

1. 次のいずれかを行います。
   + 新しい IPv4 アドレスの割り当てまたは関連付けを選択した場合は、以下を実行します。

     1. このステップは必須です。プライベート IPv4 アドレスを選択する必要があります。**[プライベート IPv4 アドレスの割り当て方法]** を選択します。
        + **[自動割り当て]**: AWS がプライマリプライベート IPv4 アドレスを自動的に選択します。AWS が NAT ゲートウェイに割り当てるセカンダリプライベート IPv4 アドレス (最大 7 個) を割り当てるかどうかはユーザーが選択します。AWS は自動的に、NAT ゲートウェイがあるサブネットからのアドレスをランダムに選択して割り当てます。
        + **[カスタム]**: NAT ゲートウェイに割り当てるプライマリプライベート IPv4 アドレスと、最大 7 個のセカンダリプライベート IPv4 アドレスを選択します。

     1. **[Elastic IP 割り当て ID]** で、セカンダリ IPv4 アドレスとして追加する Elastic IP アドレスを選択します。このステップは必須です。プライベート IPv4 アドレスとともに、Elastic IP アドレスも選択する必要があります。**[プライベート IP アドレスの割り当て方法]** で **[カスタム]** を選択した場合は、追加する Elastic IP アドレスごとにプライベート IPv4 アドレスを入力する必要もあります。
**重要**  
セカンダリ EIP をパブリック NAT ゲートウェイに割り当てる場合、EIP のネットワークボーダーグループは、パブリック NAT ゲートウェイを起動するアベイラビリティーゾーン (AZ) のネットワークボーダーグループと一致する必要があります。同じでない場合、EIP は割り当てに失敗します。サブネットの詳細を表示すると、サブネットの AZ のネットワークボーダーグループを確認できます。同様に、EIP アドレスの詳細を表示することで EIP のネットワークボーダーグループを表示できます。詳細については、「[1. Elastic IP アドレスを割り当てる](WorkWithEIPs.md#allocate-eip)」を参照してください。

     NAT ゲートウェイには、最大 8 個の IP アドレスを関連付けることができます。これがパブリック NAT ゲートウェイである場合、リージョンあたりの Elastic IP アドレス数にデフォルトのクォータ制限があります。詳細については、「[Elastic IP アドレス](amazon-vpc-limits.md#vpc-limits-eips)」を参照してください。
   + 新しい IPv4 アドレスの割り当ての解除、または関連付けの解除を選択した場合は、以下を実行します。

     1. **[割り当てを解除する既存のセカンダリ IP アドレス]** で、割り当てを解除するセカンダリ IP アドレスを選択します。

     1. (オプション) **[接続ドレイン期間]** には、接続がまだ進行中の場合に IP アドレスを強制的に解放するまでの最大待機時間 (秒単位) を入力します。値を指定しない場合のデフォルト値は 350 秒です。

1. **[Save changes]** (変更の保存) をクリックします。

NAT ゲートウェイの状態が `Failed` である場合は、作成時にエラーが発生しています。詳細については、「[NAT ゲートウェイの作成に失敗する](nat-gateway-troubleshooting.md#nat-gateway-troubleshooting-failed)」を参照してください

## NAT ゲートウェイのタグ付け
<a name="nat-gateway-tagging"></a>

NAT ゲートウェイを識別したり、組織のニーズに応じて分類するのに役立つように、NAT ゲートウェイにタグを付けることができます。タグの使用の詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 リソースのタグ付け](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)」を参照してください。

コスト割り当てタグは、NAT ゲートウェイでサポートされます。そのため、タグを使用して AWS 請求書を整理し、自分のコスト構造を反映することもできます。詳細については、「*AWS Billing ユーザーガイド*」の「[コスト配分タグの使用](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)」を参照してください。タグによるコスト配分レポートの設定の詳細については、「*AWS アカウント請求について*」の「[毎月のコスト配分レポート](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/configurecostallocreport.html)」に関する記事を参照してください。

**NAT ゲートウェイにタグを付ける**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで **[NAT ゲートウェイ]** を選択します。

1. タグ付けする NAT ゲートウェイを選択し、**[アクション]** を選択します。次に、**[タグを管理]** を選択します。

1. **[新しいタグを追加]** を選択して、タグの **[キー]** と **[値]** を定義します。最大 50 個のタグを追加できます。

1. **[保存]** を選択します。

## NAT ゲートウェイの削除
<a name="nat-gateway-deleting"></a>

不要になった NAT ゲートウェイは削除できます。NAT ゲートウェイを削除すると、そのエントリは Amazon VPC コンソールに 1 時間ほど表示され続けますが、その後自動的に削除されます。このエントリを手動で削除することはできません。

NAT ゲートウェイを削除すると、Elastic IP アドレスとの関連付けは解除されますが、アドレスはアカウントから解放されません。NAT ゲートウェイを削除する場合、NAT ゲートウェイのルートを削除または更新するまで、ルートの状態は `blackhole` になります。

**NAT ゲートウェイを削除するには**

1. Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. ナビゲーションペインで **[NAT ゲートウェイ]** を選択します。

1. NAT ゲートウェイのラジオボタンを選択し、[** アクション **]、[** NAT ゲートウェイの削除 **] の順に選択します。

1. 確認を求められたら、「**delete**」と入力し、[**削除**] を選択します。

1. NAT ゲートウェイに関連付けられた Elastic IP アドレスが不要になった場合は、そのアドレスを解放することをお勧めします。詳細については、「[5. Elastic IP アドレスをリリース](WorkWithEIPs.md#release-eip)」を参照してください。

## コマンドラインの概要
<a name="nat-gateway-api-cli"></a>

このページで説明しているタスクは、コマンドラインを使用して実行できます。

**プライベート NAT ゲートウェイにプライベート IPv4 アドレスを割り当てる**
+ [assign-private-nat-gateway-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-private-nat-gateway-address.html) (AWS CLI)
+ [Register-EC2PrivateNatGatewayAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2PrivateNatGatewayAddress.html) (AWS Tools for Windows PowerShell)

**Elastic IP アドレスとプライベート IPv4 アドレスをパブリック NAT ゲートウェイに関連付ける**
+ [associate-nat-gateway-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-nat-gateway-address.html) (AWS CLI)
+ [Register-EC2NatGatewayAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2NatGatewayAddress.html) (AWS Tools for Windows PowerShell)

**NAT ゲートウェイを作成する**
+ [create-nat-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-nat-gateway.html) (AWS CLI)
+ [New-EC2NatGateway](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NatGateway.html) (AWS Tools for Windows PowerShell)

**NAT ゲートウェイを削除する**
+ [delete-nat-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-nat-gateway.html) (AWS CLI)
+ [Remove-EC2NatGateway](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2NatGateway.html) (AWS Tools for Windows PowerShell)

**NAT ゲートウェイを記述する**
+ [describe-nat-gateways](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-nat-gateways.html) (AWS CLI)
+ [Get-EC2NatGateway](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2NatGateway.html) (AWS Tools for Windows PowerShell)

**パブリック NAT ゲートウェイからセカンダリ Elastic IP アドレスの関連付けを解除する**
+ [disassociate-nat-gateway-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-nat-gateway-address.html) (AWS CLI)
+ [Unregister-EC2NatGatewayAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2NatGatewayAddress.html) (AWS Tools for Windows PowerShell)

**NAT ゲートウェイにタグを付ける**
+ [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) (AWS CLI)
+ [New-EC2Tag](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Tag.html) (AWS Tools for Windows PowerShell)

**プライベート NAT ゲートウェイからセカンダリ IPv4 アドレスの割り当てを解除する**
+ [unassign-private-nat-gateway-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-private-nat-gateway-address.html) (AWS CLI)
+ [Unregister-EC2PrivateNatGatewayAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2PrivateNatGatewayAddress.html) (AWS Tools for Windows PowerShell)

# 自動マルチ AZ 拡張用のリージョン NAT ゲートウェイ
<a name="nat-gateways-regional"></a>

ネットワークアーキテクチャを簡素化し、セキュリティ体制を改善し、デフォルトで高可用性を設定する場合は、リージョン NAT ゲートウェイを使用します。リージョン NAT ゲートウェイは、ワークロードの存在に基づいてアベイラビリティーゾーン間で自動的に拡張されます。単一のアベイラビリティーゾーンで動作する標準 NAT ゲートウェイ (ゾーン NAT ゲートウェイと呼ばれます) とは異なり、リージョン NAT ゲートウェイはワークロードに従って自動高可用性を提供します。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/rnat.drawio.png)


左側の図 A は、ゾーン NAT ゲートウェイを使用した現在のセットアップを示しています。まず、アベイラビリティーゾーンごとにゾーン NAT ゲートウェイを作成し、パブリックサブネットで NAT をホストします。次に、アベイラビリティーゾーンごとにプライベートサブネットからそのアベイラビリティーゾーンの NAT への個別のルートを設定します。高可用性を確保するため、ワークロードが新しいアベイラビリティーゾーンに拡張されるたびに、このステップを繰り返します。さらに、アベイラビリティーゾーンごとに NAT サブネットのルートテーブルにインターネットゲートウェイのルートを追加する必要があります。

一方、リージョン NAT ゲートウェイでは、パブリックサブネットを作成してホストする必要はありません。また、ワークロードが新しいアベイラビリティーゾーンに拡張されるたびに、NAT ゲートウェイを作成および削除したり、ルートテーブルを編集したりする必要はありません。代わりに、リージョンモードの NAT ゲートウェイを作成し、VPC を選択するだけで、ワークロードの存在に基づいてすべての AZ 間で自動的に拡張および縮小され、高可用性が提供されます。図 B に示すように、プライベートサブネット内のリソースからのトラフィックをすべての AZ 間でこの単一のリージョン NAT ゲートウェイ ID にルーティングすることも、AZ 内のサブネット間で同じルートテーブルを使用してネットワークアドレス変換を実行することもできます。リージョン NAT ゲートウェイを作成すると、AWS は自動的にそのルートテーブルを作成します。このテーブルには、インターネットゲートウェイへの事前設定されたルートが付属しています。このルートテーブルを使用して、ミドルボックスに戻りルートを追加できます。



## 利点
<a name="benefits"></a>

リージョン NAT ゲートウェイには以下の利点があります。
+ **セットアップの簡素化** – ネットワークインターフェイスを持つすべてのアベイラビリティーゾーンで単一の NAT ID を使用するため、異なるアベイラビリティーゾーンのサブネットに同じルートエントリを使用できます。
+ **セキュリティの強化** – パブリックサブネットは必要ありません。リージョン NAT ゲートウェイは、独自のルートテーブルを持つスタンドアロンリソースであり、リージョン NAT ゲートウェイをホストするために VPC 内のパブリックサブネットを必要としないため、パブリック接続を使用してサブネット内のプライベートリソースを誤って設定する可能性が低くなります。
+ **自動高可用性** — ワークロードフットプリントを自動的に拡張および縮小し、デフォルトで高可用性を提供するゾーンアフィニティを維持します。
+ **ポートと IP の制限の引き上げ** – リージョン NAT ゲートウェイは、アベイラビリティーゾーンごとに最大 32 個の IP アドレスをサポートします (ゾーン NAT ゲートウェイの場合は 8 個)。各 IP アドレスは、一般的な送信先 (送信先 IP、送信先ポート、プロトコルの一意の組み合わせで識別) への同時接続の制限を 55,000 引き上げます。

## リージョン NAT ゲートウェイを使用するタイミング
<a name="when-to-use-regional-nat-gateways"></a>

プライベート接続を必要とするユースケースを除くすべてのユースケースで、リージョン NAT ゲートウェイを使用することを検討してください。リージョン NAT ゲートウェイはプライベート接続を提供しないため、プライベート NAT ユースケースではゾーンアベイラビリティーモードで NAT ゲートウェイを使用することをお勧めします。

## リージョン NAT ゲートウェイの仕組み
<a name="how-regional-nat-gateways-work"></a>

新しいアベイラビリティーゾーンでリソースを起動すると、リージョン NAT ゲートウェイはそのアベイラビリティーゾーン内のネットワークインターフェイス (ENI) の存在を検出し、自動的にそのゾーンに拡張します。同様に、NAT ゲートウェイはアクティブなワークロードがないアベイラビリティーゾーンから縮小します。

リソースがインスタンス化された後、リージョン NAT ゲートウェイが新しいアベイラビリティーゾーンに拡張されるまでに最大 60 分かかる場合があります。この拡張が完了するまで、このリソースからの関連するトラフィックは、既存のアベイラビリティーゾーンのいずれかのリージョン NAT ゲートウェイによってゾーン間で処理されます。

リージョン NAT ゲートウェイは 2 つのモードをサポートします。
+ **自動モード** – このモードでは、AWS は IP アドレスとアベイラビリティーゾーンの拡張を自動的に管理します (推奨)。このモードで独自の IP アドレスを使用し、Amazon VPC IPAM を使用する場合は、「*Amazon VPC IPAM ユーザーガイド*」の「[IPAM ポリシーを使用してパブリック IPv4 割り当て戦略を定義する](https://docs.aws.amazon.com/ipam/define-public-ipv4-allocation-strategy-with-ipam-policies.xml)」を参照してください。
+ **手動モード** – このモードでは、各アベイラビリティーゾーンの IP アドレスを手動で管理し、ネットワークアドレス変換を制御します。手動モードでは、アベイラビリティーゾーン間で NAT ゲートウェイを拡張および縮小する責任がユーザーにあります。

## 料金
<a name="pricing"></a>

料金については、「[Amazon VPC の料金](https://aws.amazon.com/vpc/pricing/)」を参照してください。

## リージョン NAT ゲートウェイを作成する
<a name="create-a-regional-nat-gateway"></a>

### コンソールを使用する
<a name="using-the-console"></a>

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで **[NAT ゲートウェイ]** を選択します。

1. **[NAT ゲートウェイを作成]** を選択します。

1. **[アベイラビリティーモード]** で、**[リージョン]** を選択します。リージョンの可用性を選択するときは、サブネットを指定する必要はありません。

1. VPC を選択してください。

1. 残りの設定を完了し、**[NAT ゲートウェイの作成]** を選択します。

### AWS CLI の使用
<a name="using-the-aws-cli"></a>

リージョン NAT ゲートウェイを作成する

```
aws ec2 create-nat-gateway --vpc-id vpc-12345678 --availability-mode regional
```

NAT ゲートウェイの詳細を表示する

```
aws ec2 describe-nat-gateways --nat-gateway-ids nat-12345678
```

IP アドレスを追加する (手動モード)

```
aws ec2 associate-nat-gateway-address --nat-gateway-id nat-12345678 --availability-zone us-east-1b --allocation-ids eipalloc-12345678
```

IP アドレスを削除する

```
aws ec2 disassociate-nat-gateway-address --nat-gateway-id nat-12345678 --association-ids eipassoc-12345678
```

リージョン NAT ゲートウェイを削除する

```
aws ec2 delete-nat-gateway --nat-gateway-id nat-12345678
```

## ゾーン NAT ゲートウェイからリージョン NAT ゲートウェイへの変換
<a name="convert-from-zonal-to-regional-nat-gateways"></a>

**重要**  
これにより、既存の接続がリセットされます。メンテナンスウィンドウでこれらのステップを完了することをお勧めします。

既存のゾーン NAT ゲートウェイをリージョン NAT ゲートウェイに変換するには、次の 2 つの方法のいずれかを使用します。

**新しい IP アドレスでリージョン NAT ゲートウェイを使用しても問題ない場合:**

1. 新しいリージョン NAT ゲートウェイを作成する

1. リージョン NAT ゲートウェイを参照するようにルートテーブルを更新する

1. 古いゾーン NAT ゲートウェイを削除する

このアプローチでは、新しい IP アドレスを使用し、ルートが更新されると既存の接続をリセットします。

**リージョン NAT ゲートウェイで既存の IP アドレスを再利用する場合:**

1. 既存のゾーン NAT ゲートウェイを削除して IP アドレスを解放する

1. リリースされた IP アドレスを使用してリージョン NAT ゲートウェイを作成する

1. リージョン NAT ゲートウェイを参照するようにルートテーブルを更新する

このアプローチでは IP アドレスは保持されますが、移行中にトラフィックが中断されるため、メンテナンスウィンドウが必要です。

# NAT ゲートウェイのユースケース
<a name="nat-gateway-scenarios"></a>

次に、パブリック NAT ゲートウェイおよびプライベート NAT ゲートウェイのユースケースの例を示します。

**Topics**
+ [プライベートサブネットからインターネットにアクセスする](#public-nat-internet-access)
+ [許可リストに含まれる IP アドレスを使用してネットワークにアクセスする](#private-nat-allowed-range)
+ [重複するネットワーク間の通信を有効にする](#private-nat-overlapping-networks)

## プライベートサブネットからインターネットにアクセスする
<a name="public-nat-internet-access"></a>

パブリック NAT ゲートウェイを使用して、プライベートサブネット内のインスタンスがアウトバウンドトラフィックをインターネットへの送信を有効にすると同時に、インターネットからインスタンスへの接続の確立を防ぎます。

**Topics**
+ [概要:](#public-nat-gateway-overview)
+ [ルーティング](#public-nat-gateway-routing)
+ [パブリック NAT ゲートウェイのテスト](#public-nat-gateway-testing)

### 概要:
<a name="public-nat-gateway-overview"></a>

次の図表は、このユースケースを示しています。アベイラビリティーゾーンが 2 つあり、それぞれのアベイラビリティーゾーンに 2 つのサブネットがあります。各サブネットのルートテーブルは、トラフィックのルーティング方法を決定します。アベイラビリティーゾーン A では、パブリックサブネットのインスタンスはインターネットゲートウェイへのルートを介してインターネットに到達できますが、プライベートサブネットのインスタンスにはインターネットへのルートがありません。アベイラビリティーゾーン B では、パブリックサブネットに NAT ゲートウェイが含まれており、プライベートサブネット内のインスタンスは、パブリックサブネット内の NAT ゲートウェイへのルートを介してインターネットに到達できます。プライベート NAT ゲートウェイとパブリック NAT ゲートウェイはどちらも、インスタンスの送信元プライベート IPv4 アドレスをプライベート NAT ゲートウェイのプライベート IPv4 アドレスにマッピングしますが、パブリック NAT ゲートウェイの場合、インターネットゲートウェイはパブリック NAT ゲートウェイのプライベート IPv4 アドレスを NAT ゲートウェイに関連付けられた Elastic IP アドレスにマッピングします。インスタンスに応答トラフィックを送信するとき、パブリック NAT ゲートウェイであってもプライベート NAT ゲートウェイであっても、NAT ゲートウェイはアドレスを元の送信元 IP アドレスに変換します。

![\[パブリックサブネットとプライベートサブネット、NAT ゲートウェイ、およびインターネットゲートウェイを備えた VPC です。\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/public-nat-gateway-diagram.png)


アベイラビリティーゾーン A のプライベートサブネットにあるインスタンスもインターネットにアクセスする必要がある場合は、このサブネットからアベイラビリティーゾーン B の NAT ゲートウェイへのルートを作成することができます。または、インターネットアクセスを必要とするリソースが含まれる各アベイラビリティーゾーンに NAT ゲートウェイを作成することで、耐障害性を向上させることができます。図の例については、「[例: プライベートサブネットにサーバーがある VPC および NAT](vpc-example-private-subnets-nat.md)」を参照してください。

### ルーティング
<a name="public-nat-gateway-routing"></a>

以下は、アベイラビリティーゾーン A のパブリックサブネットに関連付けられたルートテーブルです。最初のエントリはローカルルートで、サブネット内のインスタンスがプライベート IP アドレスを使用して VPC 内の他のインスタンスとの通信を有効にします。2 番目のエントリは、他のすべてのサブネットトラフィックをインターネットゲートウェイに送信し、サブネット内のインスタンスのインターネットアクセスを有効にします。


| ルーティング先 | ターゲット | 
| --- | --- | 
| VPC CIDR | ローカル | 
| 0.0.0.0/0 | internet-gateway-id | 

以下は、アベイラビリティーゾーン A のプライベートサブネットに関連付けられているルートテーブルです。エントリはローカルルートで、サブネット内のインスタンスはプライベート IP アドレスを使用して VPC 内の他のインスタンスとの通信を有効にします。このサブネットのインスタンスはインターネットにアクセスできません。


| ルーティング先 | ターゲット | 
| --- | --- | 
| VPC CIDR | ローカル | 

以下は、アベイラビリティーゾーン B のパブリックサブネットに関連付けられているルートテーブルです。最初のエントリはローカルルートで、サブネット内のインスタンスがプライベート IP アドレスを使用して VPC 内の他のインスタンスとの通信を有効にします。2 番目のエントリは、他のすべてのサブネットトラフィックをインターネットゲートウェイに送信し、サブネット内の NAT ゲートウェイのインターネットアクセスを有効にします。


| ルーティング先 | ターゲット | 
| --- | --- | 
| VPC CIDR | ローカル | 
| 0.0.0.0/0 | internet-gateway-id | 

以下は、アベイラビリティーゾーン B のプライベートサブネットに関連付けられているルートテーブルです。最初のエントリはローカルルートで、サブネット内のインスタンスがプライベート IP アドレスを使用して VPC 内の他のインスタンスとの通信を有効にします。2 番目のエントリは、他のすべてのサブネットトラフィックを NAT ゲートウェイに送信します。


| ルーティング先 | ターゲット | 
| --- | --- | 
| VPC CIDR | ローカル | 
| 0.0.0.0/0 | nat-gateway-id | 

詳細については、「[サブネットルートテーブルを管理する](WorkWithRouteTables.md)」を参照してください。

### パブリック NAT ゲートウェイのテスト
<a name="public-nat-gateway-testing"></a>

NAT ゲートウェイを作成してルートテーブルを更新したら、プライベートサブネットのインスタンスからインターネット上のリモートアドレスに対して ping を送信し、インスタンスがインターネットに接続できることをテストします。これを行う方法の例については、「[インターネット接続をテストする](#nat-gateway-testing-example)」を参照してください。

インターネットに接続できる場合は、さらに以下のように、インターネットトラフィックが NAT ゲートウェイを介してルーティングされているかどうかをテストできます。
+ プライベートサブネットのインスタンスからのトラフィックのルートを追跡します。これを行うには、プライベートサブネットの Linux インスタンスから `traceroute` コマンドを実行します。出力で、NAT ゲートウェイのプライベート IP アドレスがホップのいずれか (通常は最初のホップ) に表示されます。
+ プライベートサブネットのインスタンスから接続すると、送信元 IP アドレスが表示されるようなサードパーティのウェブサイトやツールを使用します。送信元 IP アドレスとして NAT ゲートウェイの Elastic IP アドレスが表示される必要があります。

これらのテストが失敗した場合は、[NAT ゲートウェイのトラブルシューティング](nat-gateway-troubleshooting.md) を参照してください。

#### インターネット接続をテストする
<a name="nat-gateway-testing-example"></a>

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

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

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

1. ローカルコンピュータの SSH エージェント転送を設定し、パブリックサブネットの踏み台ホストに接続します。詳細については、「[Linux または macOS の SSH エージェント転送を設定するには](#ssh-forwarding-linux)」または「[Windows 用に SSH エージェント転送を設定するには](#ssh-forwarding-windows)」を参照してください。

1. 踏み台ホストからプライベートサブネットのインスタンスに接続し、プライベートサブネットのインスタンスからインターネット接続をテストします。詳細については、「[インターネット接続をテストするには](#test-internet-connection)」を参照してください<a name="ssh-forwarding-linux"></a>

**Linux または macOS の SSH エージェント転送を設定するには**

1. ローカルマシンから、認証エージェントにプライベートキーを追加します。

   Linux の場合は、次のコマンドを使用します。

   ```
   ssh-add -c mykeypair.pem
   ```

   macOS の場合は、次のコマンドを使用します。

   ```
   ssh-add -K mykeypair.pem
   ```

1. `-A` オプションを使用してパブリックサブネットのインスタンスに接続して SSH エージェント転送を有効にし、インスタンスのパブリックアドレスを使用します。次に例を示します。

   ```
   ssh -A ec2-user@54.0.0.123
   ```<a name="ssh-forwarding-windows"></a>

**Windows 用に SSH エージェント転送を設定するには**  
Windows で利用可能な OpenSSH クライアントを使用するか、希望する SSH クライアント (PuTTY など) をインストールできます。

------
#### [ OpenSSH ]

「[Getting started with OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse)」の説明に従って、Windows 用 OpenSSH をインストールします。次に、認証エージェントにキーを追加します。詳細については、「[Key-based authentication in OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement)」を参照してください。

------
#### [ PuTTY ]

1. 既にインストールされていない場合は、[PuTTY のダウンロードページ](https://www.chiark.greenend.org.uk/~sgtatham/putty/)から Pageant をダウンロードしてインストールします。

1. プライベートキーを .ppk 形式に変換します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[PuTTYgen を使用してプライベートキーを変換する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-from-windows.html#putty-private-key)」を参照してください。

1. Pageant を起動し、タスクバーの Pageant アイコン (非表示の場合があります) を右クリックして、[**Add Key**] を選択します。作成した .ppk ファイルを選択し、必要に応じてパスフレーズを入力して、[**Open (開く)**] を選択します。

1. PuTTY セッションを開始し、パブリック IP アドレスを使用してパブリックサブネットのインスタンスに接続します。詳細については、「[PuTTY を使用した Linux インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-from-windows.html)」を参照してください。[**Auth**] カテゴリで、必ず [**Allow agent forwarding**] オプションを選択し、[**Private key file for authentication**] ボックスは空のままにします。

------<a name="test-internet-connection"></a>

**インターネット接続をテストするには**

1. パブリックサブネットのインスタンスから、プライベート IP アドレスを使用して、プライベートサブネットのインスタンスに接続します。次に例を示します。

   ```
   ssh ec2-user@10.0.1.123
   ```

1. プライベートインスタンスから、ICMP が有効なウェブサイトに対して `ping` コマンドを実行して、インターネットに接続できることをテストします。

   ```
   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
   ...
   ```

   `ping` コマンドをキャンセルするには、**Ctrl \$1 C** を押します。`ping` コマンドが失敗した場合は、「[インスタンスがインターネットにアクセスできない](nat-gateway-troubleshooting.md#nat-gateway-troubleshooting-no-internet-connection)」を参照してください。

1. (オプション) 必要がなくなった場合は、インスタンスを終了します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[インスタンスの終了](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)」を参照してください。

## 許可リストに含まれる IP アドレスを使用してネットワークにアクセスする
<a name="private-nat-allowed-range"></a>

プライベート NAT ゲートウェイを使用することで、許可リストに含まれるアドレスのプールを使用して、VPC からオンプレミスネットワークへの通信を有効にすることができます。各インスタンスに許可リストの IP アドレス範囲から個別の IP アドレスを割り当てる代わりに、許可リストの IP アドレス範囲から IP アドレスを使用してプライベート NAT ゲートウェイ経由して、サブネットからオンプレミスネットワーク宛のトラフィックをルーティングできます。

**Topics**
+ [概要:](#private-nat-allowed-range-overview)
+ [リソース](#private-nat-allowed-range-resources)
+ [ルーティング](#private-nat-allowed-range-routing)

### 概要:
<a name="private-nat-allowed-range-overview"></a>

次の図表は、インスタンスが Site-to-Site VPN を介してオンプレミスリソースにアクセスする方法を示しています。インスタンスからのトラフィックは、仮想プライベートゲートウェイから VPN 接続を介して、カスタマーゲートウェイにルーティングされ、そしてオンプレミスネットワークの宛先にルーティングされます。ただし、宛先が特定の IP アドレス範囲 (100.64.1.0/28 など) からのトラフィックのみを許可するとします。これにより、これらのインスタンスからのトラフィックがオンプレミスネットワークに到達するのを防ぐことができます。

![\[Site-to-Site VPN 接続を使用したオンプレミスネットワークへのアクセス。\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/allowed-range.png)


次の図は、このシナリオの設定に重要なコンポーネントを示しています。VPC には、元の IP アドレス範囲に加え、許可された IP アドレス範囲があります。VPC には、プライベート NAT ゲートウェイを使用して許可された IP アドレス範囲のサブネットがあります。インスタンスからのオンプレミスネットワーク宛のトラフィックは、VPN 接続にルーティングされる前に、NAT ゲートウェイに送信されます。オンプレミスネットワークは、NAT ゲートウェイの送信元 IP アドレスが許可された IP アドレスの範囲のインスタンスからのトラフィックを受信します。

![\[プライベート NAT ゲートウェイを介してルーティングされた VPC サブネットトラフィック\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/private-nat-allowed-range.png)


### リソース
<a name="private-nat-allowed-range-resources"></a>

次のようにリソースを作成または更新します。
+ 許可された IP アドレス範囲を VPC に関連付けます。
+ 許可された IP アドレスの範囲から VPC にサブネットを作成します。
+ 新しいサブネット内にプライベート NAT ゲートウェイを作成します。
+ インスタンスでサブネットのルートテーブルを更新して、オンプレミスネットワーク宛てのトラフィックを NAT ゲートウェイに送信します。オンプレミスネットワーク宛てのトラフィックを、仮想プライベートゲートウェイに送信するプライベート NAT ゲートウェイを使用して、サブネットのルートテーブルにルートを追加します。

### ルーティング
<a name="private-nat-allowed-range-routing"></a>

以下は、最初のサブネットに関連付けられているルートテーブルです。VPC CIDR ごとにローカルルートが存在します。ローカルルートにより、サブネット内のリソースは、プライベート IP アドレスを使用して VPC 内の他のリソースとの通信が有効化されます。3 番目のエントリは、オンプレミスネットワーク宛てのトラフィックを、プライベート NAT ゲートウェイに送信します。


| ルーティング先 | ターゲット | 
| --- | --- | 
| 10.0.0.0/16 | local | 
| 100.64.1.0/24 | ローカル | 
| 192.168.0.0/16 | nat-gateway-id | 

以下は、2 番目のサブネットに関連付けられたルートテーブルです。VPC CIDR ごとにローカルルートが存在します。ローカルルートにより、サブネット内のリソースは、プライベート IP アドレスを使用して VPC 内の他のリソースとの通信が有効化されます。3 番目のエントリは、オンプレミスネットワーク宛てのトラフィックを、仮想プライベートゲートウェイに送信します。


| ルーティング先 | ターゲット | 
| --- | --- | 
| 10.0.0.0/16 | local | 
| 100.64.1.0/24 | ローカル | 
| 192.168.0.0/16 | vgw-id | 

## 重複するネットワーク間の通信を有効にする
<a name="private-nat-overlapping-networks"></a>

プライベート NAT ゲートウェイを使用して、重複する CIDR 範囲がある場合でも、ネットワーク間の通信を有効にできます。例えば、VPC A のインスタンスが VPC B のインスタンスによって提供されるサービスにアクセスする必要があるとします。

![\[CIDR の範囲が重複する VPC が 2 つあります。\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/overlapping-networks.png)


**Topics**
+ [概要:](#private-nat-overlapping-networks-overview)
+ [リソース](#private-nat-overlapping-networks-resources)
+ [ルーティング](#private-nat-overlapping-networks-routing)

### 概要:
<a name="private-nat-overlapping-networks-overview"></a>

次の図は、このシナリオの設定に重要なコンポーネントを示しています。まず、IP 管理チームは、重複できるアドレス範囲 (ルーティング不可能なアドレス範囲) と重複できないアドレス範囲 (ルーティング可能なアドレス範囲) を決定します。IP 管理チームは、ルーティング可能なアドレス範囲のプールから、アドレス範囲をリクエストに応じてプロジェクトに割り当てます。

各 VPC には、ルーティング不可能な元の IP アドレス範囲に加えて、IP 管理チームによって割り当てられたルーティング可能な IP アドレス範囲があります。VPC A には、プライベート NAT ゲートウェイを使用して、ルーティング可能な範囲からのサブネットがあります。プライベート NAT ゲートウェイは、サブネットから IP アドレスを取得します。VPC B には、Application Load Balancer を使用して、ルーティング可能な範囲からのサブネットがあります。Application Load Balancer は、サブネットから IP アドレスを取得します。

VPC A のルーティング範囲外のサブネットのインスタンスから VPC B のルーティング範囲外のサブネットのインスタンス宛のトラフィックは、プライベート NAT ゲートウェイを経由して送信され、 Transit Gateway にルーティングされます。Transit Gateway は、トラフィックを Application Load Balancer に送信します。これにより、Application Load Balancer は、トラフィックを VPC B のルーティング範囲外のサブネットのターゲットインスタンスの 1 つにルーティングします。Transit Gateway からアプリケーションロードバランサーへのトラフィックには、プライベート NAT ゲートウェイの送信元 IP アドレスが含まれます。そのため、ロードバランサーからのレスポンストラフィックは、プライベート NAT ゲートウェイのアドレスを宛先として使用します。レスポンストラフィックは Transit Gateway に送信され、プライベート NAT ゲートウェイにルーティングされます。これにより、VPC A のルーティング範囲外のサブネットにあるインスタンスに宛先が変換されます。

![\[重複する CIDR を使用する VPC 間の通信を有効にする、プライベート NAT ゲートウェイとトランジットゲートウェイを使用した VPC\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/private-nat-overlapping-networks.png)


### リソース
<a name="private-nat-overlapping-networks-resources"></a>

次のようにリソースを作成または更新します。
+ 割り当てられたルーティング可能な IP アドレスの範囲を、それぞれの VPC に関連付けます。
+ ルーティング可能な IP アドレスの範囲から VPC A にサブネットを作成し、この新しいサブネットにプライベート NAT ゲートウェイを作成します。
+ ルーティング可能な IP アドレスの範囲から VPC B にサブネットを作成し、この新しいサブネットに Application Load Balancer を作成します。ロードバランサーのターゲットグループに、ルーティング範囲外のサブネットのインスタンスを登録します。
+ VPC 間を接続する Transit Gateway を作成します。ルート伝達は必ず無効にしてください。各 VPC を Transit Gateway に接続するときは、VPC のルーティング可能なアドレス範囲を使用します。
+ VPC A のルーティング範囲外のサブネットのルートテーブルを更新して、VPC B のルーティング可能なアドレス範囲宛てのトラフィックをすべてプライベート NAT ゲートウェイに送信します。VPC A のルーティング可能なサブネットのルートテーブルを更新して、VPC B のルーティング可能なアドレス範囲宛てのトラフィックをすべて Transit Gateway に送信します。
+ VPC B のルーティング可能なサブネットのルートテーブルを更新して、VPC A のルーティング可能なアドレス範囲宛てのトラフィックをすべて Transit Gateway に送信します。

### ルーティング
<a name="private-nat-overlapping-networks-routing"></a>

以下は、VPC A のルーティング範囲外のサブネットのルートテーブルです。


| ルーティング先 | ターゲット | 
| --- | --- | 
| 10.0.0.0/16 | local | 
| 100.64.1.0/24 | ローカル | 
| 100.64.2.0/24 | nat-gateway-id | 

以下は、VPC A のルーティング可能なサブネットのルートテーブルです。


| ルーティング先 | ターゲット | 
| --- | --- | 
| 10.0.0.0/16 | local | 
| 100.64.1.0/24 | ローカル | 
| 100.64.2.0/24 | transit-gateway-id | 

以下は、VPC B のルーティング範囲外のサブネットのルートテーブルです。


| ルーティング先 | ターゲット | 
| --- | --- | 
| 10.0.0.0/16 | local | 
| 100.64.2.0/24 | ローカル | 

以下は、VPC B のルーティング可能なサブネットのルートテーブルです。


| ルーティング先 | ターゲット | 
| --- | --- | 
| 10.0.0.0/16 | local | 
| 100.64.2.0/24 | ローカル | 
| 100.64.1.0/24 | transit-gateway-id | 

以下は、Transit Gateway のルートテーブルです。


| CIDR | 添付ファイル | ルートタイプ | 
| --- | --- | --- | 
| 100.64.1.0/24 | VPC A のアタッチメント | 静的 | 
| 100.64.2.0/24 | VPC B のアタッチメント | 静的 | 

# DNS64 と NAT64
<a name="nat-gateway-nat64-dns64"></a>

NAT ゲートウェイは、IPv6 から IPv4 へのネットワークアドレス変換をサポートします (一般的に NAT64 と言う)。NAT64 により、IPv6 AWS リソースが、オンプレミスネットワークまたはインターネット上で、同じ VPC または異なる VPC 内の IPv4 リソースと通信することが可能になります。Amazon Route 53 Resolver の DNS64 で NAT64 を使用することも、独自の DNS64 サーバーを使用することもできます。

**Topics**
+ [DNS64 とは](#nat-gateway-dns64-what-is)
+ [NAT64 とは](#nat-gateway-nat64-what-is)
+ [DNS64 と NAT64 を設定する](#nat-gateway-nat64-dns64-walkthrough)

## DNS64 とは
<a name="nat-gateway-dns64-what-is"></a>

VPC で実行される IPv6 専用ワークロードは、IPv6 ネットワークパケットのみを送受信できます。DNS64 を使用しない場合、IPv4 専用サービスの DNS クエリは IPv4 宛先アドレスを応答として生成するため、IPv6 専用サービスは IPv4 宛先アドレスと通信できません。この通信ギャップを埋めるために、サブネットの DNS64 を有効化して、それをサブネット内のすべての AWS リソースに適用します。DNS64 では、Amazon Route 53 Resolver はクエリしたサービスの DNS レコードを検索し、次のいずれかを実行します。
+ レコードに IPv6 アドレスが含まれている場合は、元のレコードが返され、IPv6 を介した変換なしに接続が確立されます。
+ DNS レコード内の宛先に関連付けられた IPv6 アドレスがない場合、Route 53 Resolver は、RFC6052 (`64:ff9b::/96`) で定義された既知の `/96` プレフィックスの先頭に付加して IPv6 アドレスを合成し、レコード内の IPv4 アドレスに送信します。IPv6 専用サービスは、ネットワークパケットを合成 IPv6 アドレスに送信します。次に、このトラフィックを NAT ゲートウェイ経由でルーティングする必要があります。NAT ゲートウェイは、サブネット内の IPv6 サービスがそのサブネット外の IPv4 サービスにアクセスできるように、トラフィックに対して必要な変換を実行します。

サブネットを選択し、**[Actions]** (アクション) > **[Edit subnet settings]** (サブネットの設定を編集する) の順に選択して、AWS CLI または VPC コンソールを使用する [modify-subnet-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-subnet-attribute.html) によって、サブネット上の DNS64 を有効または無効にすることができます。

## NAT64 とは
<a name="nat-gateway-nat64-what-is"></a>

NAT64 を使用すると、Amazon VPC 内の IPv6 専用サービスが、( 異なるサブネット内の) 同じ VPC 内、接続された VPC 内、オンプレミスネットワーク内、またはインターネット経由で、IPv4 専用サービスと通信できます。

NAT64 は、既存の NAT ゲートウェイまたは作成した新しい NAT ゲートウェイで自動的に使用可能です。この機能を有効または無効にすることはできません。NAT ゲートウェイが配置されているサブネットは、NAT64 を機能させるためのデュアルスタックサブネットである必要はありません。

DNS64 を有効化した後、IPv6 専用サービスが NAT ゲートウェイを介して合成された IPv6 アドレスにネットワークパケットを送信すると、次のようになります。
+ `64:ff9b::/96` プレフィックスから、NAT ゲートウェイは元の宛先が IPv4 であることを認識し、以下を置き換えて、IPv6 パケットを IPv4 に変換します:
  + インターネットゲートウェイによって Elastic IP アドレスに変換された独自のプライベート IP を持つソース IPv6。
  + `64:ff9b::/96` プレフィックスを切り捨てた IPv6 から IPv4 への宛先。
+ NAT ゲートウェイは、インターネットゲートウェイ、仮想プライベートゲートウェイ、Transit Gateway を介して変換された IPv4 パケットを宛先に送信し、接続を開始します。
+ IPv4 専用ホストは IPv4 応答パケットを送り返します。接続が確立されると、NAT ゲートウェイは外部ホストからの応答 IPv4 パケットを受け入れます。
+ 応答 IPv4 パケットの宛先は NAT ゲートウェイで、NAT ゲートウェイはパケットを受信し、その IP (宛先 IP) をホストの IPv6 アドレスに置き換え、`64:ff9b::/96` を送信元 IPv4 アドレスの先頭に付加することによって、パケットの NAT を元に戻します。その後、パケットはローカルルートに従ってホストに流れます。

このようにして、NAT ゲートウェイにより、サブネット内の IPv6 専用ワークロードが、サブネット外の IPv4 専用サービスと通信できるようになります。

## DNS64 と NAT64 を設定する
<a name="nat-gateway-nat64-dns64-walkthrough"></a>

このセクションのステップに従って DNS64 と NAT64 を設定し、IPv4 専用サービスとの通信を有効にします。

**Topics**
+ [インターネット上の IPv4 専用サービスと AWS CLI の通信を有効にする](#nat-gateway-nat64-dns64-walkthrough-internet)
+ [オンプレミス環境で IPv4 専用サービスとの通信を有効にする](#nat-gateway-nat64-dns64-walkthrough-on-prem)

### インターネット上の IPv4 専用サービスと AWS CLI の通信を有効にする
<a name="nat-gateway-nat64-dns64-walkthrough-internet"></a>

この例では、サブネット外の IPv4 専用サービスと通信する必要がある IPv6 専用ワークロードを持つサブネットがある場合に、IPv6 専用サービスを有効にして、インターネット上の IPv4 専用サービスと通信ができるかを示しています。

まず、(IPv6専用ワークロードを含むサブネットとは別に) パブリックサブネットに NAT ゲートウェイを設定する必要があります。例えば、NAT ゲートウェイを含むサブネットは、インターネットゲートウェイを指す `0.0.0.0/0` ルートを持つ必要があります。

これらの IPv6 専用サービスをインターネット上の IPv4 専用サービスの接続を有効にするには、次の手順を実行します。

1. IPv6 専用ワークロードを含むサブネットのルートテーブルに次の 3 つのルートを追加します。
   + NAT ゲートウェイを指す IPv4 ルート (存在する場合)。
   + NAT ゲートウェイを指す `64:ff9b::/96` ルート。これにより、IPv4 専用サービスを宛先とする IPv6 専用ワークロードからのトラフィックを、NAT ゲートウェイ経由でルーティングできるようになります。
   + 出力専用インターネットゲートウェイ (またはインターネットゲートウェイ) を指す IPv6 `::/0` ルート。

   インターネットゲートウェイを指す `::/0` は、外部 IPv6 ホスト (VPC 外部) の IPv6 経由の接続開始を許可することに注意してください。

   

   ```
   aws ec2 create-route --route-table-id rtb-34056078 --destination-cidr-block
   0.0.0.0/0 --nat-gateway-id nat-05dba92075d71c408
   ```

   

   ```
   aws ec2 create-route --route-table-id rtb-34056078 --destination-ipv6-cidr-block
   64:ff9b::/96 --nat-gateway-id nat-05dba92075d71c408
   ```

   

   ```
   aws ec2 create-route --route-table-id rtb-34056078 --destination-ipv6-cidr-block
   ::/0 --egress-only-internet-gateway-id eigw-c0a643a9
   ```

1. IPv6 専用ワークロードを含むサブネットで DNS64 機能を有効にします。

   ```
   aws ec2 modify-subnet-attribute --subnet-id subnet-1a2b3c4d --enable-dns64
   ```

これで、プライベートサブネット内のリソースは、インターネット上の IPv4 サービスと IPv6 サービスの両方とのステートフル接続を確立できます。セキュリティグループと NACL を適切に設定して、出力トラフィックと入力トラフィックを `64:ff9b::/96` トラフィックに許可します。

### オンプレミス環境で IPv4 専用サービスとの通信を有効にする
<a name="nat-gateway-nat64-dns64-walkthrough-on-prem"></a>

Amazon Route 53 Resolver を使用すると、DNS クエリを VPC からオンプレミスネットワークに、またはその逆に転送することができます。これを行うには、次を実行します。
+ VPC 内に Route 53 Resolver アウトバウンドエンドポイントを作成し、Route 53 Resolver がクエリを転送する送信元となる IPv4 アドレスを割り当てます。オンプレミス DNS リゾルバーの場合、これらは DNS クエリの送信元の IP アドレスであるため、IPv4 アドレスである必要があります。
+ 1 つ以上のルールを作成し、オンプレミスリゾルバーに Route 53 Resolver から転送する DNS クエリのためのドメイン名を指定します。また、オンプレミスリゾルバーの IPv4 アドレスも指定します。
+ Route 53 Resolver アウトバウンドエンドポイントを設定したことにより、IPv6 専用ワークロードを含むサブネットで DNS64 を有効にし、オンプレミスネットワーク宛てのデータを NAT ゲートウェイ経由でルーティングする必要があります。

オンプレミスネットワークの IPv4 専用の宛先に対する DNS64 の仕組み

1. VPC の Route 53 Resolver アウトバウンドエンドポイントに IPv4 アドレスを割り当てます。

1. IPv6 サービスからの DNS クエリは、IPv6 経由で Route 53 Resolver に送信されます。Route 53 Resolver は、クエリを転送ルールと照合し、オンプレミスリゾルバーの IPv4 アドレスを取得します。

1. Route 53 Resolver は、クエリパケットを IPv6 から IPv4 に変換し、アウトバウンドエンドポイントに転送します。エンドポイントの各 IP アドレスは、DNS リゾルバーのオンプレミス IPv4 アドレスにリクエストを転送する 1 つの ENI を表します。

1. オンプレミスリゾルバーは、IPv4 の応答パケットを、アウトバウンドエンドポイントを介して Route 53 Resolver に送信します。

1. Route 53 Resolver はクエリが DNS64 対応のサブネットから作成されたと仮定し、次の 2 つの処理を行います。

   1. 応答パケットの内容をチェックします。レコードに IPv6 アドレスがある場合、Route 53 Resolver はコンテンツをそのまま保持しますが、IPv4 レコードのみを含む場合は、`64:ff9b::/96` を IPv4 アドレスの先頭に付加して、同様に IPv6 レコードを合成します。

   1. コンテンツを再パッケージし、IPv6 経由で VPC 内のサービスに送信します。

# NAT ゲートウェイからのトラフィックを検査する
<a name="nat-gateway-inspect-traffic"></a>

Network Firewall Proxy を NAT ゲートウェイにアタッチして、NAT ゲートウェイのトラフィックを検査およびフィルタリングできます。このセキュリティコントロールにより、信頼できる境界外へのデータ漏洩を防ぎ、望ましくないインバウンドレスポンスをブロックできます。

## 仕組み
<a name="nat-gateway-proxy-how-it-works"></a>

Network Firewall Proxy を作成するときは、プロキシをアタッチする既存の NAT ゲートウェイを選択する必要があります。作成されると、プロキシは以下のようになります。
+ プロキシには完全修飾ドメイン名が付属しているため、http および https 接続リクエストをプロキシに送信するようにアプリケーションを設定する必要があります。プロキシはまず、お客様が入力したルールに基づいて接続リクエストのドメイン名をフィルタリングします。お客様が許可した場合、プロキシは DNS クエリを実行してドメインの IP アドレスを取得します。次に、最終送信先との TCP 接続を確立します。TLS 復号が有効かどうかに基づいて、プロキシは IP アドレスとヘッダー属性で TLS 接続をフィルタリングし、IP とヘッダー属性 (ヘッダーアクションと URL パスを含む) がポリシーで許可されている場合にのみ、送信先との TLS 接続を確立します。
+ アプライアンスはトラフィックを検査し、フィルタリングします。
+ 許可されたトラフィックは送信先 (インターネット、オンプレミス環境、または別の VPC) に継続されます。

## アプライアンスのアタッチ
<a name="nat-gateway-attaching-appliances"></a>

アプライアンスは AWS Network Firewall を介して NAT ゲートウェイにアタッチされます。アプライアンスを作成してアタッチするステップについては、「[Network Firewall Proxy デベロッパーガイド](https://docs.aws.amazon.com/network-firewall/latest/developerguide/network-firewall-proxy-developer-guide.html)」を参照してください。

## アタッチされたアプライアンスの表示
<a name="nat-gateway-viewing-attached-appliances"></a>

NAT ゲートウェイにアタッチされたアプライアンスを表示するには、[describe-nat-gateways](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-nat-gateways.html) コマンドを使用します。

```
aws ec2 describe-nat-gateways --nat-gateway-ids nat-1234567890abcdef0
```

レスポンスには、以下の内容を示す `AttachedAppliances` フィールドが含まれます。
+ **タイプ** – アプライアンスタイプ (例: `network-firewall-proxy`)
+ **ApplianceArn** – アタッチされたアプライアンスの ARN
+ **AttachmentState** – 現在のアタッチメントステータス (`attached`、`detaching`、`detached`、`attach_failed`、`detach_failed`)
+ **ModificationState** – 現在の変更ステータス (`modifying`、`completed`、`failed`)
+ **VpcEndpointId** – 検査とフィルタリングのためにアプリケーション VPC からプロキシにトラフィックをルーティングするために使用される VPC エンドポイント ID
+ **FailureCode** – アプライアンスのアタッチメントまたは変更オペレーションが失敗した場合の失敗コード
+ **FailureMessage** – アプライアンスのアタッチメントまたは変更操作が失敗した場合の失敗を説明するメッセージ

# Amazon CloudWatch による NAT ゲートウェイのモニタリング
<a name="vpc-nat-gateway-cloudwatch"></a>

CloudWatch を使用して NAT ゲートウェイを監視することで、NAT ゲートウェイから情報を収集し、リアルタイムに近い読み取り可能なメトリクスに加工することができます。この情報を使用して、NAT ゲートウェイの監視とトラブルシューティングを行うことができます。これらのメトリクスを使用すれば、NAT ゲートウェイの状態とパフォーマンスを可視化し、そのオペレーションを詳細にモニタリングしたり問題が発生したときにはすばやくトラブルシューティングしたりすることができます。

CloudWatch によって収集される NAT ゲートウェイのメトリクスには、処理済みのバイト数、パケット数、接続数、エラー率などのデータポイントが含まれます。これにより、NAT ゲートウェイを通過するトラフィックを詳細に理解し、異常やボトルネックがないか確認することができます。CloudWatch はこのメトリクスデータを 1 分間隔で配信するため、NAT ゲートウェイの動作の最新の状況を画面上で詳細に把握できます。

さらに、CloudWatch ではこの NAT ゲートウェイのメトリクスのデータが 15 か月間にわたって保持されるため、データの傾向やパターンを経時的に分析することができます。この履歴データは、キャパシティプランニング、パフォーマンスの最適化、そして NAT ゲートウェイの使用における長期的な変化の理解に役立ちます。

こうした強力なモニタリング機能を活用するには、特定のニーズに合わせて調整された CloudWatch のカスタムのダッシュボードとアラームを作成します。例えば、NAT ゲートウェイのアウトバウンドのデータ転送が特定のしきい値を超えた場合にアラートで通知するように設定すると、潜在的な帯域幅の制約に事前に対処することができます。

料金の詳細については、「[Amazon CloudWatch の料金](https://aws.amazon.com/cloudwatch/pricing/)」を参照してください。

**Topics**
+ [NAT ゲートウェイのメトリクスおよびディメンション](metrics-dimensions-nat-gateway.md)
+ [NAT ゲートウェイ CloudWatch メトリクスの表示](viewing-metrics.md)
+ [NAT ゲートウェイをモニタリングする CloudWatch のアラームの作成](creating-alarms-nat-gateway.md)

# NAT ゲートウェイのメトリクスおよびディメンション
<a name="metrics-dimensions-nat-gateway"></a>

NAT ゲートウェイでは、次のメトリクスを使用できます。説明の列には、各メトリクスの説明に加え、[単位](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Unit)と[統計](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html)が含まれています。


| メトリクス | 説明 | 
| --- | --- | 
| ActiveConnectionCount |  NAT ゲートウェイ経由の同時アクティブ TCP 接続の合計数。 値が 0 の場合は、NAT ゲートウェイ経由のアクティブな接続がないことを示します。 単位: カウント 統計: 最も有用な統計は `Max` です。  | 
| BytesInFromDestination |  NAT ゲートウェイによって受信された送信先からのバイト数。 `BytesOutToSource` の値が `BytesInFromDestination` の値より少ない場合、NAT ゲートウェイの処理中、またはトラフィックが NAT ゲートウェイによりアクティブにブロックされている間に、データ損失が発生する可能性があります。 単位: バイト 統計: 最も有用な統計は `Sum` です。  | 
| BytesInFromSource |  VPC 内のクライアントから NAT ゲートウェイによって受信されたバイト数。 `BytesOutToDestination` の値が `BytesInFromSource` の値よりも小さい場合、NAT ゲートウェイの処理中にデータ損失が発生する可能性があります。 単位: バイト 統計: 最も有用な統計は `Sum` です。  | 
| BytesOutToDestination |  NAT ゲートウェイ経由で送信先に送信されたバイト数。 値が 0 より大きい場合は、NAT ゲートウェイの背後にあるクライアントからインターネットへのトラフィックがあることを示します。`BytesOutToDestination` の値が `BytesInFromSource` の値よりも小さい場合、NAT ゲートウェイの処理中にデータ損失が発生する可能性があります。 単位: バイト 統計: 最も有用な統計は `Sum` です。  | 
| BytesOutToSource |  VPC 内の NAT ゲートウェイ経由でクライアントに送信されたバイト数。 値が 0 より大きい場合は、インターネットから NAT ゲートウェイの背後にあるクライアントへのトラフィックがあることを示します。`BytesOutToSource` の値が `BytesInFromDestination` の値より少ない場合、NAT ゲートウェイの処理中、またはトラフィックが NAT ゲートウェイによりアクティブにブロックされている間に、データ損失が発生する可能性があります。 単位: バイト 統計: 最も有用な統計は `Sum` です。  | 
| ConnectionAttemptCount |  NAT ゲートウェイ経由で行われた接続試行の回数。これには、最初の SYN のみが含まれます。場合によっては、SYN の再送信により、`ConnectionAttemptCount` が `ConnectionEstablishedCount` よりも低くなることがあります。 `ConnectionEstablishedCount` の値が `ConnectionAttemptCount` の値よりも小さい場合は、NAT ゲートウェイの背後にあるクライアントが応答のない新しい接続を確立しようとしたことを示します。 単位: 個 統計: 最も有用な統計は `Sum` です。  | 
| ConnectionEstablishedCount |  NAT ゲートウェイ経由で確立された接続の数。これには、SYN と SYN の再送信が含まれます。 `ConnectionEstablishedCount` の値が `ConnectionAttemptCount` の値よりも小さい場合は、NAT ゲートウェイの背後にあるクライアントが応答のない新しい接続を確立しようとしたことを示します。 単位: 個 統計: 最も有用な統計は `Sum` です。  | 
| ErrorPortAllocation |  NAT ゲートウェイが送信元ポートを割り当てられなかった回数。 値が 0 より大きい場合は、NAT ゲートウェイ経由の同時接続数が多すぎることを示します。 単位: カウント 統計: 最も有用な統計は `Sum` です。  | 
| IdleTimeoutCount |  アクティブな状態からアイドル状態に移行した接続の数。適切に閉じられなかった場合や、直前の 350 秒間にアクティビティがなかった場合、アクティブな接続はアイドル状態に移行します。 値が 0 より大きい場合は、アイドル状態に移行した接続があることを示します。`IdleTimeoutCount` の値が増加する場合は、NAT ゲートウェイの背後にあるクライアントが無効な接続を再使用している可能性があります。 単位: 数 統計: 最も有用な統計は `Sum` です。  | 
| PacketsDropCount |  NAT ゲートウェイによって破棄されたパケットの数。  ドロップされたパケットの数をパケットトラフィック全体のパーセンテージとして計算するには、`PacketsDropCount/(PacketsInFromSource+PacketsInFromDestination)*100` の式を使用します。この値が NAT ゲートウェイ上の総トラフィックの 0.01% を超える場合は、Amazon VPC サービスに問題がある可能性があります。[AWS サービスヘルスダッシュボード](https://status.aws.amazon.com/)を使用して、NAT ゲートウェイがパケットをドロップする原因となっているサービスの問題を特定します。 単位: カウント 統計: 最も有用な統計は `Sum` です。  | 
| PacketsInFromDestination |  NAT ゲートウェイによって受信された送信先からのパケット数。 `PacketsOutToSource` の値が `PacketsInFromDestination` の値より少ない場合、NAT ゲートウェイの処理中、またはトラフィックが NAT ゲートウェイによりアクティブにブロックされている間に、データ損失が発生する可能性があります。 単位: 数 統計: 最も有用な統計は `Sum` です。  | 
| PacketsInFromSource |  VPC 内のクライアントから NAT ゲートウェイによって受信されたパケット数。 `PacketsOutToDestination` の値が `PacketsInFromSource` の値よりも小さい場合、NAT ゲートウェイの処理中にデータ損失が発生する可能性があります。 単位: 数 統計: 最も有用な統計は `Sum` です。  | 
| PacketsOutToDestination |  NAT ゲートウェイ経由で送信先に送信されたパケット数。 値が 0 より大きい場合は、NAT ゲートウェイの背後にあるクライアントからインターネットへのトラフィックがあることを示します。`PacketsOutToDestination` の値が `PacketsInFromSource` の値よりも小さい場合、NAT ゲートウェイの処理中にデータ損失が発生する可能性があります。 単位: 数 統計: 最も有用な統計は `Sum` です。  | 
| PacketsOutToSource |  VPC 内の NAT ゲートウェイ経由でクライアントに送信されたパケット数。 値が 0 より大きい場合は、インターネットから NAT ゲートウェイの背後にあるクライアントへのトラフィックがあることを示します。`PacketsOutToSource` の値が `PacketsInFromDestination` の値より少ない場合、NAT ゲートウェイの処理中、またはトラフィックが NAT ゲートウェイによりアクティブにブロックされている間に、データ損失が発生する可能性があります。 単位: 数 統計: 最も有用な統計は `Sum` です。  | 
| PeakBytesPerSecond |  このメトリックは、特定の 1 分間においてバイト数が最大である 10 秒間の 1 秒あたりの平均値を報告します。 単位: カウント 統計: 最も有用な統計は `Maximum` です。  | 
| PeakPacketsPerSecond |  このメトリクスは、60 秒間、10 秒ごとに平均パケットレート (1 秒あたりに処理されるパケット) を計算し、その 6 つのレートの最大値 (最高平均パケットレート) を報告します。 単位: カウント 統計: 最も有用な統計は `Maximum` です。  | 

メトリクスデータをフィルタリングするために以下のディメンションを使用します。


| ディメンション | 説明 | 
| --- | --- | 
| NatGatewayId | NAT ゲートウェイ ID でメトリクスデータをフィルタリングします。 | 

# NAT ゲートウェイ CloudWatch メトリクスの表示
<a name="viewing-metrics"></a>

NAT ゲートウェイのメトリクスは 1 分間隔で CloudWatch に送信されます。メトリクスはまずサービスの名前空間ごとにグループ化され、次に各名前空間内の可能なディメンションの組み合わせごとにグループ化されます。以下のように、NAT ゲートウェイのメトリクスを表示できます。

**CloudWatch コンソールを使用してメトリクスを表示するには**

1. CloudWatch コンソール ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) を開きます。

1. ナビゲーションペインで、[**Metrics**]、[**All metrics**] を選択します。

1. [**NATGateway**] メトリクスの名前空間を選択します。

1. メトリクスディメンションを選択します。

**を使ってメトリクスを表示するにはAWS CLI**  
コマンドプロンプトで次のコマンドを使用して、NAT ゲートウェイサービスで利用可能なメトリクスを一覧表示します。

```
aws cloudwatch list-metrics --namespace "AWS/NATGateway"
```

# NAT ゲートウェイをモニタリングする CloudWatch のアラームの作成
<a name="creating-alarms-nat-gateway"></a>

アラームの状態が変わったときに Amazon SNS メッセージを送信する Amazon CloudWatch のアラームを作成することができます。1 つのアラームで、指定した期間中、1 つのメトリクスを監視します。このアラームは、複数の期間にわたる一定のしきい値とメトリクスの値の関係性に基づき、Amazon SNS トピックに通知を送信します｡ 

例えば、NAT ゲートウェイを出入りするトラフィックの量を監視するアラームを作成できます。次のアラームは、VPC 内のクライアントから NAT ゲートウェイ経由でインターネットに送信されるアウトバウンドトラフィックの量を監視します。15 分間でバイト数が 5,000,000 スレッドに達したときに通知を送信します。

**NAT ゲートウェイ経由のアウトバウンドトラフィックのアラームを作成するには**

1. CloudWatch コンソール ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) を開きます。

1. ナビゲーションペインで、[**アラーム**]、[**すべてのアラーム**] の順に選択します。

1. [**アラームの作成**] を選択します。

1. **メトリクスの選択** を選択します。

1. [**NATGateway**] メトリクス名前空間を選択し、メトリクスディメンションを選択します。メトリクスを表示したら、NAT ゲートウェイに関して [**BytesOutToDestination**] メトリクスの横にあるチェックボックスをオンにし、その後 [**Select metric**] を選択します。

1. アラームを以下のように設定して、**[次へ]** をクリックします。
   + **[統計]** で、**[合計]** を選択します。
   + [**Period**] で、[**15 minutes**] を選択します。
   + [**Whenever**] で、[**Greater/Equal**] を選択し、しきい値は「`5000000`」と入力します。

1. [**Notification**] で、既存の SNS トピックを選択するか、[**Create new topic**] を選択して新しいトピックを作成します。[**Next**] を選択します。

1. 次のページで、アラームの名前と説明を入力し、[**次へ**] を選択します。

1. アラームの設定が終わったら、[**Create alarm**] を選択します。

その他の例として、ポート割り当てをモニタリングし、3 つの連続する 5 分の間で値がゼロより大きい場合に､通知を送信するアラームを作成できます。

**ポート割り当てエラーを監視するアラームを作成するには**

1. CloudWatch コンソール ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) を開きます。

1. ナビゲーションペインで、[**アラーム**]、[**すべてのアラーム**] の順に選択します。

1. [**アラームの作成**] を選択します。

1. **メトリクスの選択** を選択します。

1. [**NATGateway**] メトリクス名前空間を選択し、メトリクスディメンションを選択します。メトリクスを表示したら、NAT ゲートウェイに関して [**ErrorPortAllocation**] メトリクスの横にあるチェックボックスをオンにし、その後 [**Select metric**] を選択します。

1. アラームを以下のように設定して、**[次へ]** をクリックします。
   + [**統計**] で、[**Maximum**] を選択します。
   + [**Period**] で、[**5 minutes**] を選択します。
   + [**Whenever**] で、[**Greater**] を選択し、しきい値は「0」と入力します。
   + [**追加設定**]、[**Datapoints to alarm**] で、「3」と入力します。

1. [**Notification**] で、既存の SNS トピックを選択するか、[**Create new topic**] を選択して新しいトピックを作成します。[**Next**] を選択します。

1. 次のページで、アラームの名前と説明を入力し、**[次へ]** を選択します。

1. アラームの設定が終わったら、[**Create alarm**] を選択します。

詳細については、『*Amazon CloudWatch ユーザーガイド*』の「[Amazon CloudWatch アラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。

# NAT ゲートウェイのトラブルシューティング
<a name="nat-gateway-troubleshooting"></a>

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

**Topics**
+ [NAT ゲートウェイの作成に失敗する](#nat-gateway-troubleshooting-failed)
+ [NAT ゲートウェイクォータ](#nat-gateway-troubleshooting-quota)
+ [Elastic IP アドレスのクォータ](#nat-gateway-troubleshooting-limits)
+ [アベイラビリティーゾーンがサポートされていない](#nat-gateway-troubleshooting-unsupported-az)
+ [NAT ゲートウェイが表示されなくなりました](#nat-gateway-troubleshooting-gateway-removed)
+ [NAT ゲートウェイが ping コマンドに応答しない](#nat-gateway-troubleshooting-ping)
+ [インスタンスがインターネットにアクセスできない](#nat-gateway-troubleshooting-no-internet-connection)
+ [送信先への TCP 接続が失敗する](#nat-gateway-troubleshooting-tcp-issues)
+ [Traceroute の出力に NAT ゲートウェイのプライベート IP アドレスが表示されない](#nat-gateway-troubleshooting-traceroute)
+ [インターネット接続が 350 秒後に中断される](#nat-gateway-troubleshooting-timeout)
+ [IPsec 接続を確立できない](#nat-gateway-troubleshooting-ipsec)
+ [追加の接続を開始できない](#nat-gateway-troubleshooting-simultaneous-connections)

## NAT ゲートウェイの作成に失敗する
<a name="nat-gateway-troubleshooting-failed"></a>

**問題**  
NAT ゲートウェイを作成すると、`Failed` 状態になります。

**注記**  
障害が発生した NAT ゲートウェイは、通常約 1 時間後に自動的に削除されます。

**原因**  
NAT ゲートウェイの作成時にエラーが発生しました。返った状態メッセージは、エラーの理由を表します。

**ソリューション**  
エラーメッセージを表示するには、Amazon VPC コンソールを開き、[**NAT ゲートウェイ**] を選択します。NAT ゲートウェイのラジオボタンを選択し、[** Details **] タブで **Stateメッセージ** を見つけます。

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


| 表示されるエラー | 原因 | ソリューション | 
| --- | --- | --- | 
| この NAT ゲートウェイを作成するための十分な空きアドレスがサブネットにありません | 指定したサブネットに空きプライベート IP アドレスがありません。NAT ゲートウェイには、サブネットの範囲からプライベート IP アドレスが割り当てられた一つのネットワークインターフェイスが必要です。 | Amazon VPC コンソールの [サブネット] ページに移動して、サブネットで使用可能な IP アドレスの数を確認します。[利用可能な IP] は、サブネットの詳細ペインで表示できます。サブネットで空き IP アドレスを作成するには、使用されていないネットワークインターフェイスを終了するか、必要でないインスタンスを削除することができます。 | 
| ネットワーク vpc-xxxxxxxx にインターネットゲートウェイがアタッチされていません | NAT ゲートウェイは、インターネットゲートウェイがアタッチされた VPC で作成する必要があります。 | インターネットゲートウェイを作成して VPC にアタッチします。詳細については、「[サブネットへのインターネットアクセスを追加する](working-with-igw.md)」を参照してください。 | 
| Elastic IP アドレス eipalloc-xxxxxxxx はすでに関連付けられています | 指定した Elastic IP アドレスが別のリソースにすでに関連付けられていて、NAT ゲートウェイに関連付けることはできません。 | Elastic IP アドレスに関連付けられているリソースを確認します。Amazon VPC コンソールの [Elastic IP] ページに移動し、インスタンス ID またはネットワークインターフェイス ID に指定された値を表示します。特定のリソースの Elastic IP アドレスが必要ない場合は、その関連付けを解除できます。また、アカウントに新しい Elastic IP アドレスを割り当てることもできます。(詳しくは、「[Elastic IP アドレスの使用を開始する](WorkWithEIPs.md)」を参照してください。) | 

## NAT ゲートウェイクォータ
<a name="nat-gateway-troubleshooting-quota"></a>

NAT ゲートウェイを作成しようとすると、次のエラーが表示されます。

```
Performing this operation would exceed the limit of 5 NAT gateways
```

**原因**  
そのアベイラビリティーゾーンの NAT ゲートウェイの数のクォータに到達しました。

**ソリューション**

アカウントでこの NAT ゲートウェイクォータに達した場合は、次のいずれかの操作を実行できます。
+ Service Quotas コンソールを使用して、[ アベイラビリティーゾーンのクォータごとに NAT ゲートウェイ](https://console.aws.amazon.com/servicequotas/home/services/vpc/quotas/L-FE5A380F)の増加を要求します。
+ NAT ゲートウェイの状態を確認します。ステータスが `Pending`、`Available`、`Deleting` のゲートウェイはクォータに含まれます。最近 NAT ゲートウェイを削除した場合は、ステータスが `Deleting` から `Deleted` に変わるまで数分待ちます。NAT ゲートウェイを作成し直します。
+ 特定のアベイラビリティーゾーンの NAT ゲートウェイが不要な場合は、まだクォータに達していないアベイラビリティーゾーンで NAT ゲートウェイを作成してみます。

詳細については、「[Amazon VPC クォータ](amazon-vpc-limits.md)」を参照してください

## Elastic IP アドレスのクォータ
<a name="nat-gateway-troubleshooting-limits"></a>

**問題**  
パブリック NAT ゲートウェイに Elastic IP アドレスを割り当てようとすると、次のエラーが発生します。

```
The maximum number of addresses has been reached.
```

**原因**  
そのリージョンのアカウントの Elastic IP アドレスの数のクォータに到達している。

**ソリューション**  
Elastic IP アドレスのクォータに達した場合は、別のリソースに関連付けられている Elastic IP アドレスを解除することができます。または、Service Quotas コンソールを使用して [ Elastic IPS クォータの増加をリクエストすることもできます ](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-0263D0A3)。

## アベイラビリティーゾーンがサポートされていない
<a name="nat-gateway-troubleshooting-unsupported-az"></a>

**問題**  
NAT ゲートウェイを作成しようとすると、`NotAvailableInZone` エラーが表示されます。

**原因**  
制約のあるアベイラビリティーゾーン (当社による拡張に制限があるゾーン) で NAT ゲートウェイを作成しようとしている可能性があります。

**ソリューション**  
これらのアベイラビリティーゾーンでは NAT ゲートウェイはサポートされていません。別のアベイラビリティーゾーンで NAT ゲートウェイを作成し、それを制約のあるゾーンのプライベートサブネットで使用できます。リソースを制約のないアベイラビリティーゾーンに移動し、リソースと NAT ゲートウェイのアベイラビリティーゾーンを同じにすることができます。

## NAT ゲートウェイが表示されなくなりました
<a name="nat-gateway-troubleshooting-gateway-removed"></a>

**問題**  
作成した NAT ゲートウェイは、Amazon VPC コンソールに表示されなくなりました。

**原因**  
NAT ゲートウェイの作成中にエラーが発生し、作成に失敗した可能性があります。状態が `Failed` の NAT ゲートウェイは Amazon VPC コンソールに約 1 時間表示されます。1 時間後、自動的に削除されます。

**ソリューション**  
「[NAT ゲートウェイの作成に失敗する](#nat-gateway-troubleshooting-failed)」の情報を確認し、新しい NAT ゲートウェイを作成してみてください。

## NAT ゲートウェイが ping コマンドに応答しない
<a name="nat-gateway-troubleshooting-ping"></a>

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

**原因**  
NAT ゲートウェイは、プライベートサブネットのインスタンスからインターネットへのトラフィックのみを渡します。

**ソリューション**  
NAT ゲートウェイが動作していることをテストするには、「[パブリック NAT ゲートウェイのテスト](nat-gateway-scenarios.md#public-nat-gateway-testing)」を参照してください。

## インスタンスがインターネットにアクセスできない
<a name="nat-gateway-troubleshooting-no-internet-connection"></a>

**問題**  
NAT ゲートウェイを作成し、手順に従ってテストしましたが、`ping` コマンドが失敗するか、プライベートサブネットのインスタンスがインターネットにアクセスできません。

**原因**  
この問題の原因として、次のいずれかが考えられます。
+ NAT ゲートウェイでトラフィックを処理する準備が整っていません。
+ ルートテーブルが正しく構成されていません。
+ セキュリティグループまたはネットワーク ACL がインバウンドトラフィックまたはアウトバウンドトラフィックをブロックしています。
+ サポートされていないプロトコルを使用しています。

**ソリューション**  
次の情報を確認します。
+ NAT ゲートウェイの状態が `Available` であることを確認します。Amazon VPC コンソールで、**[NAT ゲートウェイ]** に移動し、詳細ペインの状態情報を参照してください。NAT ゲートウェイの状態が failed である場合は、作成時にエラーが発生した可能性があります。詳細については、「[NAT ゲートウェイの作成に失敗する](#nat-gateway-troubleshooting-failed)」を参照してください
+ ルートテーブルが正しく設定されていることを確認します。
  + NAT ゲートウェイはパブリックサブネット内にあって、インターネットトラフィックがインターネットゲートウェイにルーティングされるようにルートテーブルが設定されている必要があります。
  + インスタンスはプライベートサブネット内にあって、インターネットトラフィックが NAT ゲートウェイにルーティングされるようにルートテーブルが設定されている必要があります。
  + インターネットトラフィックの全体または一部を NAT ゲートウェイの代わりに別のデバイスにルーティングするようなエントリがルートテーブルに含まれていないことを確認します。
+ プライベートインスタンスのセキュリティグループルールにより、アウトバウンドインターネットトラフィックが許可されていることを確認します。`ping` コマンドを使用するには、ルールにより、アウトバウンド ICMP トラフィックも許可されている必要があります。

   NAT ゲートウェイ自体は、アウトバウンドリクエストと、アウントバウンドリクエストに応じて受信されるトラフィックのすべてを許可します (つまり、ステートフルです)。
+ パブリックサブネットとプライベートサブネットに関連付けられているネットワーク ACL に、インバウンドまたはアウトバウンドのインターネットトラフィックをブロックするルールが含まれていないことを確認します。`ping` コマンドを使用するには、ルールにより、インバウンドおよびアウトバウンドの ICMP トラフィックも許可されている必要があります。

  ネットワーク ACL やセキュリティグループのルールによって削除された接続の診断には、フローログを役立てることができます。詳細については、「[VPC フローログを使用した IP トラフィックのログ記録](flow-logs.md)」を参照してください
+ `ping` コマンドは、必ず ICMP が有効になっているホストに対して実行してください。ICMP が有効になっていない場合、応答パケットを受け取ることはできません。これをテストするには、自分のコンピュータのコマンドラインターミナルから同じ `ping` コマンドを実行します。
+ インスタンスから他のリソース (プライベートサブネットの他のインスタンスなど) に ping を実行できることを確認します (セキュリティグループルールにより、これが許可されている場合)。
+ 接続に TCP、UDP、または ICMP プロトコルのみが使用されていることを確認します。

## 送信先への TCP 接続が失敗する
<a name="nat-gateway-troubleshooting-tcp-issues"></a>

**問題**  
プライベートサブネットのインスタンスから NAT ゲートウェイを介した特定の送信先への TCP 接続の一部は成功しますが、一部は失敗またはタイムアウトします。

**原因**  
この問題の原因として、次のいずれかが考えられます。
+ 送信先エンドポイントがフラグメント化された TCP パケットで応答しています。NAT ゲートウェイは、TCP または ICMP の IP フラグメンテーションをサポートしません。詳細については、「[NAT ゲートウェイと NAT インスタンスの比較](vpc-nat-comparison.md)」を参照してください
+ この `tcp_tw_recycle` オプションは、NAT デバイスの背後から複数の接続がある場合に問題を引き起こすことが知られているリモートサーバーで有効になっています。

**ソリューション**  
次の手順を実行して、接続しようとしているエンドポイントがフラグメント化された TCP パケットで応答しているかどうかを確認します。

1. パブリック IP アドレスを持つパブリックサブネットのインスタンスを使用して、特定のエンドポイントからフラグメンテーションを引き起こすのに十分な大きさの応答をトリガーします。

1. エンドポイントがフラグメント化したパケットを送信していることを確認するため、`tcpdump` ユーティリティを使用します。
**重要**  
これらのチェックを実行するには、パブリックサブネットのインスタンスを使用する必要があります。元の接続が失敗したインスタンス、または NAT ゲートウェイまたは NAT インスタンスの背後にあるプライベートサブネットのインスタンスは使用できません。

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

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

リモートサーバーにアクセスできる場合は、次の手順を実行して、`tcp_tw_recycle` オプションが有効になっているかどうかを確認できます。

1. サーバーから、以下のコマンドを実行します。

   ```
   cat /proc/sys/net/ipv4/tcp_tw_recycle
   ```

   出力が `1` の場合、`tcp_tw_recycle` オプションは有効になっています。

1. `tcp_tw_recycle` が有効になっている場合は、無効にすることをお勧めします。接続を再使用する必要がある場合は、安全な `tcp_tw_reuse` を使用することをお勧めします。

リモートサーバーにアクセスできない場合は、プライベートサブネットのインスタンスで `tcp_timestamps` オプションを一時的に無効にしてテストできます。次に、リモートサーバーに再度接続します。接続が成功した場合、リモートサーバーで `tcp_tw_recycle` が有効になっているため、以前のエラーが原因であると考えられます。可能であれば、リモートサーバーの所有者に連絡して、このオプションが有効になっているかどうかを確認し、無効にするようにリクエストします。

## Traceroute の出力に NAT ゲートウェイのプライベート IP アドレスが表示されない
<a name="nat-gateway-troubleshooting-traceroute"></a>

**問題**  
インスタンスからインターネットにアクセスできるが、`traceroute` コマンドを実行すると、出力に NAT ゲートウェイのプライベート IP アドレスが表示されません。

**原因**  
インスタンスは、インターネットゲートウェイなどの別のゲートウェイを使用してインターネットにアクセスしています。

**ソリューション**  
インスタンスがあるサブネットのルートテーブルで、次の情報を確認します。
+ インターネットトラフィックを NAT ゲートウェイに送信するルートがあることを確認します。
+ インターネットトラフィックを他の機器 (仮想プライベートゲートウェイやインターネットゲートウェイなど) に送信するためのより具体的なルートがないことを確認します。

## インターネット接続が 350 秒後に中断される
<a name="nat-gateway-troubleshooting-timeout"></a>

**問題**  
インスタンスはインターネットにアクセスできますが、350 秒後に接続が切断されます。

**原因**  
NAT ゲートウェイを使用する接続が 350 秒以上アイドル状態のままになっていると、その接続はタイムアウトします。

接続がタイムアウトになると、NAT ゲートウェイは、NAT ゲートウェイの背後で接続を継続しようとするリソースすべてに RST パケットを返します (FIN パケットは送信しません)。

**ソリューション**  
接続が中断されないように、接続を介して追加のトラフィックを開始することができます。または、インスタンスで、350 秒未満の値で TCP キープアライブを有効にできます。

## IPsec 接続を確立できない
<a name="nat-gateway-troubleshooting-ipsec"></a>

**問題**  
送信先への IPsec 接続を確立できません。

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

**ソリューション**  
NAT トラバーサル (NAT-T) を使用して、IPsec トラフィックを UDP にカプセル化することはできます。これは NAT ゲートウェイでサポートされているプロトコルです。NAT-T および IPsec 設定をテストして、IPsec トラフィックが欠落しないことを検証してください。

## 追加の接続を開始できない
<a name="nat-gateway-troubleshooting-simultaneous-connections"></a>

**問題**  
NAT ゲートウェイを介した送信先への既存の接続がありますが、それ以上接続を追加で確立することはできません。

**原因**  
単一の NAT ゲートウェイの同時接続数が上限に達した可能性があります。詳細については、「[NAT ゲートウェイの基本](nat-gateway-basics.md)」を参照してください プライベートサブネットのインスタンスで多数の接続が作成されると、この上限に達する場合があります。

**ソリューション**  
次のいずれかを行います。
+ アベイラビリティーゾーンごとに NAT ゲートウェイを作成し、各ゾーンにクライアントを分散してください。
+ パブリックサブネットで追加の NAT ゲートウェイを作成し、クライアントを複数のプライベートサブネットに分散して、それぞれに別の NAT ゲートウェイへのルートを設定します。
+ 送信先に対してクライアントが作成できる接続の数を制限します。
+ CloudWatch の [`IdleTimeoutCount`](vpc-nat-gateway-cloudwatch.md) メトリクスを使用して、アイドル状態の接続の増加を監視します。アイドル状態の接続を閉じてキャパシティーを解放します。
+ 複数の IP アドレスで NAT ゲートウェイを作成するか、既存の NAT ゲートウェイにセカンダリ IP アドレスを追加します。新しい IPv4 アドレスはそれぞれ最大 55,000 の同時接続をサポートできます。詳細については「[NAT ゲートウェイを作成する](nat-gateway-working-with.md#nat-gateway-creating)」または「[セカンダリ IP アドレスの関連付けを編集する](nat-gateway-working-with.md#nat-gateway-edit-secondary)」を参照してください。

# NAT ゲートウェイの料金
<a name="nat-gateway-pricing"></a>

NAT ゲートウェイをプロビジョンすると、NAT ゲートウェイが使用可能な時間 1 時間ごと、およびゲートウェイが処理するデータ 1 GB ごとに課金されます。詳細については、「[Amazon VPC の料金](https://aws.amazon.com/vpc/pricing/)」を参照してください。

次の戦略は、NAT ゲートウェイのデータ転送料金を削減するのに役立ちます。
+ AWS リソースがアベイラビリティーゾーン全体で大量のトラフィックを送受信する場合は、リソースが NAT ゲートウェイと同じアベイラビリティーゾーンにあることを確認してください。または、リソースがある各アベイラビリティーゾーンに NAT ゲートウェイを作成します。
+ NAT ゲートウェイを経由するトラフィックのほとんどが、インターフェイスエンドポイントまたはゲートウェイエンドポイントをサポートする AWS サービスへのものである場合、これらのサービスのためにインターフェイスエンドポイントまたはゲートウェイエンドポイントの作成を検討してください。コスト削減の可能性については、「[AWS PrivateLink 料金](https://aws.amazon.com/privatelink/pricing/)」を参照してください。