NATゲートウェイ
このトピックでは、ネットワーク・アドレス変換(NAT)ゲートウェイを設定および管理する方法について説明します。NATゲートウェイを使用すると、パブリックIPアドレスを持たないクラウド・リソースは、着信インターネット接続にそれらのリソースを公開せずにインターネットにアクセスできます。
ハイライト
- NATゲートウェイをVCNに追加して、プライベート・サブネット内のインスタンスにインターネットへのアクセス権を付与できます。
- プライベート・サブネット内のインスタンスは、パブリックIPアドレスを持ちません。NATゲートウェイを使用すると、インターネットへの接続を開始してレスポンスを受信できますが、インターネットから開始されたインバウンド接続を受信することはできません。
- NATゲートウェイは可用性が高く、TCP、UDPおよびICMPのpingトラフィックをサポートしています。
NATの概要
NATは、各ホストにパブリックIPv4アドレスを割り当てることなく、プライベート・ネットワーク全体にインターネットへのアクセス権を付与するために一般的に使用されるネットワーキング手法です。各ホストはインターネットへの接続を開始してレスポンスを受信できますが、インターネットから開始されたインバウンド接続を受信することはできません。
プライベート・ネットワークのホストがインターネットバウンド接続を開始すると、NATデバイスのパブリックIPアドレスがアウトバウンド・トラフィックのソースIPアドレスになります。したがって、インターネットからのレスポンス・トラフィックは、そのパブリックIPアドレスを宛先IPアドレスとして使用します。その後、NATデバイスは、接続を開始したプライベート・ネットワーク内のホストにレスポンスをルーティングします。
NATゲートウェイの概要
ネットワーキング・サービスは、VCNに対してNATゲートウェイの形式で信頼性と可用性の高いNATソリューションを提供します。
シナリオ例: インターネット(Webサーバーなど)からのインバウンド・トラフィックを受信する必要があるリソースがあるとします。また、インターネットからのインバウンド・トラフィックから保護する必要のあるプライベート・リソースもあるとします。これらのリソースはすべて、インターネットへの接続を開始して、インターネット上のサイトからのソフトウェア更新をリクエストする必要があります。
VCNを設定し、Webサーバーを含むパブリック・サブネットを追加します。インスタンスを起動するときに、インバウンド・インターネット・トラフィックを受信できるようにパブリックIPアドレスをそれらに割り当てます。また、プライベート・インスタンスを保持するプライベート・サブネットも追加します。これらはプライベート・サブネット内にあるため、パブリックIPアドレスを持つことはできません。
インターネット・ゲートウェイをVCNに追加します。また、パブリック・サブネットのルート表内に、インターネットバウンド・トラフィックをインターネット・ゲートウェイに送信するルート・ルールを追加します。これで、パブリック・サブネットのインスタンスは、インターネットへの接続を開始できるようになり、さらにインターネットから開始されたインバウンド接続を受信できるようになります。セキュリティ・ルールを使用して、インスタンスの出入りが許可されるトラフィックのタイプをパケット・レベルで制御できることに注意してください。
NATゲートウェイをVCNに追加します。また、プライベート・サブネットのルート表内に、インターネットバウンド・トラフィックをNATゲートウェイに送信するルート・ルールを追加します。これで、プライベート・サブネットのインスタンスはインターネットへの接続を開始できるようになります。NATゲートウェイではレスポンスは許可されますが、インターネットから開始された接続は許可されません。そのNATゲートウェイがない場合は、プライベート・インスタンスがパブリック・サブネットに存在し、かつソフトウェア更新を取得するためのパブリックIPアドレスを持つ必要があります。
インターネットからサブネットにレスポンス・トラフィックをルーティングする場合、NATゲートウェイはデフォルトでトラフィックを宛先に直接ルーティングします。ルート表をNATゲートウェイに関連付け、そのルート表でNATゲートウェイ・イングレス・ルーティングのルート・ルールを定義できます。たとえば、NATゲートウェイでレスポンス・トラフィックをファイアウォールに最初にルーティングする場合は、ファイアウォール・プライベートIPをNATゲートウェイ・ルート表のターゲットとして、宛先サブネットCIDRのルート・ルールを作成できます。
次の図は、この例の基本的なネットワーク・レイアウトを示しています。矢印は、接続を開始できる方向が1方向のみか両方向かを示しています。
宛先CIDR | ルート・ターゲット |
---|---|
0.0.0.0/0 | インターネット・ゲートウェイ |
ルート・ターゲット | ルート・ターゲット |
---|---|
0.0.0.0/0 | NATゲートウェイ |
NATゲートウェイを使用できるのは、そのゲートウェイ自身のVCN内のリソースのみです。VCNが他のVCNとピアリングされている場合、もう一方のVCN内のリソースはNATゲートウェイにアクセスできません。
また、FastConnectまたはサイト間VPNを使用してNATゲートウェイのVCNに接続されているオンプレミス・ネットワークのリソースも、NATゲートウェイを使用できません。
NATゲートウェイに関するいくつかの基本情報を次に示します:
- NATゲートウェイでは、TCP、UDPおよびICMPのpingトラフィックをサポートしています。
- このゲートウェイでは、1つの宛先アドレスおよびポートに対して最大で約20,000の同時接続をサポートしています。
- ネットワーキング・サービスでは、新しいNATゲートウェイに新しいパブリックIPアドレスを割り当てるか、新しく作成されたNATゲートウェイに使用する特定の既存の予約済パブリックIPを指定できます。
- VCN当たりのNATゲートウェイの数には制限がありますが、VCNに必要なNATゲートウェイは1つのみです。その制限まで引上げをリクエストできます。適用可能な制限のリストと制限の引上げをリクエストする手順は、サービス制限を参照してください。
NATゲートウェイのルーティング
VCN内のルーティングはサブネット・レベルで制御するため、VCN内のどのサブネットがNATゲートウェイを使用するかを指定できます。1つのVCNに複数のNATゲートウェイを設定できます(ただし、制限範囲内で引上げをリクエストする必要があります)。たとえば、外部アプリケーションがVCNの各サブネットのトラフィックを区別できるようにする場合は、サブネットごとに異なるNATゲートウェイ(つまり、異なるパブリックIPアドレス)を設定できます。ある特定のサブネットでは、トラフィックを1つのNATゲートウェイにのみルーティングできます。
NATゲートウェイを介するトラフィックのブロック
特定のVCNのコンテキストでNATゲートウェイを作成します。つまり、そのNATゲートウェイは常に、選択した1つのVCNのみに自動的にアタッチされます。ただし、そのNATゲートウェイを介するトラフィックは、いつでもブロックまたは許可できます。デフォルトでは、ゲートウェイの作成時にトラフィックが許可されます。NATゲートウェイをブロックすると、VCN内に存在するルート・ルールやセキュリティ・ルールにかかわらず、すべてのトラフィック・フローが禁止されます。トラフィックをブロックする手順については、NAT Gatewayのトラフィックのブロックまたは許可を参照してください。
NATゲートウェイへの切替え
VCN内のNATインスタンスの使用からNATゲートウェイの使用に切り替える場合は、NATデバイスのパブリックIPアドレスが変わることを考慮してください。
インターネット・ゲートウェイの使用からNATゲートウェイの使用に切り替える場合、NATゲートウェイへのアクセス権を持つインスタンスは、インターネットに到達するためにパブリックIPアドレスを必要としなくなります。また、インスタンスがパブリック・サブネットに存在する必要もなくなります。サブネットをパブリックからプライベートに切り替えることはできません。ただし、必要に応じて、インスタンスからエフェメラル・パブリックIPを削除することはできます。
NATゲートウェイの削除
NATゲートウェイを削除する場合、そのトラフィックをブロックする必要はありませんが、そのゲートウェイがターゲットとしてリストされたルート表が存在していない必要があります。手順については、NAT Gatewayの削除を参照してください。
必要なIAMポリシー
Oracle Cloud Infrastructureを使用するには、管理者からポリシーでセキュリティ・アクセス権が付与されている必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限がない、または認可されていないというメッセージが表示された場合は、自分がどのタイプのアクセス権を持っているか、およびどのコンパートメントで作業するかを管理者に確認してください。
管理者用: ネットワーキングに対するIAMポリシーを参照してください。
NATゲートウェイの設定
NAT Gatewayの作成の手順を参照してください。
NATゲートウェイを作成する場合、サブネットから目的のトラフィックをNATゲートウェイに送信するルート・ルールも作成する必要があります。ゲートウェイにアクセスする必要があるサブネットごとに、これを行います。
- VCN内のどのサブネットがNATゲートウェイにアクセスする必要があるかを決定します。
-
これらのサブネットごとに、サブネットのルート表を更新し、次の設定を使用して新しいルールを含めます:
- ターゲット・タイプ: NATゲートウェイ。
- 宛先CIDRブロック: 0.0.0.0/0
- コンパートメント: NATゲートウェイが配置されているコンパートメント。
- ターゲットNATゲートウェイ: NATゲートウェイ。
- 説明: ルールのオプションの説明。
ルールに一致する宛先のサブネット・トラフィックは、NATゲートウェイにルーティングされます。ルート・ルールの設定の詳細は、VCNルート表を参照してください。
その後、NATゲートウェイが不要になってNATゲートウェイを削除する場合は、そのNATゲートウェイをターゲットとして指定しているVCN内のすべてのルート・ルールを最初に削除する必要があります。
必要なルーティングがない場合、トラフィックはNATゲートウェイを通過しません。ゲートウェイを介するトラフィック・フローを一時的に停止する必要がある状況が発生した場合は、トラフィックを有効にするルート・ルールを削除するだけです。あるいは、ゲートウェイを介するトラフィックを完全にブロックすることもできます。削除する必要はありません。