ターゲット プロキシは 1 つ以上の転送ルールから参照されます。外部 HTTP(S) ロードバランサと内部 HTTP(S) ロードバランサの場合、プロキシは受信リクエストを URL マップに転送します。SSL プロキシ ロードバランサ、TCP プロキシ ロードバランサの場合、ターゲット プロキシは受信リクエストを直接バックエンド サービスに転送します。
ターゲット プロキシのプロパティ
REST API でのターゲット プロキシ操作時に使用できるプロパティとメソッドについては、次のページをご覧ください。
- グローバル ターゲット HTTP プロキシ
- グローバル ターゲット HTTPS プロキシ
- リージョン ターゲット HTTP プロキシ
- リージョン ターゲット HTTPS プロキシ
- グローバル ターゲット SSL プロキシ
- グローバル ターゲット TCP プロキシ
gcloud
コマンドライン ツールを使用したターゲット プロキシの操作時に使用できるプロパティとメソッドの説明については、次のページをご覧ください。
- グローバル ターゲット HTTP プロキシ(
--global
フラグを使用) - リージョン ターゲット HTTP プロキシ(
--region
フラグを使用) - グローバル ターゲット HTTPS プロキシ(
--global
フラグを使用) - リージョン ターゲット HTTPS プロキシ(
--region
フラグを使用) - グローバル ターゲット SSL プロキシ
- グローバル ターゲット TCP プロキシ
ターゲット プロキシの追加
次の種類の負荷分散用のターゲット プロキシを追加できます。
- 外部 HTTP(S) 負荷分散
- 内部 HTTP(S) 負荷分散
- SSL プロキシ負荷分散
- TCP プロキシ負荷分散
外部 HTTP(S) ロードバランサの場合
グローバル ターゲット HTTP(S) プロキシを追加するには、次の手順に従います。
Console: HTTP
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット プロキシを作成] をクリックします。
- [名前] を入力します。
- (省略可)[説明] を入力します。
- [種類] に
HTTP Proxy
を選択します。 - [URL マップ] を選択します。
- [作成] をクリックします。
Console: HTTPS
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット プロキシを作成] をクリックします。
- [名前] を入力します。
- (省略可)[説明] を入力します。
- [種類] に
HTTPS Proxy
を選択します。 - プライマリ SSL 証明書として使用する SSL 証明書リソースがすでに存在する場合は、[証明書] プルダウン メニューからそれを選択します。そうでない場合は、[新しい証明書の作成] を選択します。
- [名前] を入力します。
- 次のファイルをアップロードするか(推奨)、ファイルの内容をコピーして適切なフィールドに貼り付けます。
- 公開鍵証明書(.crt ファイル)
- 証明書チェーン(.csr ファイル)
- 秘密鍵(key ファイル)
- 前述の手順を繰り返して、追加証明書を追加します。
- [URL マップ] を選択します。
- [作成] をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット プロキシを作成] をクリックします。
- [名前] を入力します。
- (省略可)[説明] を入力します。
- [種類] に
SSL Proxy
を選択します。 - プライマリ SSL 証明書として使用する SSL 証明書リソースがすでに存在する場合は、[証明書] プルダウン メニューからそれを選択します。そうでない場合は、[新しい証明書の作成] を選択します。
- [名前] を入力します。
- 次のファイルをアップロードするか(推奨)、ファイルの内容をコピーして適切なフィールドに貼り付けます。
- 公開鍵証明書(.crt ファイル)
- 証明書チェーン(.csr ファイル)
- 秘密鍵(key ファイル)
- 前述の手順を繰り返して、追加証明書を追加します。
- バックエンド サービスを選択します。
- (省略可)プロキシ プロトコルを有効にします。
- [作成] をクリックします。
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 Proxy
を選択します。 - バックエンド サービスを選択します。
- (省略可)プロキシ プロトコルを有効にします。
- [作成] をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット名] を選択します。
- [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。
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
- [ターゲット プロキシ] ページに移動
[ターゲット プロキシ] ページに移動 - [ターゲット名] を選択します。
- [ターゲットの詳細] 画面を表示します。[負荷分散] 画面に戻るには、画面の上部にある左向き矢印をクリックします。
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) ロードバランサの場合
ターゲット プロキシに関連付けられた 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 set-ssl-certificates 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) ロードバランサの場合
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
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 をクライアントとネゴシエートできないようにします。
次のステップ
- QUIC 転送プロトコルの詳細については、HTTPS 負荷分散の QUIC プロトコル サポートをご覧ください。
- ターゲット プロキシが指し示している SSL 証明書を更新するには、以下をご覧ください。