Nesta página, descrevemos como configurar extensões de serviço com balanceadores de carga de aplicativo para casos de uso avançados.
Encaminhamento dinâmico
O encaminhamento dinâmico ajuda a vincular milhares ou até milhões de locatários a instâncias de máquina virtual (VMs) individuais ou conjuntos de VMs. É possível usar extensões de serviço para determinar de maneira programática a quais VMs um inquilino individual é mapeado sem precisar fazer atualizações em um mapa de URL. Isso ajuda você a escalar muito além das limitações do mapa de URL atual.
É possível configurar o encaminhamento dinâmico usando indicadores de tráfego e rota com estes balanceadores de carga de aplicativo: balanceador de carga de aplicativo externo regional, balanceador de carga de aplicativo interno regional e balanceador de carga de aplicativo interno entre regiões.
Nesta seção, você vai aprender a configurar uma extensão de tráfego para rotear aleatoriamente o tráfego entre duas VMs. Use os valores de amostra fornecidos.
Configure uma rede chamada
lb-network, uma sub-rede chamadabackend-subnete uma sub-rede somente proxy na regiãous-west1.Configure duas VMs em
us-west1para representar os endpoints roteáveis dinamicamente.Especifique os endereços IP como
10.1.2.1e10.1.2.2, respectivamente. Verifique se as duas VMs estão associadas à tagload-balanced-backend.Configure uma regra de firewall,
fw-allow-proxies, que permita o tráfego da sub-rede proxy para as VMs na sua rede.gcloud compute firewall-rules create fw-allow-proxies \ --network=df-network \ --action=allow \ --direction=ingress \ --source-ranges=source-range \ --target-tags=load-balanced-backend \ --rules=tcp:80,tcp:443,tcp:8080Crie um serviço de back-end,
l7-ilb-backend-service, com encaminhamento dinâmico e geração de registros ativados:gcloud beta compute backend-services create l7-ilb-backend-service \ --ip-port-dynamic-forwarding \ --enable-logging \ --region=us-west1Crie um mapa de URL,
l7-ilb-map, para o serviço de back-end.gcloud compute url-maps create l7-ilb-map \ --default-service=l7-ilb-backend-service \ --region=us-west1Crie um proxy de destino,
l7-ilb-proxy.gcloud compute target-http-proxies create l7-ilb-proxy \ --url-map=l7-ilb-map \ --url-map-region=us-west1 \ --region=us-west1Crie uma regra de encaminhamento e reserve um endereço IP para o balanceador de carga de aplicativo.
gcloud compute forwarding-rules create l7-ilb-forwarding-rule \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=lb-network \ --subnet=backend-subnet \ --subnet-region=us-west1 \ --ports=80 \ --region=us-west1 \ --target-http-proxy=l7-ilb-proxy \ --target-http-proxy-region=us-west1Configure um serviço de back-end de callout para a extensão de tráfego.
Para o servidor de extensão, use o exemplo de encaminhamento dinâmico no repositório do GitHub do Service Extensions.
Crie um arquivo YAML,
dynamic-ext.yaml, com o seguinte conteúdo:name: traffic-ext forwardingRules: - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule loadBalancingScheme: INTERNAL_MANAGED extensionChains: - name: "chain1" matchCondition: celExpression: 'request.host == "example.com"' extensions: - name: 'ext11' authority: ext11.com allowedDynamicForwarding: true service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/l7-ilb-callout-service failOpen: false timeout: 0.1s supportedEvents: - REQUEST_HEADERSSubstitua
PROJECT_IDpelo ID do projeto.Importe a extensão de tráfego para a regra de encaminhamento:
gcloud service-extensions lb-traffic-extensions import traffic-ext \ --source=dynamic-ext.yaml \ --region=us-west1
Com a extensão configurada, o tráfego é encaminhado com base na implementação do servidor da extensão.
A seguir
- Gerenciar extensões
- Confira exemplos de servidores
ext-procem Python e Go no repositório do GitHub do Service Extensions para callouts.