Configure um serviço de back-end do Cloud Load Balancing global no centro de design de aplicações

Cria um balanceador de carga na sua aplicação configurando e associando componentes de front-end e back-end distintos do Cloud Load Balancing. Os componentes separados ajudam a aplicar controlos distintos para o tráfego externo e interno, e impedem o acesso direto aos dados.

O componente de back-end do Cloud Load Balancing global ajuda a gerir as definições de distribuição de tráfego do balanceador de carga, incluindo o protocolo usado para estabelecer ligação aos back-ends, as definições de sessão, as verificações de funcionamento e os limites de tempo. Pode configurar os seguintes backends:

  • NEG sem servidor: uma lista de aplicações de funções do Cloud Run ou do Cloud Run sem servidor como back-ends.

  • Grupo de instâncias geridas (GIG): uma lista de grupos de instâncias do Compute Engine como back-ends.

Para mais informações, consulte o artigo Vista geral dos serviços de back-end.

Este documento descreve as associações e os parâmetros que pode configurar quando usa o App Design Center para criar um back-end global do Cloud Load Balancing. Os parâmetros de configuração baseiam-se no módulo do Terraform terraform-google-lb-http.

Ligações de componentes

Para criar um componente do Cloud Load Balancing completo, tem de associar o seu back-end do Cloud Load Balancing global a, pelo menos, um front-end do Cloud Load Balancing global. Os componentes do Cloud Load Balancing associados são apresentados como um grupo na tela de design.

A tabela seguinte inclui os componentes que pode associar a um back-end do Cloud Load Balancing global e as atualizações resultantes à sua aplicação e ao respetivo código Terraform gerado.

Componente ligado

Atualizações de aplicações

Informações gerais

Cloud Run

  • O balanceador de carga pode distribuir o tráfego recebido para o serviço do Cloud Run.
  • O serviço do Cloud Run é adicionado como um ponto final de back-end na configuração de back-ends do NEG sem servidor do Cloud Load Balancing.
Configure um Application Load Balancer externo global com o Cloud Run

Interface do Global Cloud Load Balancing (obrigatório)

  • O front-end do Cloud Load Balancing, que processa os pedidos recebidos, está associado ao back-end do Cloud Load Balancing, que processa os pedidos.
  • As informações do serviço de back-end são adicionadas à entrada do mapa de URLs do front-end.
Vista geral dos mapas de URLs

MIG do Compute Engine

  • O balanceador de carga pode distribuir o tráfego recebido para o MIG do Compute Engine.
  • O GIG do Compute Engine é adicionado ao campo dos grupos de serviços de back-end do Cloud Load Balancing.
Configure um Application Load Balancer clássico com um back-end de grupo de instâncias gerido

Parâmetros de configuração obrigatórios

Se o seu modelo incluir um componente de back-end do Cloud Load Balancing global, tem de configurar os seguintes parâmetros antes da implementação.

Nome do parâmetro

Descrição e restrições

Informações gerais

Nome

Nome do serviço de back-end do balanceador de carga. name

ID do projeto

O projeto onde quer implementar o serviço de back-end do Cloud Load Balancing.

Configure os componentes

Parâmetros de configuração opcionais

Os parâmetros seguintes são opcionais. Para apresentar parâmetros avançados, na área Configuração, selecione Mostrar campos avançados.

Funcionalidade

Nome do parâmetro

Informações de descrição e restrição

Informações gerais

Mapeamentos de caminhos de anfitriões

Anfitrião Configure mapas de URLs Use mapas de URLs
Caminho Configure mapas de URLs Use mapas de URLs
Esquema de balanceamento de carga loadBalancingScheme Vista geral dos serviços de back-end
Protocolo protocol Protocolo para os back-ends
Nome da portabilidade portName Portas com nome
Descrição Uma descrição do serviço de back-end. description
Ative a RFC enableCDN Vista geral do Cloud CDN
Modo de compressão compressionMode A compressão não está a funcionar
Cabeçalhos dos pedidos personalizados customRequestHeaders[] Crie cabeçalhos personalizados em serviços de back-end
Cabeçalhos das respostas personalizados customResponseHeaders[] Crie cabeçalhos personalizados em serviços de back-end
Limite de tempo de drenagem da ligação em segundos connectionDraining.drainingTimeoutSec Ative a eliminação gradual de ligações
Afinidade de sessão sessionAffinity Afinidade com a sessão
Segundos de TTL do cookie de afinidade affinityCookieTtlSec Afinidade de cookie gerado
Política de LB de localidade localityLbPolicy Política de localidade de balanceamento de carga
Limite de tempo em segundos timeoutSec Limite de tempo do serviço de back-end

Configuração de registo

Ativar logConfig.enable Registo
Taxa de amostragem logConfig.sampleRate Registo

Grupos

Grupo backends[].group Backends
Descrição Uma descrição do grupo de back-ends. backends[].description
Modo de equilíbrio backends[].balancingMode Modos de equilíbrio e definições de capacidade alvo
Capacity Scaler backends[].capcityScaler Escalonador de capacidade
Número máximo de ligações backends[].maxConnections Modo de equilíbrio de ligações
Número máximo de ligações por instância backends[].maxConnectionsPerInstance Modo de equilíbrio de ligações
Número máximo de ligações por ponto final backends[].maxConnectionsPerEndpoint Modo de equilíbrio de ligações
Taxa máxima backends[].maxRate Modo de equilíbrio de tarifas
Taxa máxima por instância backends[].maxRatePerInstance Modo de equilíbrio de tarifas
Taxa máxima por ponto final backends[].maxRatePerEndpoint Modo de equilíbrio de tarifas
Utilização máxima backends[].maxUtilization Modo de equilíbrio de utilização

Back-ends do NEG sem servidor

Região região Vista geral dos grupos de pontos finais da rede sem servidor
Tipo O tipo de back-end sem servidor. Os valores possíveis incluem cloud-run, cloud-function ou app-engine. Balanceadores de carga suportados
Nome do serviço appEngine.service Vista geral dos grupos de pontos finais da rede sem servidor
Versão do serviço appEngine.version Vista geral dos grupos de pontos finais da rede sem servidor

Configuração de CNA

Ativar iap.enabled Vista geral do Identity-Aware Proxy
ID do Cliente OAuth2 iap.oauth2ClientId Como partilhar clientes OAuth
Segredo do cliente OAuth2 iap.oauth2ClientSecret Como partilhar clientes OAuth

Política de RFC

Modo de cache cdnPolicy.cacheMode Vista geral da colocação em cache
Signed URL Cache Max Age Sec cdnPolicy.signedUrlCacheMaxAgeSec Personalize o tempo máximo de cache
TTL predefinido cdnPolicy.defaultTtl Altere as definições e as substituições de TTL
TTL máximo cdnPolicy.maxTtl Altere as definições e as substituições de TTL
TTL do cliente cdnPolicy.clientTtl Altere as definições e as substituições de TTL
Colocação em cache negativa cdnPolicy.negativeCaching Use o armazenamento em cache negativo
Serve While Stale cdnPolicy.serveWhileStale Publicar conteúdo desatualizado
Ignore a cache nos cabeçalhos dos pedidos cdnPolicy.bypassCacheOnRequestHeaders[] Ignorar cache

Política de Colocação em Cache Negativa

Código cdnPolicy.negativeCachingPolicy[].code Use o armazenamento em cache negativo
TTL cdnPolicy.negativeCachingPolicy[].ttl Use o armazenamento em cache negativo

Política de Chaves de Cache

Incluir anfitrião cdnPolicy.cacheKeyPolicy.includeHost Chaves de cache
Incluir protocolo cdnPolicy.cacheKeyPolicy.includeProtocol Chaves de cache
Incluir string de consulta cdnPolicy.cacheKeyPolicy.includeQueryString Lista de inclusão de strings de consulta
Lista negra de strings de consulta cdnPolicy.cacheKeyPolicy.queryStringBlacklist[] Lista de exclusões de strings de consulta
Lista de autorizações de strings de consulta cdnPolicy.cacheKeyPolicy.queryStringWhitelist[] Lista de inclusão de strings de consulta
Inclua cabeçalhos HTTP cdnPolicy.cacheKeyPolicy.includeHttpHeaders[] Definições da chave da cache de cabeçalhos HTTP e cookies HTTP
Incluir cookies com nome cdnPolicy.cacheKeyPolicy.includeNamedCookies[] Incluindo cookies com nome

Deteção de valores atípicos

Base Ejection Time Seconds outlierDetection.baseEjectionTime.seconds Deteção de valores atípicos para NEGs sem servidor
Base Ejection Time Nanos outlierDetection.baseEjectionTime.nanos Deteção de valores atípicos para NEGs sem servidor
Erros consecutivos outlierDetection.consecutiveErrors Deteção de valores atípicos para NEGs sem servidor
Falha consecutiva do gateway outlierDetection.consecutiveGatewayFailure Deteção de valores atípicos para NEGs sem servidor
Aplicação de erros consecutivos outlierDetection.enforcingConsecutiveErrors Deteção de valores atípicos para NEGs sem servidor
Aplicação de falha consecutiva do gateway outlierDetection.enforcingConsecutiveGatewayFailure Deteção de valores atípicos para NEGs sem servidor
Taxa de êxito da aplicação outlierDetection.enforcingSuccessRate Deteção de valores atípicos para NEGs sem servidor
Segundos de intervalo outlierDetection.interval.seconds Deteção de valores atípicos para NEGs sem servidor
Interval Nanos outlierDetection.interval.nanos Deteção de valores atípicos para NEGs sem servidor
Percentagem máxima de rejeição outlierDetection.maxEjectionPercent Deteção de valores atípicos para NEGs sem servidor
Número mínimo de anfitriões com taxa de êxito outlierDetection.successRateMinimumHosts Deteção de valores atípicos para NEGs sem servidor
Volume de pedidos da taxa de êxito outlierDetection.successRateRequestVolume Deteção de valores atípicos para NEGs sem servidor
Fator de desvio padrão da taxa de êxito outlierDetection.successRateStdevFactor Deteção de valores atípicos para NEGs sem servidor

Verificação de saúde

Anfitrião http2HealthCheck.host Flags adicionais para verificações de estado de HTTP, HTTPS e HTTP/2
Caminho do pedido http2HealthCheck.requestPath Critérios de êxito para HTTP, HTTPS e HTTP/2
Pedido sslHealthCheck.request Critérios de êxito para SSL e TCP
Resposta sslHealthCheck.response Flags adicionais para verificações de estado de HTTP, HTTPS e HTTP/2
Porta http2HealthCheck.port Categorias, protocolos e portas de verificação de estado
Nome da portabilidade http2HealthCheck.portName Portas com nome
Cabeçalho proxy http2HealthCheck.proxyHeader Cabeçalhos
Especificação da porta http2HealthCheck.portSpecification Flags de especificação de portas
Protocolo type Categorias, protocolos e portas de verificação de estado
Intervalo de verificação (segundos) checkIntervalSec Probes
Limite de tempo em segundos timeoutSec Probes
Limite saudável healthyThreshold Estado de saúde
Limite prejudicial unhealthyThreshold Estado de saúde
Registo logConfig.enable Informações de registo da verificação de saúde
Política de Segurança de Edge edge_security_policy Políticas de segurança de Edge
Política de Segurança security_policy Vista geral da política de segurança
Redes de firewall rede Configure regras de firewall
Projetos de firewall Nomes dos projetos nos quais criar regras de firewall. Configure regras de firewall
Etiquetas de destino targetTags[] Restrinja os clientes que podem enviar tráfego para o balanceador de carga
Contas de serviço de destino targetServiceAccounts[] Filtragem de origem e destino por conta de serviço

O que se segue?

Tem de ligar o componente de back-end a um componente de front-end. Para configurar o componente de front-end, consulte o artigo Configure um front-end do Cloud Load Balancing global no Application Design Center.