Cloud NAT の概要
Cloud NAT(ネットワーク アドレス変換)を使用すると、Google Cloud の特定のリソースがインターネットへの、または他の Virtual Private Cloud(VPC)ネットワーク、オンプレミス ネットワーク、または他のクラウド プロバイダ ネットワークへのアウトバウンド接続が可能になります。Cloud NAT は、確立された受信レスポンス パケットのアドレス変換のみをサポートします。未承諾のインバウンド接続は許可されません。
Cloud NAT を使用すると、次のリソースからの発信接続が可能になります。
- Compute Engine 仮想マシン(VM)インスタンス
- 限定公開の Google Kubernetes Engine(GKE)クラスタ
- サーバーレス VPC アクセスまたはダイレクト VPC 下り(外向き)を使用する Cloud Run インスタンス
- サーバーレス VPC アクセスを使用する Cloud Functions インスタンス
- サーバーレス VPC アクセスを使用する App Engine スタンダード環境インスタンス
Cloud NAT の種類
Google Cloud では、Cloud NAT を使用して、限定公開サブネット内のインスタンスが VPC ネットワーク外のリソースに接続できる NAT ゲートウェイを作成します。
NAT ゲートウェイを使用すると、次のタイプの NAT を有効にできます。
- Public NAT
- プライベート NAT
Public NAT ゲートウェイと Private NAT ゲートウェイの両方から、VPC ネットワーク内の同じサブネットに NAT サービスを提供できます。
Public NAT
Public NAT を使用すると、パブリック IP アドレスを持たない Google Cloud リソースがインターネットと通信できます。こうした VM は、一連の共有パブリック IP アドレスを使用してインターネットに接続します。 Public NATはプロキシ VM に依存しません。代わりに、Public NATゲートウェイは、ゲートウェイを使用してインターネットへのアウトバウンド接続を行う各 VM に、外部 IP アドレスと送信元ポートのセットを割り当てます。
subnet-1
に VM-1
があり、そのネットワーク インターフェースに外部 IP アドレスがないシナリオについて考えてみます。ただし、VM-1
は重要な更新をダウンロードするためにインターネットに接続する必要があります。インターネットへの接続を有効にするには、subnet-1
の IP アドレス範囲に適用するように構成されたPublic NATゲートウェイを作成できます。これで、VM-1
は subnet-1
の内部 IP アドレスを使用してインターネットにトラフィックを送信できるようになりました。
Public NAT の詳細については、 Public NAT をご覧ください。
プライベート NAT
Private NAT を使用すると、次のトラフィックに Private-to-Private NAT が有効になります。
トラフィック | 説明 |
---|---|
VPC ネットワークから別の VPC ネットワークへの移行 | Private NAT は、VPC スポークとして Network Connectivity Center ハブに接続された VPC ネットワークに対して、Private-to-Private NAT をサポートしています。詳細については、Network Connectivity Center スポークの Private NAT をご覧ください。 |
VPC ネットワークから Google Cloud 外のネットワークへの接続 | Private NAT では、VPC ネットワークとオンプレミスまたは他のクラウド プロバイダ ネットワーク間のトラフィックに対して次のオプションをサポートしています。
|
お使いの VPC ネットワーク内のリソースが、別のビジネス エンティティが所有する VPC ネットワーク内、あるいはオンプレミスまたは他のクラウド プロバイダ ネットワーク内のリソースと通信する必要があるとします。ただし、このネットワークには、お使いの VPC ネットワークと IP アドレスが重複するサブネットが含まれています。このシナリオでは、お使いの VPC ネットワークにあるサブネット間のトラフィックを、他のネットワークの重複しないサブネットに変換する Private NAT ゲートウェイを作成します。
Private NAT の詳細については、Private NAT をご覧ください。
アーキテクチャ
Cloud NAT はソフトウェア定義の分散マネージド サービスです。プロキシ VM やアプライアンスをベースにしていません。Cloud NAT は、Virtual Private Cloud(VPC)ネットワークを強化する Andromeda ソフトウェアを構成します。これにより、リソースに対して送信元ネットワーク アドレス変換(送信元 NAT または SNAT)を提供します。また、Cloud NAT は、確立された受信レスポンス パケットに対してのみ宛先ネットワーク アドレス変換(宛先 NAT または DNAT)を提供します。
利点
Cloud NAT には次の利点があります。
セキュリティ
Public NAT ゲートウェイを使用すると、個々の VM に外部 IP アドレスを割り当てる必要がなくなります。下り(外向き)ファイアウォール ルールに従い、外部 IP アドレスを持たない VM はインターネット上の宛先にアクセスできます。たとえば、更新のダウンロードやプロビジョニングの完了のためだけに、VM にインターネット アクセスが必要になる場合があります。
NAT IP アドレスの手動割り当てで Public NAT ゲートウェイを構成すると、共通の外部送信元 IP アドレスのセットを宛先の組織と安全に共有できます。たとえば、宛先のサービスが既知の外部 IP アドレスからの接続のみを許可できます。
Private NAT ゲートウェイは、Network Connectivity Center に接続された VPC スポークのリソースが、重複するサブネットワーク内の VM と直接接続を行うことを許可しません。Private NAT 構成の VM が別のネットワークにある VM との接続を開始しようとすると、Private NAT ゲートウェイは、Private NAT 範囲の IP アドレスを使用して SNAT を実行します。また、ゲートウェイは、アウトバウンド パケットへのレスポンスに対して DNAT を実行します。
可用性
Cloud NAT はソフトウェア定義の分散マネージド サービスです。プロジェクト内の VM や単一の物理ゲートウェイ デバイスには依存しません。Cloud Router に NAT ゲートウェイを構成します。これにより、指定した構成パラメータを保持する、NAT のコントロール プレーンが提供されます。Google Cloud は、Google Cloud VM を実行する物理マシンでプロセスを実行して維持します。
スケーラビリティ
Cloud NAT は、使用する NAT IP アドレスの数を自動的にスケールするように構成できます。Cloud NAT は、自動スケーリングが有効になっている VM など、マネージド インスタンス グループに属する VM をサポートします。
パフォーマンス
Cloud NAT は VM ごとのネットワーク帯域幅を縮小しません。Cloud NAT は、Google の Andromeda ソフトウェア定義ネットワーキングによって実装されています。詳細については、Compute Engine のドキュメントのネットワーク帯域幅をご覧ください。
ロギング
Cloud NAT トラフィックに対しては、コンプライアンス、デバッグ、分析、アカウンティングを行うために接続と帯域幅をトレースできます。
モニタリング
Cloud NAT は、NAT ゲートウェイの使用状況を把握できるようにする重要な指標を Cloud Monitoring に送信します。指標は自動的に Cloud Monitoring に送信されます。カスタム ダッシュボードを作成して、アラートをセットアップし、指標をクエリできます。
プロダクトの相互作用
Cloud NAT と他の Google Cloud プロダクト間の重要な相互作用の詳細については、Cloud NAT プロダクトの相互作用をご覧ください。
次のステップ
- Cloud NAT プロダクトの相互作用について学ぶ。
- Cloud NAT アドレスとポートについて学習する。
- Public NAT ゲートウェイを設定する。
- Cloud NAT ルールについて学習する。
- Private NAT ゲートウェイを設定する。
- 一般的な問題のトラブルシューティングを行う。
- Cloud NAT の料金を確認する。