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

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

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

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

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

Google Cloud Console を使用してターゲット プロキシを追加するには、次の手順を実行します。

Console: HTTP

  1. [負荷分散] ページに移動します。

    [負荷分散] ページに移動

  2. [詳細設定メニュー] を選択します。
  3. [ターゲット プロキシ] を選択します。
  4. [ターゲット プロキシを作成] をクリックします。
  5. [名前] を入力します。
  6. 省略可: [説明] を入力します。
  7. [種類] に HTTP Proxy を選択します。
  8. [URL マップ] を選択します。
  9. [作成] をクリックします。

Console: HTTPS

  1. [負荷分散] ページに移動します。

    [負荷分散] ページに移動

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

ターゲット プロキシを追加するには、gcloud コマンドライン ツールで、次のいずれかのコマンドを使用します。

gcloud: HTTP

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

gcloud: HTTPS

HTTPS 負荷分散では、最大 15 件の SSL 証明書を持つターゲット HTTPS プロキシを作成できます。次のコマンドを実行する前に、SSL 証明書ごとにそのリソースを作成する必要があります。

SSL ポリシーを使用して、HTTPS ロードバランサがクライアントと SSL をネゴシエートする方法を制御できます。

ターゲット プロキシを作成または更新するときに、--ssl-policy を指定すると、SSL ポリシーをターゲット HTTPS プロキシに接続できます。

QUIC プロトコルを有効または無効にするには、--quic-override を指定します。

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

API でターゲット プロキシを作成するには、次のように POST リクエストを送信します。

API: HTTP

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

{
  "name": [PROXY_NAME],
  "urlMap": [URL_MAP]
}

API: HTTPS

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

{
  "name": [PROXY_NAME],
  "urlMap": [URL_MAP],
  "sslCertificates": [SSL_CERT_1][,[SSL_CERT_2],...]
}

ターゲット プロキシのリスト

Cloud Console を使用してターゲット プロキシを一覧表示するには、次の手順に沿って操作します。

Console:

  1. [負荷分散] ページに移動します。

    [負荷分散] ページに移動

  2. [詳細設定メニュー] を選択します。
  3. [ターゲット プロキシ] を選択します。[種類] フィールドをクリックして結果を並べ替えることができます。

gcloud コマンドライン ツールを使用してターゲット プロキシをリストするには、次のコマンドを使用します。

gcloud: HTTP

gcloud compute target-http-proxies list

gcloud: HTTPS

gcloud compute target-https-proxies list

API で、次の URI に空の GET リクエストを送信します。

API: HTTP

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

API: HTTPS

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

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

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

Console

  1. [負荷分散] ページに移動します。

    [負荷分散] ページに移動

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

gcloud コマンドライン ツールを使用して単一のターゲット プロキシに関する情報を取得するには、次のコマンドを使用します。

gcloud: HTTP

gcloud compute target-http-proxies describe [PROXY_NAME]

gcloud: HTTPS

gcloud compute target-https-proxies describe [PROXY_NAME]

API で、次の URI に空の GET リクエストを送信します。

API: HTTP

https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpProxies/[PROXY_NAME]

API: HTTPS

https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies/[PROXY_NAME]

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

Cloud Console を使用してターゲット HTTP または HTTPS プロキシを削除するには、次の手順を実行します。

Console

  1. [負荷分散] ページに移動します。

    [負荷分散] ページに移動

  2. [詳細設定メニュー] を選択します。
  3. [ターゲット プロキシ] を選択します。
  4. 削除する [ターゲット名] のチェックボックスをクリックします。
  5. [削除] をクリックします。

gcloud コマンドライン ツールを使用してターゲット プロキシを削除するには、次のコマンドを使用します。

gcloud: HTTP

gcloud compute target-http-proxies delete [PROXY_NAME]

gcloud: HTTPS

gcloud compute target-https-proxies delete [PROXY_NAME]

API では、次の URI に空の DELETE リクエストを送信します。

API: HTTP

https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/targetHttpProxies/[PROXY_NAME]

API: HTTPS

https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/targetHttpsProxies/[PROXY_NAME]

ターゲット プロキシの更新

以降の 3 つのセクションでは、URL マップと SSL 証明書リソースの更新方法、および QUIC プロトコルが有効化されているかどうかを判定する手順について説明します。

ターゲット プロキシの URL マップの更新

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

Console: HTTP

  1. [負荷分散] ページに移動します。

    [負荷分散] ページに移動

  2. [詳細設定メニュー] を選択します。
  3. [ターゲット プロキシ] を選択します。
  4. [ターゲット名] を選択します。
  5. [編集] 鉛筆アイコンをクリックします。
  6. [URL マップ] を選択します。
  7. [保存] をクリックします。
  8. 更新された URL マップが収録された [ターゲットの詳細] 画面を表示します。 [負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。

Console: HTTPS

HTTPS プロキシは Cloud Console では編集できません。編集する代わりに、ターゲット プロキシをいったん削除してから再度追加してください。また、gcloud または API を使用してターゲット プロキシを編集することもできます。

ターゲット プロキシに関連付けられた URL マップを更新するには、次の gcloudコマンドを実行します。

gcloud: HTTP

gcloud compute target-http-proxies update [PROXY_NAME] \
   --url-map [URL_MAP]

gcloud: HTTPS

gcloud compute target-https-proxies update [PROXY_NAME] \
   --url-map [URL_MAP]

API では、追加または削除する URL マップの完全修飾 URI をリクエスト本文に記述した POST リクエストを次の URI に送信します。

API: HTTP

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/targetHttpProxies/[PROXY_NAME]/setUrlMap

{
  "urlMap": [URL_MAP]
}

API: HTTPS

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/targetHttpsProxies/[PROXY_NAME]/setUrlMap

{
  "urlMap": [URL_MAP]
}

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

HTTP プロキシでは SSL 証明書が使用されないため、これらの手順は HTTPS プロキシにのみ適用されます。

Cloud Console を使用してターゲット HTTPS プロキシに関連付けられた SSL 証明書リソースを更新するには、次の手順を実行します。最大 15 個の SSL 証明書リソースを指定できます。

Console:

  1. [負荷分散] ページに移動します。

    [負荷分散] ページに移動

  2. ターゲット プロキシの URL マップ(ホストとパスのルール)が含まれるロードバランサの [編集] 鉛筆アイコンをクリックします。
  3. HTTPS [フロントエンド] 構成の [編集] 鉛筆アイコンをクリックします。
  4. [証明書] プルダウン メニューで既存の証明書を選択するか、この手順を使用して新しい証明書を作成します。

gcloud:

gcloud コマンドライン ツールを使用してターゲット HTTPS プロキシに関連付けられた SSL 証明書リソースを更新するには、次のコマンドを使用します。ここでは、最大 15 個の SSL 証明書リソースを指定できます。

       gcloud compute target-https-proxies update [PROXY_NAME]   
--ssl-certificates [SSL_CERT_1][,[SSL_CERT_2],...]

API:

API では、次の URI に POST リクエストを送信し、リクエストの本文で追加または削除する SSL 証明書リソースの完全修飾 URI を渡します。

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/targetHttpsProxies/[PROXY_NAME]/setSslCertificates

{
 "sslCertificates": [ SSL_CERT_1][,[SSL_CERT_2],... ]

}

QUIC プロトコル設定の更新

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

QUIC には以下の SSL 証明書の要件があります。

  • SSL 証明書の commonName(CN)属性は、ロードバランサの IP アドレスに解決される DNS 名と一致する必要があります。そうでない場合、ロードバランサは QUIC コンテンツを提供しません。
  • SSL 証明書は、クライアントによって信頼されている認証局(CA)により署名されている必要があります。ロードバランサが自己署名証明書、またはクライアントによって信頼されていない CA によって署名された証明書を使用している場合、QUIC トランスポートをネゴシエートできません。
[--quic-override=ENABLE|DISABLE|NONE]

フラグの効果は以下のとおりです。

  • --quic-override が NONE に設定されている場合、QUIC を使用するかどうかは Google が管理します。
  • フラグが ENABLE に設定されている場合、可能であれば、ロードバランサで QUIC が使用されます。
  • フラグが DISABLE に設定されている場合、QUIC は使用されません。

--quic-override フラグが指定されていない場合は、NONE が暗黙的に指定されます。

gcloud compute target-https-proxies update [PROXY_NAME]   \
     --quic-override=ENABLE|DISABLE|NONE

次のステップ

QUIC 転送プロトコルの詳細について、HTTPS 負荷分散の QUIC プロトコル サポートを確認する。