ターゲット プロキシの使用

ターゲット プロキシは 1 つ以上の転送ルールから参照されます。外部 HTTP(S) ロードバランサ内部 HTTP(S) ロードバランサの場合、プロキシは受信リクエストを URL マップに転送します。SSL プロキシ ロードバランサTCP プロキシ ロードバランサの場合、ターゲット プロキシは受信リクエストを直接バックエンド サービスに転送します。

API と gcloud リファレンス

REST API でのターゲット プロキシ操作時に使用できるプロパティとメソッドについては、次のページをご覧ください。

gcloud コマンドライン ツールを使用したターゲット プロキシの操作時に使用できるプロパティとメソッドの説明については、次のページをご覧ください。

ターゲット プロキシの追加

次のロードバランサのターゲット プロキシを追加できます。

  • グローバル外部 HTTP(S) ロードバランサ
  • グローバル外部 HTTP(S) ロードバランサ(従来)
  • リージョン外部 HTTP(S) ロードバランサ
  • 内部 HTTP(S) ロード バランシング
  • SSL プロキシ ロード バランシング
  • TCP プロキシ ロード バランシング

グローバル外部 HTTP(S) ロードバランサの場合

グローバル外部 HTTP(S) ロードバランサは、プレミアム ティアのみをサポートし、グローバル ターゲット プロキシを使用します。グローバル外部 HTTP(S) ロードバランサ(従来)はプレミアム ティアまたはスタンダード ティアにデプロイできますが、Network Service Tiers に関係なく、グローバル ターゲット プロキシが必要になります。スタンダード ティアでは、リージョン転送ルールがグローバル ターゲット プロキシを指し示します。

グローバル ターゲット HTTP(S) プロキシを追加するには、次の手順を行います。

Console: HTTP(S)

ロード バランシング リソースの構成に示すように、ロードバランサを作成または更新する際には、Cloud Console を使用してグローバル ターゲット HTTP(S) プロキシを作成できます。

gcloud: HTTP

gcloud compute target-http-proxies create HTTP_PROXY_NAME \
  --global \
  --url-map URL_MAP \
  --global-url-map \
  [--description DESCRIPTION]

gcloud: HTTPS

次のコマンドを実行する前に、各証明書の SSL 証明書リソースを作成する必要があります。

 gcloud compute target-https-proxies create HTTPS_PROXY_NAME \
   --global \
   --url-map URL_MAP \
   --global-url-map \
   --ssl-certificates SSL_CERT_1[,SSL_CERT_2,...] \
   --global-ssl-certificates \
   [--ssl-policy POLICY_NAME] \
   [--quic-override=ENABLE|DISABLE|NONE]

API: HTTP

POST https://www.googleapis.com/v1/compute/projects/PROJECT_ID/global/targetHttpProxies

{
  "name": HTTP_PROXY_NAME,
  "urlMap": /projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME
}

API: HTTPS

POST https://www.googleapis.com/v1/compute/projects/PROJECT_ID/global/targetHttpsProxies

{
  "name": HTTPS_PROXY_NAME,
  "urlMap": /projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME,
  "sslCertificates": /projects/PROJECT_ID/global/sslCertificates/SSL_CERT_NAME
}

リージョン外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサの場合

リージョン外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサの場合、リージョン ターゲット プロキシが必要です。

リージョン ターゲット HTTP(S) プロキシを追加するには、次の手順を行います。

Console

内部 HTTP(S) ロードバランサの設定またはリージョン外部 HTTP(S) ロードバランサの設定に示すように、ロードバランサを作成または更新する際には、Cloud Console を使用してリージョン ターゲット HTTP(S) プロキシを作成できます。

gcloud: HTTP

gcloud compute target-http-proxies create HTTP_PROXY_NAME \
    --url-map URL_MAP \
    --url-map-region REGION \
    --region REGION \
    [--description DESCRIPTION]

gcloud: HTTPS

次のコマンドを実行する前に、各証明書の SSL 証明書リソースを作成する必要があります。

 gcloud compute target-https-proxies create HTTPS_PROXY_NAME \
     --url-map URL_MAP \
     --url-map-region REGION \
     --region REGION \
     --ssl-certificates SSL_CERT_NAME \
     --ssl-certificates-region REGION

API: HTTP

POST https://www.googleapis.com/v1/compute/projects/PROJECT_ID/regions/REGION/targetHttpProxies

{
  "name": HTTP_PROXY_NAME,
  "urlMap": /projects/PROJECT_ID/regions/REGION/urlMaps/URL_MAP_NAME,
  "region": REGION
}

API: HTTPS

POST https://www.googleapis.com/v1/compute/projects/PROJECT_ID/region/REGION/targetHttpsProxies

{
  "name": HTTPS_PROXY_NAME,
  "urlMap": /projects/PROJECT_ID/regions/REGION/urlMaps/URL_MAP_NAME,
  "region": REGION
  "sslCertificates": /projects/PROJECT_ID/regions/REGION/sslCertificates/SSL_CERT_NAME
}

SSL プロキシ ロードバランサの場合

SSL プロキシ ロードバランサの場合、スタンダード ティアとプレミアム ティアの両方でグローバル ターゲット プロキシが必要です。そのため、スタンダード ティアでは、リージョン転送ルールがグローバル ターゲット プロキシを指し示します。

グローバル ターゲット SSL プロキシを追加するには、次の手順を行います。

Console

SSL プロキシ ロードバランサの設定に示すように、ロードバランサを作成または更新する際には、Cloud Console を使用してグローバル ターゲット SSL プロキシを作成できます。

gcloud

次のコマンドを実行する前に、各証明書の SSL 証明書リソースを作成する必要があります。

 gcloud compute target-ssl-proxies create SSL_PROXY_NAME \
   --backend-service BACKEND_SERVICE \
   --ssl-certificates SSL_CERT_1[,SSL_CERT_2,...] \
   [--ssl-policy POLICY_NAME] \
   [--quic-override=ENABLE|DISABLE|NONE] \
   [--proxy-header=(NONE | PROXY_V1)]

API

POST https://www.googleapis.com/v1/compute/projects/PROJECT_ID/global/targetSslProxies

{
  "name": SSL_PROXY_NAME,
  "proxyHeader": ("NONE" | "PROXY_V1"),
  "service": "projects/PROJECT/global/backendServices/BACKEND_SERVICE"
  "sslCertificates": /projects/PROJECT_ID/global/sslCertificates/SSL_CERT_NAME
}

TCP プロキシ ロードバランサの場合

グローバル ターゲット TCP プロキシを追加するには、次の手順を実施します。

Console

TCP プロキシ ロードバランサの設定に示すように、ロードバランサを作成または更新する際には、Cloud Console を使用してグローバル ターゲット TCP プロキシを作成できます。

gcloud

 gcloud compute target-tcp-proxies create TCP_PROXY_NAME \
   --backend-service BACKEND_SERVICE \
   --proxy-header=(NONE | PROXY_V1)

API

POST https://www.googleapis.com/v1/compute/projects/PROJECT_ID/global/targetTcpProxies

{
  "name": TCP_PROXY_NAME,
  "proxyHeader": ("NONE" | "PROXY_V1"),
  "service": "projects/PROJECT/global/backendServices/BACKEND_SERVICE"
}

ターゲット プロキシの一覧表示

ターゲット プロキシを一覧表示するには、次の手順を行います。

グローバル外部 HTTP(S) ロードバランサの場合

Console

[ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動

gcloud: HTTP

gcloud compute target-http-proxies list --global

gcloud: HTTPS

gcloud compute target-https-proxies list --global

API: HTTP

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpProxies

API: HTTPS

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies

リージョン外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサの場合

Console

[ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動

gcloud: HTTP

gcloud compute target-http-proxies list \
    --filter="region:(COMMA_DELIMITED_LIST_OF_REGIONS)"

gcloud: HTTPS

gcloud compute target-https-proxies list \
   --filter="region:(COMMA_DELIMITED_LIST_OF_REGIONS)"

API: HTTP

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetHttpProxies

API: HTTPS

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetHttpsProxies

SSL プロキシ ロードバランサの場合

Console

[ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動

gcloud

gcloud compute target-ssl-proxies list

API

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies

TCP プロキシ ロードバランサの場合

Console

[ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動

gcloud

gcloud compute target-tcp-proxies list

API

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetTcpProxies

ターゲット プロキシに関する情報の取得

1 つのターゲット HTTP プロキシまたは HTTPS プロキシに関する情報を取得するには、次の手順を行います。

グローバル外部 HTTP(S) ロードバランサの場合

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット名] を選択します。
  3. [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。

gcloud: HTTP

gcloud compute target-http-proxies describe HTTP_PROXY_NAME \
   --global

gcloud: HTTPS

gcloud compute target-https-proxies describe HTTPS_PROXY_NAME \
   --global

API: HTTP

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpProxies/HTTP_PROXY_NAME

API: HTTPS

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies/HTTPS_PROXY_NAME

リージョン外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサの場合

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット名] を選択します。
  3. [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。

gcloud: HTTP

gcloud compute target-http-proxies describe HTTP_PROXY_NAME \
   --region=REGION

gcloud: HTTPS

gcloud compute target-https-proxies describe HTTPS_PROXY_NAME \
   --region=REGION

API: HTTP

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetHttpProxies/HTTP_PROXY_NAME

API: HTTPS

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetHttpsProxies/HTTPS_PROXY_NAME

SSL プロキシ ロードバランサの場合

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット名] を選択します。
  3. [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。

gcloud

gcloud compute target-ssl-proxies describe SSL_PROXY_NAME

API

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies/SSL_PROXY_NAME

TCP プロキシ ロードバランサの場合

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット名] を選択します。
  3. [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。

gcloud

gcloud compute target-tcp-proxies describe TCP_PROXY_NAME

API

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetTcpProxies/TCP_PROXY_NAME

別の URL マップを指し示すようにターゲット プロキシを更新する

ターゲット プロキシを更新して、別の URL マップを指し示すようにするには、次の手順を行います。

グローバル外部 HTTP(S) ロードバランサの場合

ターゲット プロキシに関連付けられた URL マップを更新するには、次の手順を行います。

Console

HTTP(S) プロキシは Cloud Console では編集できません。gcloud または API を使用してターゲット プロキシを編集することもできます。

gcloud: HTTP

gcloud compute target-http-proxies update HTTP_PROXY_NAME \
    --url-map URL_MAP \
    --global \
    --global-url-map

gcloud: HTTPS

gcloud compute target-https-proxies update HTTPS_PROXY_NAME \
    --url-map URL_MAP \
    --global \
    --global-url-map

API: HTTP

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpProxies/HTTP_PROXY_NAME/setUrlMap

{
  "urlMap": /projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME
}

API: HTTPS

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies/HTTPS_PROXY_NAME/setUrlMap

{
  "urlMap": "urlMap": /projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME
}

リージョン外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサの場合

ターゲット プロキシに関連付けられた URL マップを更新するには、次の手順を行います。

Console

HTTP(S) プロキシは Cloud Console では編集できません。gcloud または API を使用してターゲット プロキシを編集することもできます。

gcloud: HTTP

gcloud compute target-http-proxies update HTTP_PROXY_NAME \
    --url-map URL_MAP \
    --region=REGION \
    --url-map-region=REGION

gcloud: HTTPS

gcloud compute target-https-proxies update HTTPS_PROXY_NAME \
    --url-map URL_MAP \
    --region=REGION \
    --url-map-region=REGION

API: HTTP

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetHttpProxies/HTTP_PROXY_NAME/setUrlMap

{
  "urlMap": /projects/PROJECT_ID/regions/REGIONurlMaps/URL_MAP_NAME
}

API: HTTPS

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetHttpsProxies/HTTPS_PROXY_NAME/setUrlMap

{
  "urlMap": /projects/PROJECT_ID/regions/REGION/urlMaps/URL_MAP_NAME
}

ターゲット HTTPS プロキシの SSL 証明書リソースの更新

この手順を使用して、HTTPS プロキシの SSL 証明書を置き換えます。必要な SSL 証明書リソースがすでに作成されている必要があります。

Console

  1. Google Cloud Console の [ロード バランシング] ページに移動します。

    [ロード バランシング] ページに移動

  2. ロードバランサの隣にある [編集] をクリックします。

  3. [フロントエンドの構成] をクリックします。

  4. [証明書] プルダウン メニューで、新しい証明書を選択します。

  5. 証明書をさらに追加する場合は、Add certificate をクリックします。

  6. [完了] をクリックします。

gcloud

ターゲット HTTPS プロキシごとに、SSL 証明書のドキュメント番号を構成できます。

gcloud compute target-https-proxies update PROXY_NAME \
    --ssl-certificates=SSL_CERT_1,SSL_CERT_2,...

API: HTTPS

DELETE [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies/HTTPS_PROXY_NAME]
POST [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies]
{
  "name": HTTPS_PROXY_NAME,
  "sslCertificates": [
    SSL_CERT_1,SSL_CERT_2
  ]
}

ターゲット プロキシの削除

ターゲット HTTP または HTTPS プロキシを削除するには、次の手順を行います。

グローバル外部 HTTP(S) ロードバランサの場合

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット プロキシ] を選択します。
  3. 削除する [ターゲット名] のチェックボックスをクリックします。
  4. [削除] をクリックします。

gcloud: HTTP

gcloud compute target-http-proxies delete HTTP_PROXY_NAME \
   --global

gcloud: HTTPS

gcloud compute target-https-proxies delete HTTPS_PROXY_NAME \
   --global

API: HTTP

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpProxies/HTTP_PROXY_NAME

API: HTTPS

DELETE https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies/HTTPS_PROXY_NAME

リージョン外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサの場合

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット プロキシ] を選択します。
  3. 削除する [ターゲット名] のチェックボックスをクリックします。
  4. [削除] をクリックします。

gcloud: HTTP

gcloud compute target-http-proxies delete HTTP_PROXY_NAME \
   --region=REGION

gcloud: HTTPS

gcloud compute target-https-proxies delete HTTPS_PROXY_NAME \
   --region=REGION

API: HTTP

DELETE https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetHttpProxies/HTTP_PROXY_NAME

API: HTTPS

DELETE https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetHttpsProxies/HTTPS_PROXY_NAME

SSL プロキシ ロードバランサの場合

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット プロキシ] を選択します。
  3. 削除する [ターゲット名] のチェックボックスをクリックします。
  4. [削除] をクリックします。

gcloud

gcloud compute target-ssl-proxies delete SSL_PROXY_NAME

API

DELETE https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies/SSL_PROXY_NAME

TCP プロキシ ロードバランサの場合

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット プロキシ] を選択します。
  3. 削除する [ターゲット名] のチェックボックスをクリックします。
  4. [削除] をクリックします。

gcloud

gcloud compute target-tcp-proxies delete TCP_PROXY_NAME

API

DELETE https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetTcpProxies/TCP_PROXY_NAME

QUIC プロトコル設定の更新

ターゲット HTTPS プロキシでは、オプションのフラグ --quic-override を設定することによって QUIC 転送プロトコルの使用をサポートされます。

Console: HTTPS

ロード バランシング リソースの構成に示すように、新しいロードバランサを設定する際には、Cloud Console を使用して QUIC 設定を構成できます。

gcloud: HTTPS

次のコマンドを実行する前に、各証明書の SSL 証明書リソースを作成する必要があります。

 gcloud compute target-https-proxies create HTTPS_PROXY_NAME \
   --global \
   --quic-override=QUIC_SETTING

ここで、QUIC_SETTING は次のいずれかです。

  • NONE(デフォルト): QUIC がネゴシエートされる際に、Google が制御できるようにします。現在、NONE を選択すると QUIC は無効になります。このオプションを選択することで、今後このロードバランサの QUIC ネゴシエーションと HTTP/3 は自動的に有効になります。Cloud Console で、このオプションは自動(デフォルト)と呼ばれます。
  • ENABLED: ロードバランサが QUIC をクライアントとネゴシエートできるようにします。
  • DISABLED: ロードバランサが QUIC をクライアントとネゴシエートできないようにします。

API: HTTPS

POST https://www.googleapis.com/v1/compute/projects/PROJECT_ID/global/targetHttpsProxies/TARGET_PROXY_NAME/setQuicOverride

{
  "quicOverride": QUIC_SETTING
}

ここで、QUIC_SETTING は次のいずれかです。

  • NONE(デフォルト): QUIC がネゴシエートされる際に、Google が制御できるようにします。現在、NONE を選択すると QUIC は無効になります。このオプションを選択することで、今後このロードバランサの QUIC ネゴシエーションと HTTP/3 は自動的に有効になります。Cloud Console で、このオプションは自動(デフォルト)と呼ばれます。
  • ENABLED: ロードバランサが QUIC をクライアントとネゴシエートできるようにします。
  • DISABLED: ロードバランサが QUIC をクライアントとネゴシエートできないようにします。

次のステップ