Azure NAT Gateway とは
Azure VM で現在発生している接続の問題の解決を任されたリード システム エンジニアと Azure 管理者が最初に行う必要があるのは、Azure NAT Gateway の技術的背景と機能を理解することです。
Azure NAT Gateway は、Azure で実行されるフル マネージドのクラウド サービスです。 回復性が高く、スケーラブルで、構成が簡単です。 Azure の既存の仮想ネットワークで Azure NAT Gateway を使用すると、個々の VM または他の Azure リソースは、インターネットからのインバウンド接続を受け入れるサービスをホストしていない限り、完全にプライベートな状態を維持できます。 仮想ネットワークから開始されるすべてのアウトバウンド接続では、NAT ゲートウェイの静的パブリック IP アドレスが使われます。
NAT の概要
NAT は新しいテクノロジではありません。 ローカル IP アドレスをパブリック アドレスにマッピングするために何十年も使用されています。 NAT の主な目的の 1 つは、パブリック IPv4 アドレスを節約することであり、インターネット サービス プロバイダー (ISP) に特に役立ちます。 これらの企業では、NAT を使用して、多数のプライベート IPv4 アドレスのスコープを 1 つのパブリック IP アドレスまたは少数のパブリック IP アドレスにマップできます。
また、NAT は家庭やローカル ネットワークでも使われます。 インターネットに接続するホーム ルーターがある場合は、おそらく NAT が実装されています。 そのため、すべてのデバイスが、1 つのパブリック IP アドレスだけを使用してインターネットにルーティングされます。 また、NAT によって内部のアドレス空間が隠蔽され、すべてのアウトバウンド トラフィックは 1 つのパブリック IP アドレスから送信されているように見えます。 その IP アドレスは、ルーターまたはゲートウェイ デバイスに割り当てられています。
NAT を使用するときは、伝送制御プロトコル (TCP) のポートとその目的を理解することが重要です。 ポート アドレス変換により、プライベート ネットワーク内の各ホストは、1 つのパブリック IP アドレスを使用してインターネット上で通信できるようになり、各通信パスは固有の TCP ポートを介して確立されます。 このプロセスは次のとおりです。
プライベート ネットワーク上のデバイスが、インターネット上のリソースへの接続を確立します。 NAT によって、パケット ヘッダーの内部デバイス IP アドレスが、NAT デバイスの外部 IP アドレスに置き換えられます。
その後、ポート アドレス変換によって、使用可能なポートのプールからポート番号が接続に割り当てられます。
そのポート番号がパケット ヘッダーのソース ポート フィールドに挿入されてから、パケットはインターネットに転送されます。
そして、NAT デバイスにより、ネットワーク変換テーブルにエントリが記録されます。
- 確立された接続ごとに作成されるこのエントリには、内部 IP アドレス、元のソース ポート、変換されたソース ポートが含まれます。
- 同じ内部ソース IP アドレスとポート番号からの後続のパケットは、常に同じ外部 IP アドレスとポート番号に変換されます。
NAT によって処理されたパケットを受信したコンピューターは、変更されたパケットで指定されているポートと IP アドレスに対して接続を確立します。指定されたアドレスが変換されているという事実には気付きません。
次の図は、NAT のプロセスを示したものです。
Note
NAT は、主にインターネットへのアウトバウンド接続を確立するために使用されます。 ただし、インターネットからのインバウンド接続を直接管理することはできません。 その目的には、別のテクノロジを使う必要があります。
Azure の NAT サービス
Azure で仮想ネットワークを作成するときは、それにプライベート アドレス空間を割り当ててから、そのネットワークに 1 つ以上のサブネットを作成します。 Azure で VM を作成してその仮想ネットワークに配置すると、そのネットワークからローカル IP アドレスを取得します。 その VM でのアウトバウンド インターネット接続を受け入れる場合は、パブリック IP アドレス オブジェクトをその VM に割り当てることもできます。
Note
パブリック IP アドレスが割り当てられていない Azure VM でも、Azure ネットワーク アドレス変換またはポート アドレス変換を使用してインターネットにアクセスできます。 ただし、その場合、アウトバウンド接続に使用されるパブリック IP アドレスを制御することはできません。 また、インバウンド接続を有効にしたり、リモート デスクトップ プロトコル (RDP) を使って外部からこれらの VM に接続したりすることはできません。代わりに、Azure Bastion ホストを使用する必要があります。
Azure VM やその他のリソースのアウトバウンド接続を、セキュリティで保護された制御可能でスケーラブルなものにするには、Azure NAT Gateway サービスのインスタンスを作成できます。 その後、Azure の同じ仮想ネットワーク内の 1 つ以上のサブネットにそのインスタンスを割り当てます。
その場合、Azure NAT Gateway は、次の図に示すように、プライベート IP アドレスをパブリック IP アドレスに安全に変換するのに役立ちます。