catch-img

AWSとココが違う!Google Cloudでの宛先NATとNW制御

このエンジニアブログでは、Google Cloud上で社外接続基盤を構築する際に必要となる宛先NATNW制御について、AWSとの違いを含めて検証内容を整理します。
今回の検証は、今後の案件での実運用に向け、事前にナレッジを蓄積することを目的として、社内の若手メンバー(当時1年目)が20248月~10月にかけて実施しました。

はじめに

今回はサービス立ち上げのシミュレーションを兼ね、「GCPNEX」と称した仮サービスを構築し、検証をおこないました。GCPNEXは、Google Cloud社外接続基盤として、他社Google Cloud環境やSaaS環境を収容するための、Google Cloud上に構築するネットワーク基盤を指します。

本記事はスライドの記載内容をもとに、検証の要点を簡潔にまとめています。詳細な検証内容や技術的な説明は埋め込みのスライド本文をご参照ください。

検証の目的

今後Google Cloudの活用を進めていくうえで、他社Google Cloud環境や他対外接続先とのネットワーク接続を容易におこなうためのネットワーク接続サービスが必要となることが予見されます。
エヌアイデイでは、AWSにおいてはすでに対外接続ネットワークハブとしての構成パターンを確立できていることから、同様の要件をGoogle Cloud環境でも実現するための検証をおこないました。

本検証におけるおもな技術要素

NCC(Network Connectivity Center)

オンプレミス、Google Cloud、その他クラウドネットワークとの接続をスポークという単位で一元管理できます。AWSTransit Gatewayに類似したGoogle Cloudのサービスです。

  • AWS Transit Gatewayとの類似点:
    複数のネットワークを接続し、一元管理することができる。VPCの他にハイブリットクラウド実現のためのVPN接続や専用線接続もリソースとして登録が可能。

  • AWS Transit Gatewayとの相違点:
    ルートテーブルはすべてのリソースで共有されるため、一部のリソース間のみの通信を許可するなどのルート制御はおこなえない。

PSC(Private Service Connect)

サービス利用者がVPCネットワーク内からマネージドサービスにプライベート接続でアクセスできるようにします。AWSPrivateLinkに類似したGoogle Cloudのサービスです。

  • PrivateLinkとの類似点:
    宛先NATの実現が可能。サービスの公開が必要となる。

  • PrivateLinkとの相違点:
    PSC
    はサービスアタッチメントの作成が必要であり、一つのサービスにつき一つのサービスアタッチメントを作成し、専用サブネットも必要となる。

Cloud Load Balancing(CLB)

Google Cloudにおけるロードバランサのサービスです。Google CloudAWSよりもロードバランサの種類が多く、AWSNetwork Load BalancerNLB)と比較した場合、おもにバックエンド・ターゲットグループの指定方法が異なっています。

検証内容

現在、AWS対外接続ネットワークハブには複数の接続パターンが存在しますが、今回は最も基本となる二つの接続パターンについて、Google Cloud環境で検証をおこないました。

接続パターン①

他社サービスのAWS環境を収容する際に、自社で払い出したネットワークアドレスが利用可能な場合に利用する接続パターンです。
AWS
においては、NWハブの役割を担うTransit Gatewayと同一リージョンにあるすべてのAWSアカウントを自社/他社を問わずに収容することが可能です。

AWSでの構成イメージ

接続方式①のAWS構成のイメージ図

今回はGoogle Cloud において、NWハブの役割を担うNCCを利用し、NCCに直接他アカウントのVPCの収容を試みました。

Google Cloudでの構成図

接続方式①の構成図

接続パターン②

他社サービスのAWS環境を収容する際に、自社が払い出したネットワークアドレスを他社環境で利用できない場合(1)に選択する接続パターンです。
AWS
においては、VPC ピアリングによる接続のため接続先リージョンの制約がなく、自社/他社を問わずすべてのAWSアカウントの収容が可能です。

(1)自社が払い出したネットワークアドレス(プライベートIPアドレス)をすでに他社環境で利用している場合など

AWSでの構成イメージ

接続方式②のAWS構成イメージ図

Google Cloudでの構成図

接続方式②の構成図イメージ

検証結果

接続パターン①(NCCで直接収容)の検証結果

結果として、NCCを利用してオンプレミスを想定した環境から接続先に接続することは可能でした。ただし、VPC以外のリソースをNCCに接続する場合はフルメッシュ接続の構成以外に対応していないため、柔軟なルート制御をおこないたい場合はRouterアプライアンスを構築する必要がありました。

また、以下の懸念点があげられました。

  • NCCのルートテーブルはユーザー側でカスタマイズできないため、通信制御はVPCFWでおこなう必要があり、自社側で一元管理できない

  • 柔軟なルート制御にはRouterアプライアンスが必要となり、維持・管理コストが高くなる

接続パターン②(PSCで宛先NAT)の検証結果

結果として、接続先にCLBを作成するよう依頼することで宛先NATの実現自体は可能でしたが、宛先がGoogle Cloud環境のVM※1)に限定されるため、オンプレミスや他社クラウド環境への通信はマネージドサービスのみでは実現できませんでした。

また、以下の懸念点があげられました。

  • CLBのバックエンドの仕様により、相手側にCLBを作成してもらう必要があり、こちら側でCLBを管理することができない

  • CLBのバックエンドにはGoogle Cloudのインスタンスグループのみ指定可能であるため、接続先から自社への通信は自社Google Cloud環境内のバックエンドVMのデータのみ確認でき、自社の他システムへの通信はマネージドサービスのみでは実現不可(バックエンドVMに転送ルールやプロキシ設定を別途おこなう場合は、理論上は通信可能)。

※1)仮想マシンの略。本システムの収容先はGoogle Cloud環境のVPCなどもあり、VMに限定される利用用途は要件を完全に満たすことができない(柔軟性に欠ける)ため、実現不可と判断しました。

まとめ

今回のサービス検証・シミュレーションにより、Google Cloud環境でネットワーク基盤を構築する際のノウハウを蓄積できました。
Google Cloud
はシンプルな構成であれば簡単に構築できますが、現在AWS対外接続ネットワークハブでおこなっているような複雑な設定に関しては実現が難しい状況でした。一方で、NCC2021年にリリースされたサービスであり、今後のアップデートによっては複雑な設定にも対応できるようになる可能性は十分にあると考えられます。

今後の検証項目として、VMIP Forwardの設定やプロキシの設定を入れることにより、CLBを相手側に作成させず宛先NATを実現する方式などを検討しています。


※本資料に登場する会社名・製品・サービス名、ロゴマークなどは該当する各社の商号・商標または登録商標です。

N.Y.
N.Y.
2024年新卒入社。2024年度CCNA取得、2025年10月にはAWS SAAを取得。現在はインフラネットワークエンジニアとして主にネットワーク分野の業務を遂行しつつ、さらなる基礎知識の定着を目指し、基本情報技術者試験の合格に向けて学習中。

関連記事

おすすめの資料

「『解決力』で選ぶべきアウトソーシングとは」のサムネイル

「【入門編】失敗しないシステム運用監視を実現!」のサムネイル

サイト内検索


カテゴリ一覧

タグ一覧


人気記事ランキング


サービス

運用監視サービスサイトへのバナーリンク
脆弱性診断サービスサイトへのバナーリンク
創業50年以上の実績でIT課題を一気通貫でサポートします