Como usar proxies de destino

Os proxies de destino são referenciados por uma ou mais regras de encaminhamento. No caso de balanceadores de carga HTTP(S) externos e balanceadores de carga HTTP(S) internos, os proxies encaminham as solicitações recebidas para um Mapa de URL. No caso de balanceadores de carga do proxy SSL; e balanceadores de carga do proxy TCP., os proxies de destino encaminham solicitações recebidas diretamente para serviços de back-end .

API e referência gcloud

Para descrições das propriedades e dos métodos disponíveis ao trabalhar com proxies de destino por meio da API REST, consulte as seguintes páginas:

Para descrições das propriedades e dos métodos disponíveis ao trabalhar com proxies de destino por meio da ferramenta de linha de comando gcloud, consulte as seguintes páginas:

Como adicionar um proxy de destino

Adicione um proxy de destino aos seguintes balanceadores de carga:

  • Balanceador de carga HTTP(S) externo global
  • Balanceador de carga HTTP(S) externo global (versão clássica)
  • Balanceador de carga HTTP(S) externo regional
  • Balanceamento de carga HTTP(S) interno
  • Balanceamento de carga de proxy SSL
  • Balanceamento de carga de proxy TCP

Para balanceador de carga HTTP(S) externo global

O balanceador de carga HTTP(S) externo global é compatível apenas com o nível Premium e usa um proxy de destino global. O balanceador de carga HTTP(S) externo global (clássico) pode ser implantado no nível Premium ou Standard. No entanto, ele exige um proxy de destino global, independentemente dos níveis de serviço de rede. No nível Standard, uma regra de encaminhamento regional aponta para um proxy de destino global.

Para adicionar um proxy HTTP(S) de destino global, execute as seguintes etapas:

Console: HTTP(S)

Crie um proxy HTTP(S) de destino global usando o Console do Cloud ao criar ou atualizar um balanceador de carga, conforme mostrado em Como configurar os recursos de balanceamento de carga.

gcloud: HTTP

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

gcloud: HTTPS

Antes de executar este comando, é necessário criar um recurso de certificado SSL para cada certificado.

 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
}

Para balanceadores de carga HTTP(S) externos regionais e internos

Para balanceadores de carga HTTP(S) externos regionais e internos, é necessário um proxy de destino regional.

Para adicionar um proxy HTTP(S) de destino regional, execute as seguintes etapas:

Console

Crie um proxy HTTP(S) de destino regional usando o Console do Cloud ao criar ou atualizar um balanceador de carga, conforme mostrado em Como configurar o balanceador de carga HTTP(S) interno ou Como configurar o balanceador de carga HTTP(S) regional.

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

Antes de executar este comando, é necessário criar um recurso de certificado SSL para cada certificado.

 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
}

Para um balanceador de carga do proxy SSL

Observação: para balanceadores de carga de proxy SSL, um proxy de destino global é necessário para os níveis Padrão e Premium. Isso significa que, no nível Standard, uma regra de encaminhamento regional aponta para um proxy de destino global.

Para adicionar um proxy SSL de destino global, execute as etapas a seguir:

Console

Crie um proxy SSL de destino global usando o Console do Cloud ao criar ou atualizar um balanceador de carga, conforme mostrado em Como configurar o balanceador de carga do proxy SSL.

gcloud

Antes de executar este comando, é necessário criar um recurso de certificado SSL para cada certificado.

 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
}

Para um balanceador de carga de proxy TCP

Para adicionar um proxy TCP de destino global, execute as etapas a seguir:

Console

Crie um proxy TCP de destino global usando o Console do Cloud ao criar ou atualizar um balanceador de carga, conforme mostrado em Como configurar o balanceador de carga do proxy 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"
}

Como listar proxies de destino

Para listar proxies de destino, execute as etapas a seguir.

Para balanceador de carga HTTP(S) externo global

Console

Acesse a página "Proxies de destino".
Acessar a página "Proxies de destino"

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

Para balanceadores de carga HTTP(S) externos regionais e internos

Console

Acesse a página "Proxies de destino".
Acessar a página "Proxies de destino"

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

Para um balanceador de carga do proxy SSL

Console

Acesse a página "Proxies de destino".
Acessar a página "Proxies de destino"

gcloud

gcloud compute target-ssl-proxies list

API

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

Para um balanceador de carga de proxy TCP

Console

Acesse a página "Proxies de destino".
Acessar a página "Proxies de destino"

gcloud

gcloud compute target-tcp-proxies list

API

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

Como conseguir informações sobre um proxy de destino

Para receber informações sobre um único proxy de destino HTTP ou HTTPS, execute as etapas a seguir.

Para balanceador de carga HTTP(S) externo global

Console

  1. Acesse a página "Proxies de destino".
    Acessar a página "Proxies de destino"
  2. Selecione um Nome de destino.
  3. Veja a tela Detalhes de destino. Para retornar à tela "Balanceamento de carga", clique na seta para a esquerda na parte superior da tela.

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

Para balanceadores de carga HTTP(S) externos regionais e internos

Console

  1. Acesse a página "Proxies de destino".
    Acessar a página "Proxies de destino"
  2. Selecione um Nome de destino.
  3. Veja a tela Detalhes de destino. Para retornar à tela "Balanceamento de carga", clique na seta para a esquerda na parte superior da tela.

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

Para um balanceador de carga do proxy SSL

Console

  1. Acesse a página "Proxies de destino".
    Acessar a página "Proxies de destino"
  2. Selecione um Nome de destino.
  3. Veja a tela Detalhes de destino. Para retornar à tela "Balanceamento de carga", clique na seta para a esquerda na parte superior da tela.

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

Para um balanceador de carga de proxy TCP

Console

  1. Acesse a página "Proxies de destino".
    Acessar a página "Proxies de destino"
  2. Selecione um Nome de destino.
  3. Veja a tela Detalhes de destino. Para retornar à tela "Balanceamento de carga", clique na seta para a esquerda na parte superior da tela.

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

Como atualizar o proxy de destino para apontar para um mapa de URLs diferente

Para atualizar o proxy de destino para apontar para um mapa de URL diferente, execute as etapas a seguir.

Para balanceador de carga HTTP(S) externo global

Para atualizar o mapa de URLs associado a um proxy de destino, execute as seguintes etapas:

Console

Os proxies HTTP(S) não podem ser editados no Console do Cloud. Como alternativa, é possível editar o proxy de destino usando gcloud ou a 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
}

Para balanceadores de carga HTTP(S) externos regionais e internos

Para atualizar o mapa de URLs associado a um proxy de destino, execute as seguintes etapas:

Console

Os proxies HTTP(S) não podem ser editados no Console do Cloud. Como alternativa, é possível editar o proxy de destino usando gcloud ou a 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
}

Como atualizar o recurso de certificado SSL para o proxy HTTPS de destino

Use este procedimento para substituir o certificado SSL no proxy HTTPS. Você já terá criado outros recursos de certificado SSL necessários.

Console

  1. Acesse a página Balanceamento de carga no Console do Google Cloud.

    Acessar a página "Balanceamento de carga"

  2. Clique em Editar ao lado do seu balanceador de carga.

  3. Clique em Configuração de front-end.

  4. No menu suspenso Certificado, selecione o novo certificado.

  5. Clique em Add certificate se precisar adicionar mais certificados.

  6. Clique em Concluído.

gcloud

É possível configurar o número documentado de certificados SSL por proxy HTTPS de destino.

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
  ]
}

Como excluir um proxy de destino

Para excluir um proxy HTTP ou HTTPS de destino, execute as etapas a seguir.

Para balanceador de carga HTTP(S) externo global

Console

  1. Acesse a página "Proxies de destino".
    Acessar a página "Proxies de destino"
  2. Selecione Proxies de destino.
  3. Clique na caixa de seleção do Nome do destino a ser excluído.
  4. Clique em Excluir.

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

Para balanceadores de carga HTTP(S) externos regionais e internos

Console

  1. Acesse a página "Proxies de destino".
    Acessar a página "Proxies de destino"
  2. Selecione Proxies de destino.
  3. Clique na caixa de seleção do Nome do destino a ser excluído.
  4. Clique em Excluir.

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

Para um balanceador de carga do proxy SSL

Console

  1. Acesse a página "Proxies de destino".
    Acessar a página "Proxies de destino"
  2. Selecione Proxies de destino.
  3. Clique na caixa de seleção do Nome do destino a ser excluído.
  4. Clique em Excluir.

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

Para um balanceador de carga de proxy TCP

Console

  1. Acesse a página "Proxies de destino".
    Acessar a página "Proxies de destino"
  2. Selecione Proxies de destino.
  3. Clique na caixa de seleção do Nome do destino a ser excluído.
  4. Clique em Excluir.

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

Como atualizar a configuração do protocolo QUIC

Os proxies HTTPS de destino são compatíveis com o uso do protocolo de transporte QUIC com a sinalização opcional --quic-override.

Console: HTTPS

É possível usar o Console do Cloud para configurar o QUIC ao configurar um novo balanceador de carga, conforme mostrado em Como configurar os recursos de balanceamento de carga.

gcloud: HTTPS

Antes de executar este comando, é necessário criar um recurso de certificado SSL para cada certificado.

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

em que QUIC_SETTING é um dos seguintes:

  • NONE (padrão) permite que o Google controle quando o QUIC é negociado. Atualmente, quando você seleciona NONE, o QUIC está desativado. Ao selecionar essa opção, você permite que o Google ative automaticamente as negociações do QUIC e o HTTP/3 no futuro para este balanceador de carga. No Console do Cloud, essa opção é chamada de Automático (padrão).
  • ENABLED permite que o balanceador de carga negocie o QUIC com os clientes.
  • DISABLED Impede que o balanceador de carga negocie o QUIC com os clientes.

API: HTTPS

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

{
  "quicOverride": QUIC_SETTING
}

em que QUIC_SETTING é um dos seguintes:

  • NONE (padrão) permite que o Google controle quando o QUIC é negociado. Atualmente, quando você seleciona NONE, o QUIC está desativado. Ao selecionar essa opção, você permite que o Google ative automaticamente as negociações do QUIC e o HTTP/3 no futuro para este balanceador de carga. No Console do Cloud, essa opção é chamada de Automático (padrão).
  • ENABLED permite que o balanceador de carga negocie o QUIC com os clientes.
  • DISABLED Impede que o balanceador de carga negocie o QUIC com os clientes.

A seguir