コンテンツに移動
デベロッパー

Cloud NAT の解説

2021年10月18日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Nat_Cover.max-2600x2600.png
Google Cloud Japan Team

※この投稿は米国時間 2021 年 10 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。

セキュリティを保護するベスト プラクティスとして、ネットワークのパブリック IP アドレスの数は限定することをおすすめします。Google Cloud では、Cloud NAT(ネットワーク アドレス変換)によって、外部 IP アドレスを持たない特定のリソースからインターネットへの送信接続が可能になります。

Cloud NAT を使用すると、次のリソースからの発信接続が可能になります。

Cloud NAT と通常の NAT プロキシの違い

Cloud NAT はソフトウェア定義の分散マネージド サービスです。プロキシ VM やアプライアンスをベースにしていません。このプロキシレスのアーキテクチャは、スケーラビリティがより高く(単一のチョーク ポイントなし)、レイテンシがより低いことを意味します。Cloud NAT は、Virtual Private Cloud(VPC)ネットワークを強化する Andromeda ソフトウェアを構成します。これにより、外部 IP アドレスを持たない VM に送信元ネットワーク アドレス変換(送信先 NAT または SNAT)を提供します。また、Cloud NAT は、確立された受信レスポンス パケットに対してのみ宛先ネットワーク アドレス変換(宛先 NAT または DNAT)を提供します。

Cloud NAT を使用するメリット

  • セキュリティ: 個々の VM に外部 IP アドレスを割り振る必要がなくなります。下り(外向き)ファイアウォール ルールに従い、外部 IP アドレスを持たない VM はインターネット上の宛先にアクセスできます。

  • 可用性: Cloud NAT はソフトウェア定義の分散マネージド サービスで、プロジェクト内の VM や単一の物理ゲートウェイ デバイスには依存しません。Cloud Router に NAT ゲートウェイを構成することにより、指定した構成パラメータを保持する、NAT のコントロール プレーンが提供されます。

  • スケーラビリティ: Cloud NAT は、使用する NAT IP アドレスの数を自動的にスケールするように構成できます。Cloud NAT は、自動スケーリングが有効になっている VM など、マネージド インスタンス グループに属する VM をサポートします。

  • パフォーマンス: Cloud NAT は Google の Andromeda ソフトウェア定義ネットワーキングにより実装されるため、VM ごとのネットワーク帯域幅を縮小しません。

NAT ルール

Cloud NAT の NAT ルール機能により、Cloud NAT を使用してインターネットに接続する方法を定義するアクセスルールを作成できます。NAT ルールは、宛先アドレスに基づいて送信元 NAT をサポートします。NAT ルールを使用せずに NAT ゲートウェイを構成すると、その NAT ゲートウェイを使用する VM は、同じ NAT IP アドレスセットを使用してすべてのインターネット アドレスに到達します。Cloud NAT を通過するパケットをより細かく制御する必要がある場合は、NAT ルールを追加できます。NAT ルールは、一致条件と対応するアクションを定義します。NAT ルールを指定すると、各パケットが NAT ルールと照合されます。パケットがルールに設定された条件と一致する場合、その一致に対応するアクションが行われます。

Cloud NAT の基本的な構成例

スケッチノートの画像の例では、東地域の NAT ゲートウェイは、インターネットにアクセスするために、subnet-1 内の外部 IP を持たない VM をサポートするように構成されています。これらの VM は、ゲートウェイのプライマリ内部 IP アドレスを使用するか、subnet-1、10.240.0.0/16 のプライマリ IP アドレス範囲からエイリアス IP 範囲を使用して、インターネットにトラフィックを送信できます。外部 IP アドレスを持たないネットワーク インターフェースの VM、およびプライマリ内部 IP アドレスが subnet-2 にある VM は、インターネットにアクセスできません。

同様に、NAT ゲートウェイ Europe は西地域の subnet-3 のプライマリ IP アドレス範囲に適用されるように構成されており、外部 IP アドレスを持たないネットワーク インターフェースの VM が、それ自身のプライマリ内部 IP、または subnet-3、192.168.1.0/24 のプライマリ IP アドレス範囲からのエイリアス IP を使用して、インターネットにトラフィックを送信できるようにしています。

すべてのコンテナと GKE ノードに対して NAT を有効にするには、NAT 候補としてサブネットのすべての IP アドレス範囲を選択する必要があります。1 つのサブネット内の特定のコンテナに対して NAT を有効にすることはできません。

Cloud NAT の詳細については、ドキュメントをご覧ください。

#GCPSketchnote をさらにご覧になるには、GitHub リポジトリをフォローしてください。同様のクラウド コンテンツについては、Twitter で @pvergadia をフォローしてください。thecloudgirl.dev もぜひご覧ください。

Google デベロッパー アドボケイト Priyanka Vergadia

-プロダクト マネージャー Tracy Jiang

投稿先