Configurar um serviço de back-end global do Cloud Load Balancing

Para criar um balanceador de carga no aplicativo, configure e conecte componentes de front-end e back-end distintos do Cloud Load Balancing, que ajudam a aplicar controles separados para o tráfego externo e interno e impedir o acesso direto aos dados. No App Design Center, o componente global de serviço de back-end do Cloud Load Balancing gerencia as configurações de distribuição de tráfego, incluindo protocolos, afinidade da sessão, verificações de integridade e tempos limite, para grupos de endpoints de rede (NEGs) sem servidor e grupos gerenciados de instâncias (MIGs) do Compute Engine, com conexões e parâmetros de configuração baseados no módulo do Terraform terraform-google-lb-http.

Conexões de componentes

Para criar um componente completo do Cloud Load Balancing, conecte o back-end global do Cloud Load Balancing a pelo menos um front-end global do Cloud Load Balancing. Os componentes conectados do Cloud Load Balancing são exibidos como um grupo na tela de design.

A tabela a seguir lista os componentes que você conecta a um back-end global do Cloud Load Balancing e as atualizações resultantes no aplicativo e no código do Terraform gerado.

Componente conectado

Atualizações de aplicativos

Informações prévias

Cloud Run

  • O balanceador de carga pode distribuir o tráfego de entrada para o serviço do Cloud Run.
  • O serviço do Cloud Run é adicionado como um endpoint de back-end na configuração de back-ends de NEG sem servidor do Cloud Load Balancing.
Configurar um balanceador de carga de aplicativo externo global com o Cloud Run

Front-end do Cloud Load Balancing global (obrigatório)

  • O front-end do Cloud Load Balancing, que lida com as solicitações recebidas, está vinculado ao back-end do Cloud Load Balancing, que processa as solicitações.
  • As informações do serviço de back-end são adicionadas à entrada do mapa de URL do front-end.
Visão geral dos mapas de URL

MIG do Compute Engine

  • O balanceador de carga pode distribuir o tráfego de entrada para o MIG do Compute Engine.
  • O MIG do Compute Engine é adicionado ao campo de grupos de serviço de back-end do Cloud Load Balancing.
Configurar um balanceador de carga de aplicativo clássico com um back-end de grupo gerenciado de instâncias

Parâmetros de configuração obrigatórios

Se o modelo incluir um componente de back-end global do Cloud Load Balancing, configure os seguintes parâmetros antes de implantar.

Nome do parâmetro

Descrição e restrições

Informações prévias

Nome

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

ID do projeto

O projeto em que você quer implantar o serviço de back-end do Cloud Load Balancing.

Configurar componentes

Parâmetros de configuração opcionais

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

Recurso

Nome do parâmetro

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

Informações prévias

Host Path Mappings

Host Configurar mapas de URL Usar mapas de URL
Caminho Configurar mapas de URL Usar mapas de URL
Esquema de balanceamento de carga loadBalancingScheme Visão geral dos serviços de back-end
Protocolo protocol Protocolo para os back-ends
Nome da porta portName Portas nomeadas
Descrição Uma descrição do serviço de back-end. description
Ativar CDN enableCDN Informações gerais do Cloud CDN
Modo de compactação compressionMode A compactação não funciona
Cabeçalhos de solicitação personalizados customRequestHeaders[] Criar cabeçalhos personalizados em serviços de back-end
Cabeçalhos de resposta personalizados customResponseHeaders[] Criar cabeçalhos personalizados em serviços de back-end
Segundos de tempo limite de diminuição da conexão connectionDraining.drainingTimeoutSec Ativar a diminuição da conexão
Afinidade da sessão sessionAffinity Afinidade da sessão
TTL do cookie de afinidade em segundos affinityCookieTtlSec Afinidade de cookie gerado
Política de LB de localidade localityLbPolicy Política de localidade do balanceamento de carga
Tempo limite em segundos timeoutSec Tempo limite do serviço de back-end

Configuração de registro

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

Grupos

Grupo backends[].group Back-ends
Descrição Uma descrição para o grupo de back-ends. backends[].description
Modo de balanceamento backends[].balancingMode Modos de balanceamento e configurações de capacidade desejadas
Escalonador de capacidade backends[].capacityScaler Escalonador de capacidade
Máximo de conexões backends[].maxConnections Modo de balanceamento de conexão
Máximo de conexões por instância backends[].maxConnectionsPerInstance Modo de balanceamento de conexão
Máximo de conexões por endpoint backends[].maxConnectionsPerEndpoint Modo de balanceamento de conexão
Taxa máxima backends[].maxRate Modo de balanceamento de taxa
Taxa máxima por instância backends[].maxRatePerInstance Modo de balanceamento de taxa
Taxa máxima por endpoint backends[].maxRatePerEndpoint Modo de balanceamento de taxa
Utilização máxima backends[].maxUtilization Modo de balanceamento de utilização

Back-ends de NEG sem servidor

Região region Visão geral dos grupos de endpoints de 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 compatíveis
Nome do serviço appEngine.service Visão geral dos grupos de endpoints de rede sem servidor
Versão do serviço appEngine.version Visão geral dos grupos de endpoints de rede sem servidor

Configuração do IAP

Ativar iap.enabled Visão geral do Identity-Aware Proxy
ID do cliente OAuth 2.0 iap.oauth2ClientId Como compartilhar clientes OAuth
Chave secreta do cliente OAuth2 iap.oauth2ClientSecret Como compartilhar clientes OAuth

Política de CDN

Modo de cache cdnPolicy.cacheMode Visão geral do armazenamento em cache
Idade máxima do cache de URL assinado em segundos cdnPolicy.signedUrlCacheMaxAgeSec Personalizar o tempo máximo de cache
TTL padrão cdnPolicy.defaultTtl Alterar configurações e substituições de TTL
TTL máx. cdnPolicy.maxTtl Alterar configurações e substituições de TTL
TTL do cliente cdnPolicy.clientTtl Alterar configurações e substituições de TTL
Armazenamento em cache negativo cdnPolicy.negativeCaching Usar armazenamento em cache negativo
Exibir enquanto estiver desatualizado cdnPolicy.serveWhileStale Exibir conteúdo desatualizado
Ignorar cache nos cabeçalhos da solicitação cdnPolicy.bypassCacheOnRequestHeaders[] Ignorar cache

Política de armazenamento em cache negativo

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

Política de chave de cache

Incluir host 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 da string de consulta
Lista de bloqueio de strings de consulta cdnPolicy.cacheKeyPolicy.queryStringBlacklist[] Lista de exclusões da string de consulta
Lista de permissões de strings de consulta cdnPolicy.cacheKeyPolicy.queryStringWhitelist[] Lista de inclusão da string de consulta
Incluir cabeçalhos HTTP cdnPolicy.cacheKeyPolicy.includeHttpHeaders[] Configurações de chaves de cache de cabeçalhos HTTP e cookies HTTP
Incluir cookies nomeados cdnPolicy.cacheKeyPolicy.includeNamedCookies[] Como incluir cookies nomeados

Detecção de outlier

Segundos do tempo base de expulsão outlierDetection.baseEjectionTime.seconds Detecção de outliers para NEGs sem servidor
Tempo base de expulsão em nanossegundos outlierDetection.baseEjectionTime.nanos Detecção de outliers para NEGs sem servidor
Erros consecutivos outlierDetection.consecutiveErrors Detecção de outliers para NEGs sem servidor
Falha consecutiva de gateway outlierDetection.consecutiveGatewayFailure Detecção de outliers para NEGs sem servidor
Garantia de aplicação em erros consecutivos outlierDetection.enforcingConsecutiveErrors Detecção de outliers para NEGs sem servidor
Garantia de aplicação em falhas de gateway consecutivas outlierDetection.enforcingConsecutiveGatewayFailure Detecção de outliers para NEGs sem servidor
Garantia de aplicação em taxa de sucesso outlierDetection.enforcingSuccessRate Detecção de outliers para NEGs sem servidor
Segundos do intervalo outlierDetection.interval.seconds Detecção de outliers para NEGs sem servidor
Nanossegundos do intervalo outlierDetection.interval.nanos Detecção de outliers para NEGs sem servidor
Porcentagem máxima de expulsão outlierDetection.maxEjectionPercent Detecção de outliers para NEGs sem servidor
Hosts mínimos da taxa de sucesso outlierDetection.successRateMinimumHosts Detecção de outliers para NEGs sem servidor
Volume de solicitações da taxa de sucesso outlierDetection.successRateRequestVolume Detecção de outliers para NEGs sem servidor
Fator stdev da taxa de sucesso outlierDetection.successRateStdevFactor Detecção de outliers para NEGs sem servidor

Verificação de integridade

Host http2HealthCheck.host Sinalizações adicionais para verificações de integridade HTTP, HTTPS e HTTP/2
Caminho da solicitação http2HealthCheck.requestPath Critérios de sucesso para HTTP, HTTPS e HTTP/2
Solicitação sslHealthCheck.request Critérios de sucesso para SSL e TCP
Resposta sslHealthCheck.response Sinalizações adicionais para verificações de integridade HTTP, HTTPS e HTTP/2
Porta http2HealthCheck.port Categorias, protocolos e portas da verificação de integridade
Nome da porta http2HealthCheck.portName Portas nomeadas
Cabeçalho do proxy http2HealthCheck.proxyHeader Cabeçalhos
Especificação da porta http2HealthCheck.portSpecification Sinalizações de especificação de porta
Protocolo type Categorias, protocolos e portas da verificação de integridade
Intervalo de verificação em segundos checkIntervalSec Sondagens
Tempo limite em segundos timeoutSec Sondagens
Limite íntegro healthyThreshold Estado de integridade
Limite não íntegro unhealthyThreshold Estado de integridade
Logging logConfig.enable Informações de geração de registros de verificação de integridade
Política de segurança perimetral edge_security_policy Políticas de segurança de borda
Política de segurança security_policy Visão geral da política de segurança
Redes de firewall rede Configurar regras de firewall
Projetos de firewall Nomes dos projetos em que as regras de firewall serão criadas. Configurar regras de firewall
Tags de destino targetTags[] Restringir quais clientes podem enviar tráfego ao balanceador de carga
Contas de serviço de destino targetServiceAccounts[] Filtragem de origem e destino por conta de serviço

A seguir

Conecte o componente de back-end a um componente de front-end. Para configurar o componente de front-end, consulte Configurar um front-end global do Cloud Load Balancing no Application Design Center.