ターゲット プロキシは 1 つ以上の転送ルールから参照されます。外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサの場合、プロキシは受信リクエストを URL マップに転送します。SSL プロキシ ロードバランサ、TCP プロキシ ロードバランサの場合、ターゲット プロキシは受信リクエストを直接バックエンド サービスに転送します。
API と gcloud
リファレンス
REST API でのターゲット プロキシ操作時に使用できるプロパティとメソッドについては、次のページをご覧ください。
- グローバル ターゲット HTTP プロキシ
- グローバル ターゲット HTTPS プロキシ
- リージョン ターゲット HTTP プロキシ
- リージョン ターゲット HTTPS プロキシ
- グローバル ターゲット SSL プロキシ
- グローバル ターゲット TCP プロキシ
gcloud
コマンドライン ツールを使用したターゲット プロキシの操作時に使用できるプロパティとメソッドの説明については、次のページをご覧ください。
- グローバル ターゲット HTTP プロキシ(
--global
フラグを使用) - リージョン ターゲット HTTP プロキシ(
--region
フラグを使用) - グローバル ターゲット HTTPS プロキシ(
--global
フラグを使用) - リージョン ターゲット HTTPS プロキシ(
--region
フラグを使用) - グローバル ターゲット SSL プロキシ
- グローバル ターゲット TCP プロキシ
ターゲット プロキシの追加
次のロードバランサのターゲット プロキシを追加できます。
- グローバル外部 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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット名] を選択します。
- [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット名] を選択します。
- [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット名] を選択します。
- [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット名] を選択します。
- [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。
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
Google Cloud Console の [ロード バランシング] ページに移動します。
ロードバランサの隣にある [編集]
をクリックします。[フロントエンドの構成] をクリックします。
[証明書] プルダウン メニューで、新しい証明書を選択します。
証明書をさらに追加する場合は、
Add certificate
をクリックします。[完了] をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット プロキシ] を選択します。
- 削除する [ターゲット名] のチェックボックスをクリックします。
- [削除] をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット プロキシ] を選択します。
- 削除する [ターゲット名] のチェックボックスをクリックします。
- [削除] をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット プロキシ] を選択します。
- 削除する [ターゲット名] のチェックボックスをクリックします。
- [削除] をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット プロキシ] を選択します。
- 削除する [ターゲット名] のチェックボックスをクリックします。
- [削除] をクリックします。
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 をクライアントとネゴシエートできないようにします。
次のステップ
- QUIC 転送プロトコルの詳細については、HTTPS 負荷分散の QUIC プロトコル サポートをご覧ください。
- ターゲット プロキシが指し示している SSL 証明書を更新するには、以下をご覧ください。