NAT ゲートウェイ - Amazon Virtual Private Cloud

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 ゲートウェイのプライベート IP アドレスです。インスタンスに応答トラフィックを送信するとき、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 の帯域幅をサポートし、45 Gbps まで自動的に拡張します。これ以上の帯域幅が必要な場合は、リソースを分割して複数のサブネットに配置し、サブネットごとに NAT ゲートウェイを作成できます。

  • NAT ゲートウェイは 1 秒あたり 100 万パケットを処理でき、自動的に 1 秒あたり 400 万パケットまで拡張できます。この制限を超えると、NAT ゲートウェイはパケットをドロップします。パケット損失を防ぐには、リソースを分割して複数のサブネットに配置し、サブネットごとに個別の NAT ゲートウェイを作成します。

  • NAT ゲートウェイは送信先別に最大 55,000 の同時接続をサポートできます。この制限は、単一の送信先に 1 秒あたり約 900 の接続 (1 分あたり約 55,000 の接続) を作成する場合にも適用されます。送信先 IP アドレス、送信先ポート、またはプロトコル (TCP/UDP/ICMP) が変更された場合は、追加の 55,000 の接続を作成できます。55,000 を超える接続の場合は、ポートの割り当てエラーによる接続エラーの可能性が高くなります。これらのエラーは、NAT ゲートウェイの ErrorPortAllocation CloudWatch メトリクスを表示することでモニタリングできます。詳細については、「Amazon CloudWatch による NAT ゲートウェイのモニタリング」を参照してください

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

  • プライベート NAT ゲートウェイは、設定されているサブネットから使用可能なプライベート IP アドレスを受け取ります。割り当てられたプライベート IP アドレスは、プライベート NAT ゲートウェイを削除するまで保持されます。プライベート IP アドレスはデタッチできません。また、別のプライベート IP アドレスをアタッチすることもできません。

  • NAT ゲートウェイにセキュリティグループを関連付けることはできません。セキュリティグループをインスタンスに関連付けて、インバウンドトラフィックとアウトバウンドトラフィックをコントロールできます。

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

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

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

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

NAT ゲートウェイの使用を制御する

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

NAT ゲートウェイの使用

Amazon VPC コンソールを使用して、NAT ゲートウェイを作成および管理できます。Amazon VPC ウィザードを使用して、パブリックサブネット、プライベートサブネット、NAT ゲートウェイを使用する VPC を作成することもできます。詳細については、「パブリックサブネットとプライベートサブネットを持つ VPC (NAT)」を参照してください

NAT ゲートウェイの作成

NAT ゲートウェイを作成するには、名前 (オプション)、サブネット、および接続タイプ (オプション) を入力します。パブリック NAT ゲートウェイでは、使用可能な Elastic IP アドレスを指定する必要があります。プライベート NAT ゲートウェイは、サブネットからランダムに選択されたプライマリプライベート IP アドレスを受け取ります。プライマリプライベート IP アドレスをデタッチしたり、セカンダリプライベート IP アドレスを追加したりすることはできません。

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

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

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

  3. [ NAT ゲートウェイの作成 ] を選択し、次の操作を行います。

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

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

    3. [Connectivity type] (接続タイプ) で、プライベート NAT ゲートウェイを作成する場合は [Private] (プライベート)、パブリック NAT ゲートウェイを作成する場合は [Public] (パブリック) (デフォルト) を選択します。

    4. (パブリック NAT ゲートウェイのみ) elastic IP allocation ID (elastic IP の割り当て ID) では、NAT ゲートウェイに関連付ける elastic IP アドレスを選択します。

    5. (オプション)タグごとに、[ Add new tag ] を選択し、キーの名前と値を入力します。

    6. Create a NAT Gateway (NAT ゲートウェイの作成) を選択します。

  4. NAT ゲートウェイの初期ステータスは Pending です 。ステータスが Available に変わると、NAT ゲートウェイを使用できるようになります。NAT ゲートウェイへのルートをプライベートサブネットのルートテーブルに追加し、NAT ゲートウェイのルートテーブルにルートを追加します。

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

NAT ゲートウェイのタグ付け

NAT ゲートウェイを識別したり、組織のニーズに応じて分類するのに役立つように、NAT ゲートウェイにタグを付けることができます。タグの使用の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの、「Amazon EC2 リソースのタグ付け」を参照してください。

コスト割り当てタグは、NAT ゲートウェイでサポートされます。そのため、タグを使用して AWS 請求書を整理し、自分のコスト構造を反映することもできます。詳細については、AWS Billing ユーザーガイド の「コスト配分タグの使用」を参照してください。タグによるコスト配分レポートの設定の詳細については、「AWS アカウント請求について」の「毎月のコスト配分レポート」に関する記事を参照してください。

NAT ゲートウェイの削除

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

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

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

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

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

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

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

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

API と CLI の概要

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

NAT ゲートウェイの作成

NAT ゲートウェイの説明

NAT ゲートウェイのタグ付け

NAT ゲートウェイの削除