上り(内向き)ゲート型

Last reviewed 2023-12-14 UTC

上り(内向き)ゲート型パターンのアーキテクチャは、Google Cloud で実行されているワークロードの一部の API を、公共のインターネットに公開することなく、プライベート コンピューティング環境に公開することをベースにしています。このパターンは、下り(外向き)ゲート型パターンに対応するものであり、エッジ ハイブリッド階層型ハイブリッドパーティション分割されたマルチクラウドのシナリオに適しています。

下り(外向き)ゲート型パターンと同様に、この制限された公開は、既存のワークロードまたはサービスのファサードとして機能する API ゲートウェイまたはロードバランサを介して容易に実現できます。これにより、次のように、プライベート コンピューティング環境、オンプレミス環境、または他のクラウド環境で利用できます。

  • プライベート コンピューティング環境または他のクラウド環境にデプロイするワークロードは、内部 IP アドレスを使用して API ゲートウェイまたはロードバランサと通信できます。Google Cloud にデプロイされた他のシステムにはアクセスできません。
  • Google Cloud からプライベート コンピューティング環境または他のクラウド環境への通信は許可されません。トラフィックは、プライベート環境または他のクラウド環境から Google Cloud の API に対してのみ開始されます。

アーキテクチャ

次の図は、上り(内向き)ゲート型パターンの要件を満たすリファレンス アーキテクチャを示しています。

オンプレミス環境またはクラウドから Cloud VPN または Cloud Interconnect を介して Google Cloud 環境に単一方向に流れるデータが、ワークロードに到達します。

上に示した図のアーキテクチャの説明は次のとおりです。

  • Google Cloud 側では、ワークロードをアプリケーション VPC(または複数の VPC)にデプロイします。
  • Google Cloud 環境ネットワークは、ハイブリッド クラウドまたはマルチクラウドのネットワーク接続を使用して他のコンピューティング環境(オンプレミスまたは別のクラウド)に拡張し、環境間の通信を容易にします。
  • 必要に応じて、トランジット VPC を使用して次のことができます。
    • 境界セキュリティ レイヤを追加して、アプリケーション VPC の外部にある特定の API へのアクセスを可能にします。
    • API の IP アドレスにトラフィックを転送します。VPC ファイアウォール ルールを作成して、一部のソースがエンドポイント経由で特定の API にアクセスできないようにすることが可能です。
    • ネットワーク仮想アプライアンス(NVA)を統合して、トランジット VPC でレイヤ 7 トラフィックを検査します。
  • API ゲートウェイまたはロードバランサ(プロキシまたはアプリケーション ロードバランサ)を介して API にアクセスし、プロキシレイヤとサービス API の抽象化レイヤまたはファサードを提供します。複数の API ゲートウェイ インスタンスにトラフィックを分散する必要がある場合は、内部パススルー ネットワーク ロードバランサを使用します。
  • Private Service Connect を介してロードバランサを使用してアプリケーションまたはサービスを公開し、Private Service Connect エンドポイントを介して公開されたサービスへの限定的で詳細なアクセス権を付与します。
  • すべての環境で、重複のない RFC 1918 IP アドレス空間を使用する必要があります。

次の図は、Apigee を API プラットフォームとして使用したこのパターンの設計を示しています。

データは Google Cloud 環境に流れ込み、オンプレミス環境またはクラウド環境から Cloud VPN または Cloud Interconnect を介して Apigee インスタンスのプロジェクトに配信されます。

上の図では、Apigee を API プラットフォームとして使用することで、上り(内向き)ゲート型パターンを有効にする次の機能が提供されます。

  • ゲートウェイまたはプロキシの機能
  • セキュリティ機能
  • レート制限
  • アナリティクス

設計では、次のようにします。

  • 上り(他の環境からのトラフィック)のネットワーキング接続は、Apigee VPC に関連付けられたアプリケーション VPC の Private Service Connect エンドポイントを経由します。
  • アプリケーション VPC では、内部ロードバランサを使用して、Apigee VPC に表示される Private Service Connect エンドポイントを介してアプリケーション API を公開します。詳細については、VPC ピアリングが無効になっているアーキテクチャをご覧ください。
  • アプリケーション VPC でファイアウォール ルールとトラフィック フィルタリングを構成します。これにより、詳細なアクセス制御が可能になります。また、Private Service Connect エンドポイントと API ゲートウェイを経由せずにシステムがアプリケーションに直接アクセスするのを防止することもできます。

    さらに、アプリケーション VPC 内のバックエンド ワークロードの内部 IP アドレス サブネットの広告をオンプレミス ネットワークに制限して、Private Service Connect エンドポイントと API ゲートウェイを通過せずに直接アクセスできる状態を回避できます。

特定のセキュリティ要件では、アプリケーション VPC の外部で境界セキュリティ検査(ハイブリッド接続トラフィックなど)が必要になる場合があります。このような場合は、トランジット VPC を組み込んで、追加のセキュリティ レイヤを実装できます。複数のネットワーク インターフェースを備えた次世代ファイアウォール(NGFW)NVA、侵入防止サービス(IPS)を備えた Cloud Next Generation Firewall Enterprise などのこれらのレイヤは、次の図に示すように、アプリケーション VPC の外部で詳細なパケット検査を実施します。

データは Google Cloud 環境に流れ込み、Cloud VPN または Cloud Interconnect を介してオンプレミス環境またはクラウド環境からアプリケーションに配信されます。

上の図に示すように、

  • ノースバウンド ネットワーク接続(他の環境からのトラフィック用)は、別のトランジット VPC を経由して、Apigee VPC に関連付けられているトランジット VPC 内の Private Service Connect エンドポイントに送信されます。
  • アプリケーション VPC では、内部ロードバランサ(図の ILB)を使用して、Apigee VPC の Private Service Connect エンドポイントを介してアプリケーションを公開します。

次の図に示すように、同じ VPC ネットワーク内に複数のエンドポイントをプロビジョニングできます。さまざまなユースケースに対応するために、Cloud Router と VPC ファイアウォール ルールを使用して、さまざまなネットワーク パスを制御できます。たとえば、複数のハイブリッド ネットワーク接続を使用してオンプレミス ネットワークを Google Cloud に接続する場合は、オンプレミスから特定の Google API または公開サービスに送信するトラフィックの一部を 1 つの接続経由で送信し、残りのトラフィックを別の接続経由で送信できます。また、Private Service Connect のグローバル アクセスを使用して、フェイルオーバー オプションを提供することもできます。

データは Google Cloud 環境に流れ込み、複数の Private Service Connect エンドポイントを介して、オンプレミス環境またはクラウド環境から Cloud VPN または Cloud Interconnect を介して複数のプロデューサー VPC に配信されます。

バリエーション

上り(内向き)ゲート型アーキテクチャ パターンによって、他のアプローチと組み合わせて、パターンの通信要件を考慮しながら、さまざまな設計要件を満たすことができます。このパターンには次のオプションがあります。

他の環境から Google API にアクセスする

公共のインターネット経由でトラフィックを送信せずに、Cloud Storage や BigQuery などの Google サービスにアクセスする必要があるシナリオでは、Private Service Connect がソリューションを実現します。次の図に示すように、Private Service Connect エンドポイントの IP アドレスを使用してハイブリッド ネットワーク接続を行うことで、オンプレミスまたは他のクラウド環境からサポートされている Google API やサービス(Google マップ、Google 広告、Google Cloud など)へのネットワーク到達性が実現されます。Private Service Connect エンドポイントを介した Google API へのアクセスについて詳しくは、エンドポイントを介した Google API へのアクセスについてをご覧ください。

データは、オンプレミス環境から Google サービス、Google Cloud 環境に流れます。

上の図では、オンプレミス ネットワークは、Cloud VPN トンネルまたは Cloud Interconnect VLAN アタッチメントを使用して、トランジット(コンシューマー)VPC ネットワークに接続されている必要があります。

Google API には、エンドポイントまたはバックエンドを使用してアクセスできます。エンドポイントで Google API のバンドルをターゲットにできます。バックエンドで、特定のリージョン Google API をターゲットにできます。

Private Service Connect を使用してアプリケーション バックエンドを他の環境に公開する

階層型ハイブリッド パターンで示されているように、特定のシナリオでは、プライベート コンピューティング環境でフロントエンドを維持しながら、Google Cloud にバックエンドをデプロイすることが必要な場合があります。あまり一般的ではありませんが、このアプローチは、従来のコンポーネントに依存する可能性のある大規模なモノリシック フロントエンドを扱う場合に適用できます。または、より一般的には、オンプレミスや他のクラウドなど、複数の環境にわたって分散アプリケーションを管理する場合は、ハイブリッド ネットワーク経由で Google Cloud でホストされているバックエンドへの接続が必要になります。

このようなアーキテクチャでは、プライベート オンプレミス環境または他のクラウド環境でローカル API ゲートウェイまたはロードバランサを使用して、アプリケーション フロントエンドを公共のインターネットに直接公開できます。Google Cloud で Private Service Connect を使用すると、Private Service Connect エンドポイントを介して公開されるバックエンドへのプライベート接続が容易になります。その際に理想的には、次の図に示すように、事前定義された API を使用します。

データは、オンプレミス環境または別のクラウド環境から Google Cloud 環境に配信されます。データは、Google Cloud 以外の環境の Apigee インスタンスとフロントエンド サービスを経由して配信され、最終的にお客様のプロジェクト アプリケーションの VPC に到達します。

上の図の設計では、Google Cloud の管理プレーンと他の環境でホストされているランタイム プレーンで構成される Apigee ハイブリッド デプロイメントを使用しています。ランタイム プレーンは、オンプレミス環境または他のクラウド環境でサポートされている Kubernetes プラットフォームのいずれかにデプロイされた API ゲートウェイにインストールして管理できます。Google Cloud と他の環境にわたる分散ワークロードの要件に応じて、Apigee Hybrid で Apigee on Google Cloud を使用できます。詳細については、分散 API ゲートウェイをご覧ください。

ハブアンドスポーク アーキテクチャを使用して、アプリケーション バックエンドを他の環境に公開する

特定のシナリオでは、Google Cloud でホストされているアプリケーション バックエンドから異なる VPC ネットワークに API を公開することが必要になる場合があります。次の図に示すように、ハブ VPC はさまざまな VPC(スポーク)の相互接続の一元的なポイントとして機能し、プライベート ハイブリッド接続を介した安全な通信を可能にします。必要に応じて、Apigee Hybrid などの他の環境のローカル API ゲートウェイ機能を使用して、アプリケーション フロントエンドがホストされている場所でクライアント リクエストをローカルで終了できます。

Google Cloud 環境とオンプレミス環境または他のクラウド環境間でデータが流れ、Google Cloud でホストされているアプリケーション バックエンドから API が公開されて、さまざまな VPC ネットワークを通過します。

上の図に示すように、

  • NGFW レイヤ 7 検査機能を追加するには、NGFW 機能を備えた NVA を必要に応じて設計に統合します。組織の特定のセキュリティ要件とセキュリティ ポリシー標準を遵守するには、これらの機能が必要になる場合があります。
  • この設計では、スポーク VPC に VPC 間の直接通信は必要ないと想定しています。

    • スポーク間の通信が必要な場合は、NVA を使用してそのような通信を促進できます。
    • 異なる VPC に異なるバックエンドがある場合は、Private Service Connect を使用してこれらのバックエンドを Apigee VPC に公開できます。
    • スポーク VPC とハブ VPC 間のノースバウンド接続とサウスバウンド接続に VPC ピアリングを使用する場合は、VPC ピアリングを介した VPC ネットワーキングの推移性制限を考慮する必要があります。この制限を回避するには、次のいずれかのオプションを使用します。
      • VPC を相互接続するには、NVA を使用します。
      • 該当する場合は、Private Service Connect モデルを検討してください。
      • 追加のネットワーキング コンポーネントを使用せずに、Apigee VPC と同じ組織内の他の Google Cloud プロジェクトにあるバックエンドの間で接続を確立するには、共有 VPC を使用します。
  • トラフィック検査(他の環境からのトラフィックを含む)に NVA が必要な場合は、オンプレミス環境または他のクラウド環境へのハイブリッド接続をハイブリッド トランジット VPC で終端する必要があります。

  • 設計に NVA が含まれていない場合は、ハブ VPC でハイブリッド接続を終端できます。

  • Google Cloud Armor DDoS 保護や WAF の追加など、特定のロード バランシング機能やセキュリティ機能が必要な場合は、外部クライアント リクエストをバックエンドに転送する前に、外部 VPC を介して境界に外部アプリケーション ロードバランサをデプロイできます。

ベスト プラクティス

  • インターネットからのクライアント リクエストを、プライベート オンプレミスまたは他のクラウド環境でホストされているフロントエンドによってローカルで受信する必要がある場合は、API ゲートウェイ ソリューションとして Apigee Hybrid の使用を検討してください。このアプローチでは、API プラットフォーム(Apigee)の一貫性を維持しながら、ソリューションを完全に Google Cloud でホストされる環境にシームレスに移行することもできます。
  • 要件とアーキテクチャに該当する場合は、Kubernetes を使用した Apigee Hybrid のデプロイ アーキテクチャで Apigee Adapter for Envoy を使用します。
  • Google Cloud の VPC とプロジェクトの設計は、このガイドで説明されているリソース階層と安全な通信モデルの要件に従っている必要があります。
  • この設計にトランジット VPC を組み込むと、ワークロード VPC の外部に追加の境界セキュリティ対策とハイブリッド接続を柔軟にプロビジョニングできます。
  • Private Service Connect を使用すると、ハイブリッド接続ネットワークを介してエンドポイントの内部 IP アドレスを使用して、オンプレミス環境または他のクラウド環境から Google API とサービスにアクセスできます。詳細については、オンプレミス ホストからエンドポイントにアクセスするをご覧ください。
  • プロジェクト内の Google Cloud サービスを保護し、データの漏洩のリスクを軽減するために、VPC Service Controls を使用して、プロジェクト レベルまたは VPC ネットワーク レベルでサービス境界を指定します。
  • VPC ファイアウォール ルールまたはファイアウォール ポリシーを使用して、Private Service Connect エンドポイントを介して Private Service Connect リソースへのネットワーク レベルのアクセスを制御します。たとえば、アプリケーション(コンシューマー)VPC のアウトバウンド ファイアウォール ルールでは、VM インスタンスからエンドポイントの IP アドレスまたはサブネットへのアクセスを制限できます。一般的な VPC ファイアウォール ルールの詳細については、VPC ファイアウォール ルールをご覧ください。
  • NVA を含むソリューションを設計する際は、すべての通信をブロックする可能性のある単一障害点を回避するために、NVA の高可用性(HA)を考慮することが重要です。NVA ベンダーが提供する HA と冗長性の設計と実装のガイダンスに従ってください。仮想アプライアンス間の高可用性の実現について詳しくは、Google Cloud で一元化されたネットワーク アプライアンスのアーキテクチャ オプションをご覧ください。
  • 境界セキュリティを強化し、それぞれの環境にデプロイされた API ゲートウェイを保護するために、必要に応じて、他のコンピューティング環境(ハイブリッド クラウドまたは他のクラウド)にロード バランシングとウェブ アプリケーション ファイアウォール メカニズムを実装できます。これらのオプションは、インターネットに直接接続されている境界ネットワークに実装します。
  • インスタンスにインターネット アクセスが必要な場合は、アプリケーション VPC で Cloud NAT を使用して、ワークロードがインターネットにアクセスできるようにします。これにより、API ゲートウェイまたはロードバランサの背後にデプロイされているシステムで、外部パブリック IP アドレスを持つ VM インスタンスを割り当てることを回避できます。
  • アウトバウンド ウェブ トラフィックには、Secure Web Proxy を使用します。このプロキシにはいくつかのメリットがあります。

  • ハイブリッド クラウドとマルチクラウドのネットワーキング パターンに関する一般的なベスト プラクティスを確認してください。