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

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

ターゲット プロキシのプロパティ

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

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

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

次の種類の負荷分散用のターゲット プロキシを追加できます。

  • 外部 HTTP(S) 負荷分散
  • 内部 HTTP(S) 負荷分散
  • SSL プロキシ負荷分散
  • TCP プロキシ負荷分散

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

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

Console: HTTP

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット プロキシを作成] をクリックします。
  3. [名前] を入力します。
  4. (省略可)[説明] を入力します。
  5. [種類] に HTTP Proxy を選択します。
  6. [URL マップ] を選択します。
  7. [作成] をクリックします。

Console: HTTPS

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット プロキシを作成] をクリックします。
  3. [名前] を入力します。
  4. (省略可)[説明] を入力します。
  5. [種類] に HTTPS Proxy を選択します。
  6. プライマリ SSL 証明書として使用する SSL 証明書リソースがすでに存在する場合は、[証明書] プルダウン メニューからそれを選択します。そうでない場合は、[新しい証明書の作成] を選択します。
    1. [名前] を入力します。
    2. 次のファイルをアップロードするか(推奨)、ファイルの内容をコピーして適切なフィールドに貼り付けます。
      • 公開鍵証明書(.crt ファイル)
      • 証明書チェーン(.csr ファイル)
      • 秘密鍵(key ファイル)
  7. 前述の手順を繰り返して、追加証明書を追加します。
  8. [URL マップ] を選択します。
  9. [作成] をクリックします。

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) プロキシを追加するには、次の手順に従います。

Console

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 プロキシを追加するには、次の手順を実施します。

Console

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット プロキシを作成] をクリックします。
  3. [名前] を入力します。
  4. (省略可)[説明] を入力します。
  5. [種類] に SSL Proxy を選択します。
  6. プライマリ SSL 証明書として使用する SSL 証明書リソースがすでに存在する場合は、[証明書] プルダウン メニューからそれを選択します。そうでない場合は、[新しい証明書の作成] を選択します。
    1. [名前] を入力します。
    2. 次のファイルをアップロードするか(推奨)、ファイルの内容をコピーして適切なフィールドに貼り付けます。
      • 公開鍵証明書(.crt ファイル)
      • 証明書チェーン(.csr ファイル)
      • 秘密鍵(key ファイル)
  7. 前述の手順を繰り返して、追加証明書を追加します。
  8. バックエンド サービスを選択します。
  9. (省略可)プロキシ プロトコルを有効にします。
  10. [作成] をクリックします。

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

  1. [ターゲット プロキシ] ページに移動
    [ターゲット プロキシ] ページに移動
  2. [ターゲット プロキシを作成] をクリックします。
  3. [名前] を入力します。
  4. (省略可)[説明] を入力します。
  5. [種類] に TCP Proxy を選択します。
  6. バックエンド サービスを選択します。
  7. (省略可)プロキシ プロトコルを有効にします。
  8. [作成] をクリックします。

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) ロードバランサの場合

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) ロードバランサの場合

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) ロードバランサの場合

ターゲット プロキシに関連付けられた 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
}

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

ターゲット 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) ロードバランサの場合

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

QUIC ネゴシエーションの設定は現在、[ターゲット プロキシ] ページでサポートされていません。負荷分散リソースの構成に示すように、新しいロードバランサを設定する際には、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 をクライアントとネゴシエートできないようにします。

次のステップ