コンテンツがオンプレミスや別のクラウドでホストされている場合でも、Cloud CDN(コンテンツ配信ネットワーク)の外部バックエンド(カスタム送信元とも呼ばれます)を使用すると、Google の高パフォーマンスの分散型エッジ キャッシング インフラストラクチャでコンテンツを配信できます。
用語
次の用語は、同じ意味または類似の意味を持つため、区別されずに使われることがよくあります
- 外部バックエンド: Google Cloud の外部にあり、インターネット経由で到達可能なバックエンド。インターネット NEG 内のエンドポイント。
- インターネット ネットワーク エンドポイント グループ(NEG): 外部バックエンドの指定に使用する Google Cloud API リソース。
- 外部エンドポイント: 外部バックエンドと同じです。
負荷分散のドキュメントとの整合性を維持するため、ここではインターネット NEG API リソースを指す場合を除き、外部バックエンドという用語を使用します。
Cloud CDN でサポートされているバックエンドの種類
Cloud CDN は、外部アプリケーション ロードバランサと連携してユーザーにコンテンツを配信します。外部アプリケーション ロードバランサは、リクエストを受け取るフロントエンドの IP アドレスとポートを提供します。Cloud CDN コンテンツは、次のようにさまざまな種類のバックエンドから提供されます。
- インスタンス グループ
- ゾーン ネットワーク エンドポイント グループ(NEG)
- サーバーレス NEG: 1 つ以上の App Engine、Cloud Run、Cloud Run 関数 サービス
- 外部バックエンドのインターネット NEG
- Cloud Storage のバケット
外部バックエンドは、オンプレミス インフラストラクチャ内でホストされている場合もあれば、サードパーティ プロバイダが提供する送信元である場合もあります。以降のセクションで、外部バックエンドについて詳しく説明します。
ハイブリッド アーキテクチャとマルチクラウド アーキテクチャ
サービスを Google Cloud に移行する際に、段階的な移行が必要になることがあります。特定のコンテンツをすぐにクラウド環境に移行できない場合、そのコンテンツをオンプレミスに残さなければなりません。また、コンテンツが別のクラウドでホストされている場合もあります。Cloud CDN は外部バックエンドをサポートするので、こうしたコンテンツには、Google のグローバルな分散型エッジ キャッシング インフラストラクチャを使用できます。
上の図で、images
コンテンツは Google Cloud 内にあり、video
は東京データセンター内にあります。後者はオンプレミス、または別のクラウド内のどちらも可能です。外部バックエンドを使用すると、東京データセンターの送信元を video
コンテンツのバックエンド ソースとして、Cloud CDN と外部アプリケーション ロードバランサによってユーザーにコンテンツを配信できます。
このデプロイでは、URL マップを使用して、動画トラフィックの送信元 pull リクエストを東京の外部バックエンドに転送できます。このマッピングは、リクエスト URL /video
に基づいて判断されます。
画像の場合(リクエスト URL /images
に基づいて判断)、コンテンツは Google Cloud から提供され、Cloud CDN エッジ インフラストラクチャによって配信されます。
外部バックエンドの指定
Google Cloud にデプロイされたエンドポイントで Cloud CDN を構成する場合と同様に、ネットワーク エンドポイント グループ(NEG)API を使用して、サーバーを Cloud CDN のカスタム送信元として追加できます。
外部バックエンドを指定するには、インターネット NEG を使用します。インターネット NEG は、次の表のいずれかのエンドポイント タイプになります。
エンドポイント アドレス | タイプ | 定義 | 使うタイミング |
---|---|---|---|
ホスト名とオプションのポート | INTERNET_FQDN_PORT |
一般公開で解決可能な完全修飾ドメイン名(FQDN)とオプションのポート、backend.example.com:443 など(デフォルト ポート: HTTP の場合 80 、HTTPS の場合 443 ) |
一般公開 DNS で FQDN を使って外部バックエンドを解決できる場合は、このエンドポイントを使用します。 |
IP アドレスとオプションのポート | INTERNET_IP_PORT |
公開アクセス可能な IP アドレスとオプションのポート。例: 192.0.2.8 、192.0.2.8:443 (デフォルト ポート: HTTP の場合は 80 、HTTPS の場合は 443 ) |
接続先となる一般公開 IP アドレスとポートを指定するには、このエンドポイントを使用します。 |
ベスト プラクティスは、エンドポイントの種類を INTERNET_FQDN_PORT
に設定し、送信元ホスト名の値として FQDN 値を指定したインターネット NEG を作成することです。これにより、Cloud CDN の構成が送信元インフラストラクチャの IP アドレスの変更から分離されます。FQDN を使用して定義されたネットワーク エンドポイントは、一般公開 DNS によって解決されます。構成した FQDN が Google Public DNS で解決できることを確認してください。
インターネット NEG を作成した後は、種類を INTERNET_FQDN_PORT
から INTERNET_IP_PORT
に、またはその逆に変更することはできません。新しいインターネット NEG を作成し、その新しいインターネット NEG を使用するようにバックエンド サービスを変更する必要があります。
HTTP リクエストの Host
ヘッダーに特定の値を必要とする外部バックエンドを使用する場合、Host
ヘッダーをその値に設定するようにバックエンド サービスを構成する必要があります。ユーザー定義のリクエスト ヘッダーを構成しない場合、バックエンド サービスは、Google Cloud の外部アプリケーション ロードバランサへの接続用にクライアントが使用した Host
ヘッダーを保持します。カスタム ヘッダーの概要については、バックエンド サービスでカスタム ヘッダーを作成するをご覧ください。具体的な例については、外部バックエンドを使用した Cloud CDN の設定をご覧ください。
外部バックエンドと Google Cloud ベースの送信元を使用する
次の図は、外部アプリケーション ロードバランサと Cloud CDN で外部バックエンドをデプロイするために使用されるインターネット NEG を示しています。
次のステップ
- 外部バックエンドを設定するには、インターネット NEG を使用して外部バックエンドを設定するをご覧ください。
- キャッシュに保存されるコンテンツの詳細については、キャッシュの概要をご覧ください。
- 問題を解決するには、外部バックエンドとインターネット NEG に関する問題のトラブルシューティングをご覧ください。