NAT ゲートウェイ
NAT ゲートウェイは、ネットワークアドレス変換 (NAT) サービスです。NAT ゲートウェイを使用すると、プライベートサブネット内のインスタンスは VPC 外のサービスに接続できますが、外部サービスはそれらのインスタンスとの接続を開始できません。
NAT ゲートウェイを作成するときは、次のいずれかの接続タイプを指定します。
-
Public (パブリック) - (デフォルト) プライベートサブネットのインスタンスは、パブリック NAT ゲートウェイを介してインターネットに接続できますが、インターネットから未承諾のインバウンド接続を受信することはできません。パブリックサブネット内にパブリック NAT ゲートウェイを作成し、作成時に Elastic IP アドレスを NAT ゲートウェイに関連付ける必要があります。NAT ゲートウェイへのトラフィックは、VPC のインターネットゲートウェイにルーティングします。パブリック NAT ゲートウェイを使用して、他の VPC やオンプレミスのネットワークに接続することもできます。この場合、NAT ゲートウェイからのトラフィックを Transit Gateway または仮想プライベートゲートウェイ経由でルーティングします。
-
Private (プライベート) - プライベートサブネットのインスタンスは、プライベート NAT ゲートウェイを介して他の VPC またはオンプレミスのネットワークに接続できます。この場合、NAT ゲートウェイからのトラフィックを Transit Gateway または仮想プライベートゲートウェイ経由でルーティングできます。elastic IP アドレスをプライベート NAT ゲートウェイに関連付けることはできません。プライベート NAT ゲートウェイを使用して VPC にインターネットゲートウェイをアタッチできますが、プライベート NAT ゲートウェイからインターネットゲートウェイにトラフィックをルーティングすると、インターネットゲートウェイによってトラフィックがドロップされます。
NAT ゲートウェイは、インスタンスの送信元 IP アドレスを NAT ゲートウェイの IP アドレスに置き換えます。パブリック NAT ゲートウェイの場合、これは NAT ゲートウェイの Elastic IP アドレス です。プライベート NAT ゲートウェイの場合、これは NAT ゲートウェイのプライベート IPv4 アドレスです。インスタンスに応答トラフィックを送信するとき、NAT デバイスはアドレスを元の送信元 IP アドレスに変換します。
料金
NAT ゲートウェイをプロビジョニングすると、NAT ゲートウェイが使用可能な時間と、そのゲートウェイが処理するデータ 1 GB ごとに課金されます。詳細については、「Amazon VPC の料金
次の戦略は、NAT ゲートウェイのデータ転送料金を削減するのに役立ちます。
-
AWS リソースがアベイラビリティーゾーン間で大量のトラフィックを送受信する場合は、リソースが NAT ゲートウェイと同じアベイラビリティーゾーンにあることを確認するか、リソースと同じアベイラビリティーゾーンに NAT ゲートウェイを作成してください。
-
NAT ゲートウェイを経由するトラフィックのほとんどが、インターフェイスエンドポイントまたはゲートウェイエンドポイントをサポートする AWS サービスへのものである場合、これらのサービスのためにインターフェイスエンドポイントまたはゲートウェイエンドポイントの作成を検討してください。コスト削減の可能性については、「AWS PrivateLink 料金
」を参照してください。
内容
NAT ゲートウェイの基本
各 NAT ゲートウェイは、アベイラビリティーゾーン別に作成され、各ゾーンで冗長性を持たせて実装されます。各アベイラビリティーゾーンに作成できる NAT ゲートウェイの数にはクォータがあります。詳細については、「Amazon VPC クォータ」を参照してください。
複数のアベイラビリティーゾーンにリソースがあって、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 アドレス」を参照してください。
-
NAT ゲートウェイに割り当てるプライベート IPv4 アドレスを選択するか、サブネットの IPv4 アドレス範囲からプライベート IPv4 アドレスを自動的に割り当てることができます。割り当てられたプライベート IPv4 アドレスは、プライベート NAT ゲートウェイを削除するまで維持されます。プライベート IPv4 アドレスをデタッチすることはできず、追加のプライベート IPv4 アドレスをアタッチすることもできません。
-
NAT ゲートウェイにセキュリティグループを関連付けることはできません。セキュリティグループをインスタンスに関連付けて、インバウンドトラフィックとアウトバウンドトラフィックをコントロールできます。
-
NAT ゲートウェイのサブネットに出入りするトラフィックを管理するには、ネットワーク ACL を使用できます。NAT ゲートウェイはポート 1024 ~ 65535 を使用します。詳細については、「ネットワーク ACL を使用してサブネットへのトラフィックを制御する」を参照してください。
-
NAT ゲートウェイでは、ネットワークインターフェイスが受信されます。インターフェイスに割り当てるプライベート IPv4 アドレスを選択するか、サブネットの IPv4 アドレス範囲から自動的に割り当てることができます。NAT ゲートウェイのネットワークインターフェイスは Amazon EC2 コンソールで参照できます。詳細については、「ネットワークインターフェイスに関する詳細の表示」を参照してください。このネットワークインターフェイスの属性を変更することはできません。
-
NAT ゲートウェイは、VPC に関連付けられている ClassicLink 接続からはアクセスできません。
-
VPC ピア接続、Site-to-Site VPN 接続、または を経由して NAT ゲートウェイにトラフィックをルーティングすることはできませんAWS Direct Connect NAT ゲートウェイは、これらの接続の他方の側にあるリソースからは使用できません。
NAT ゲートウェイの使用を制御する
デフォルトでは、 ユーザーには NAT ゲートウェイを使用するためのアクセス権限がありません。NAT ゲートウェイを作成、説明、削除するアクセス許可をユーザーに付与するポリシーがアタッチされた IAM ロールを作成できます。詳細については、「Amazon VPC の Identity and Access Management」を参照してください。
NAT ゲートウェイの使用
Amazon VPC コンソールを使用して、NAT ゲートウェイを作成および管理できます。
NAT ゲートウェイを作成する
このセクションのステップを実行して、NAT ゲートウェイを作成します。
アカウントに割り当てられた EIP の数を使い果たすと、パブリック NAT ゲートウェイを作成できなくなります。EIP クォータとクォータの調整方法については、「Elastic IP アドレス」を参照してください。
プライベート NAT ゲートウェイには、最大 8 個のプライベート IP v4 アドレスを割り当てることができます。デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで、引き上げることができます。詳細については、「Elastic IP アドレス」を参照してください。
NAT ゲートウェイを作成するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [NAT ゲートウェイ] を選択します。
-
[NAT ゲートウェイを作成] を選択します。
-
(オプション) NAT ゲートウェイの名前を指定します。これにより、キーが
Name
、値は指定した名前であるタグが作成されます。 -
NAT ゲートウェイを作成する先のサブネットを選択します。
-
[接続タイプ] で、パブリック NAT ゲートウェイを作成する場合はデフォルトの [パブリック] が選択されたままにしておき、プライベート NAT ゲートウェイを作成する場合は [プライベート] を選択します。パブリック NAT ゲートウェイとプライベート NAT ゲートウェイの違いに関する詳細については、「NAT ゲートウェイ」を参照してください。
-
[プライベート] を選択した場合は、このステップをスキップしてステップ 8 に進んでください。[パブリック] を選択した場合は、以下を実行します。
-
[Elastic IP 割り当て ID] を選択して NAT ゲートウェイに EIP を割り当てるか、[Elastic IP を割り当て] を選択してパブリック NAT ゲートウェイの EIP を自動的に割り当てます。デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで、引き上げることができます。詳細については、「Elastic IP アドレス」を参照してください。
-
(オプション) [追加設定] を選択して、[プライマリプライベート IP アドレス - オプション] で NAT ゲートウェイのプライベート IPv4 アドレスを入力します。アドレスを入力しない場合は、AWS が自動的に、NAT ゲートウェイがあるサブネットからのプライベート IPv4 アドレスを NAT ゲートウェイにランダムに割り当てます。
-
ステップ 11 に進みます。
-
-
[プライベート] を選択した場合は、[追加設定] を選択してから、[プライベート IP アドレスの割り当て方法] で、以下のいずれかを選択します。
[自動割り当て]: AWS がプライマリプライベート IPv4 アドレスを自動的に選択します。AWS が NAT ゲートウェイに割り当てるセカンダリプライベート IPv4 アドレス (最大 7 個) を割り当てるかどうかはユーザーが選択します。AWS は自動的に、NAT ゲートウェイがあるサブネットからのアドレスをランダムに選択して割り当てます。
[カスタム]: NAT ゲートウェイに割り当てるプライマリプライベート IPv4 アドレスと、最大 7 個のセカンダリプライベート IPv4 アドレスを選択します。
-
ステップ 8 で [カスタム] を選択した場合は、このステップをスキップしてください。[自動割り当て] を選択した場合は、[自動で割り当てられたプライベート IP アドレスの数] で、AWS がこのプライベート NAT ゲートウェイに割り当てるセカンダリ IPv4 アドレスの数を選択します。IPv4 アドレスは、最大 7 個選択できます。
注記 セカンダリ IPv4 アドレスはオプションであり、NAT ゲートウェイを使用するワークロードの単一の送信先 (同じ送信先 IP、送信先ポート、およびプロトコル) への同時接続数が 55,000 個を超える場合に割り当てる、または割り振られる必要があります。セカンダリ IPv4 アドレスは利用可能なポート数を増やすことから、ワークロードが NAT ゲートウェイを使用して確立できる同時接続数の上限も増加します。
-
ステップ 9 で [自動割り当て] を選択した場合は、このステップをスキップしてください。[カスタム] を選択した場合は、以下を実行します。
[プライマリプライベート IPv4 アドレス] に、プライベート IPv4 アドレスを入力します。
[セカンダプライベート IPv4 アドレス] に、最大 7 個のセカンダリプライベート IPv4 アドレスを入力します。
注記 セカンダリ IPv4 アドレスはオプションであり、NAT ゲートウェイを使用するワークロードの単一の送信先 (同じ送信先 IP、送信先ポート、およびプロトコル) への同時接続数が 55,000 個を超える場合に割り当てる、または割り振られる必要があります。セカンダリ IPv4 アドレスは利用可能なポート数を増やすことから、ワークロードが NAT ゲートウェイを使用して確立できる同時接続数の上限も増加します。
-
(オプション) タグを NAT ゲートウェイに追加するには、[Add new tag] (新しいタグを追加) を選択し、キー名と値を入力します。最大 50 個のタグを追加できます。
-
[NAT ゲートウェイを作成] を選択します。
-
NAT ゲートウェイの初期ステータスは
Pending
です 。ステータスがAvailable
に変わると、NAT ゲートウェイを使用できるようになります。必要に応じて、ルートテーブルを更新するようにしてください。例については、「NAT ゲートウェイのユースケース」を参照してください。
NAT ゲートウェイの状態が Failed
である場合は、作成時にエラーが発生しています。詳細については、「NAT ゲートウェイの作成に失敗する」を参照してください。
セカンダリ IP アドレスの関連付けを編集する
各 IPv4 アドレスは、固有の送信先それぞれに対して最大 55,000 の同時接続をサポートできます。固有の送信先は、送信先 IP アドレス、送信先ポート、およびプロトコル (TCP/UDP/ICMP) の一意の組み合わせで識別されます。この制限は、NAT ゲートウェイに最大 8 個の IPv4 アドレス (1 個のプライマリ IPv4 アドレスと 7 個のセカンダリ IPv4 アドレス) を関連付けることで、引き上げることができます。デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで、引き上げることができます。詳細については、「Elastic IP アドレス」を参照してください。
NAT ゲートウェイの CloudWatch メトリクス である ErrorPortAllocation と PacketsDropCount を使用して、NAT ゲートウェイがポート割り当てエラーを生成しているかどうか、またはパケットをドロップしているかどうかを判断できます。この問題を解決するには、NAT ゲートウェイにセカンダリ IPv4 アドレスを追加します。
セカンダリプライベート IPv4 アドレスは、プライベート NAT ゲートウェイの作成時、またはこのセクションの手順を使用して NAT ゲートウェイを作成した後で追加できます。セカンダリ EIP アドレスをパブリック NAT ゲートウェイに追加できるのは、このセクションの手順を使用して NAT ゲートウェイを作成した後のみです。
NAT ゲートウェイには、最大 8 個の IPv4 アドレス (1 個のプライマリ IPv4 アドレスと 7 個のセカンダリ IPv4 アドレス) を関連付けることができます。プライベート NAT ゲートウェイには、最大 8 個のプライベート IP v4 アドレスを割り当てることができます。デフォルトで、パブリック NAT ゲートウェイに関連付ける Elastic IP アドレスは 2 個に制限されています。この制限は、クォータの調整をリクエストすることで、引き上げることができます。詳細については、「Elastic IP アドレス」を参照してください。
セカンダリ IPv4 アドレスの関連付けを編集する
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [NAT ゲートウェイ] を選択します。
-
セカンダリ IPv4 アドレスの関連付けを編集する NAT ゲートウェイを選択します。
-
[アクション] を選択してから、[セカンダリ IP アドレスの関連付けを編集] を選択します。
-
プライベート NAT ゲートウェイのセカンダリ IPv4 アドレスの関連付けを編集している場合は、[アクション] で [新しい IPv4 アドレスの割り当て] または [既存の IPv4 アドレスの割り当てを解除する] を選択します。パブリック NAT ゲートウェイのセカンダリ IPv4 アドレスの関連付けを編集している場合は、[アクション] で [新しい IPv4 アドレスの関連付け] または [既存の IPv4 アドレスの関連付けを解除する] を選択します。
-
以下のいずれかを実行します。
-
新しい IPv4 アドレスの割り当てまたは関連付けを選択した場合は、以下を実行します。
-
このステップは必須です。プライベート IPv4 アドレスを選択する必要があります。[プライベート IPv4 アドレスの割り当て方法] を選択します。
-
[自動割り当て]: AWS がプライマリプライベート IPv4 アドレスを自動的に選択します。AWS が NAT ゲートウェイに割り当てるセカンダリプライベート IPv4 アドレス (最大 7 個) を割り当てるかどうかはユーザーが選択します。AWS は自動的に、NAT ゲートウェイがあるサブネットからのアドレスをランダムに選択して割り当てます。
-
[カスタム]: NAT ゲートウェイに割り当てるプライマリプライベート IPv4 アドレスと、最大 7 個のセカンダリプライベート IPv4 アドレスを選択します。
-
-
[Elastic IP 割り当て ID] で、セカンダリ IPv4 アドレスとして追加する EIP を選択します。このステップは必須です。プライベート IPv4 アドレスとともに、EIP も選択する必要があります。[プライベート IP アドレスの割り当て方法] で [カスタム] を選択した場合は、追加する EIP ごとにプライベート IPv4 アドレスを入力する必要もあります。
NAT ゲートウェイには、最大 8 個の IP アドレスを関連付けることができます。これがパブリック NAT ゲートウェイである場合、リージョンあたりの EIP 数にデフォルトのクォータ制限があります。詳細については、「Elastic IP アドレス」を参照してください。
-
新しい IPv4 アドレスの割り当ての解除、または関連付けの解除を選択した場合は、以下を実行します。
[割り当てを解除する既存のセカンダリ IP アドレス] で、割り当てを解除するセカンダリ IP アドレスを選択します。
(オプション) [接続ドレイン期間] には、接続がまだ進行中の場合に IP アドレスを強制的に解放するまでの最大待機時間 (秒単位) を入力します。値を指定しない場合のデフォルト値は 350 秒です。
-
-
[Save changes] (変更の保存) をクリックします。
NAT ゲートウェイの状態が Failed
である場合は、作成時にエラーが発生しています。詳細については、「NAT ゲートウェイの作成に失敗する」を参照してください。
NAT ゲートウェイにタグを付ける
NAT ゲートウェイを識別したり、組織のニーズに応じて分類するのに役立つように、NAT ゲートウェイにタグを付けることができます。タグの使用の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの、「Amazon EC2 リソースのタグ付け」を参照してください。
コスト割り当てタグは、NAT ゲートウェイでサポートされます。そのため、タグを使用して AWS 請求書を整理し、自分のコスト構造を反映することもできます。詳細については、AWS Billing ユーザーガイド の「コスト配分タグの使用」を参照してください。タグによるコスト配分レポートの設定の詳細については、「AWS アカウント請求について」の「毎月のコスト配分レポート」に関する記事を参照してください。
NAT ゲートウェイにタグを付ける
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [NAT ゲートウェイ] を選択します。
-
タグ付けする NAT ゲートウェイを選択し、[アクション] を選択します。次に、[タグを管理] を選択します。
-
[新しいタグを追加] を選択して、タグの [キー] と [値] を定義します。最大 50 個のタグを追加できます。
-
[保存] を選択します。
NAT ゲートウェイを削除する
不要になった NAT ゲートウェイは削除できます。NAT ゲートウェイを削除すると、そのエントリは Amazon VPC コンソールに 1 時間ほど表示され続けますが、その後自動的に削除されます。このエントリを手動で削除することはできません。
NAT ゲートウェイを削除すると、Elastic IP アドレスとの関連付けは解除されますが、アドレスはアカウントから解放されません。NAT ゲートウェイを削除する場合、NAT ゲートウェイのルートを削除または更新するまで、ルートの状態は blackhole
になります。
NAT ゲートウェイを削除するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [NAT ゲートウェイ] を選択します。
-
NAT ゲートウェイのラジオボタンを選択し、[ アクション ]、[ NAT ゲートウェイの削除 ] の順に選択します。
-
確認を求められたら、「
delete
」と入力し、[削除] を選択します。 -
NAT ゲートウェイに関連付けられた Elastic IP アドレスが不要になった場合は、そのアドレスを解放することをお勧めします。詳細については、「Elastic IP アドレスを解放する」を参照してください。
API と CLI の概要
このページで説明しているタスクは、コマンドラインまたは API を使用して実行できます。コマンドラインインターフェイスの詳細と利用可能な API オペレーションの一覧については、「Amazon EC2 の使用」を参照してください。
プライベート NAT ゲートウェイにプライベート IPv4 アドレスを割り当てる
-
assign-private-nat-gateway-address (AWS CLI)
-
Register-EC2PrivateNatGatewayAddress (AWS Tools for Windows PowerShell)
-
AssignPrivateNatGatewayAddress (Amazon EC2 クエリ API)
Elastic IP アドレス (EIP) とプライベート IPv4 アドレスをパブリック NAT ゲートウェイに関連付ける
-
associate-nat-gateway-address (AWS CLI)
-
Register-EC2NatGatewayAddress (AWS Tools for Windows PowerShell)
-
AssociateNatGatewayAddress (Amazon EC2 クエリ API)
NAT ゲートウェイを作成する
-
create-nat-gateway (AWS CLI)
-
New-EC2NatGateway (AWS Tools for Windows PowerShell)
-
CreateNatGateway (Amazon EC2 クエリ API)
NAT ゲートウェイを削除する
delete-nat-gateway (AWS CLI)
Remove-EC2NatGateway (AWS Tools for Windows PowerShell)
DeleteNatGateway (Amazon EC2 クエリ API)
NAT ゲートウェイを記述する
describe-nat-gateways (AWS CLI)
Get-EC2NatGateway (AWS Tools for Windows PowerShell)
DescribeNatGateways (Amazon EC2 クエリ API)
パブリック NAT ゲートウェイからセカンダリ Elastic IP アドレス (EIP) の関連付けを解除する
-
disassociate-nat-gateway-address (AWS CLI)
-
Unregister-EC2NatGatewayAddress (AWS Tools for Windows PowerShell)
-
DisassociateNatGatewayAddress (Amazon EC2 クエリ API)
NAT ゲートウェイにタグを付ける
-
create-tags (AWS CLI)
-
New-EC2Tag (AWS Tools for Windows PowerShell)
-
CreateTags (Amazon EC2 クエリ API)
プライベート NAT ゲートウェイからセカンダリ IPv4 アドレスの割り当てを解除する
-
unassign-private-nat-gateway-address (AWS CLI)
-
Unregister-EC2PrivateNatGatewayAddress (AWS Tools for Windows PowerShell)
-
UnassignPrivateNatGatewayAddress (Amazon EC2 クエリ API)