Neste exemplo, demonstramos como reescrever o caminho especificado em uma solicitação de um balanceador de carga de aplicativo clássico.
Para configurar o gerenciamento de tráfego para balanceadores de carga de aplicativos externos e globais, consulte as seguintes páginas:
- Como configurar o gerenciamento de tráfego para o balanceador de carga de aplicativo externo global
 - Como configurar o gerenciamento de tráfego para balanceador de carga de aplicativo externo regional
 
Antes de começar
Leia sobre substituições de URL.
Leia especificamente sobre mapas de URL em geral e correspondência de caminho.
O exemplo de regravação de URL pressupõe que você já tenha criado o balanceador de carga de aplicativo externo seguindo as etapas descritas em Como configurar um balanceador de carga com buckets do Cloud Storage.
Esse exemplo mostra a criação de dois recursos:
http://IP_ADDRESS/never-fetch/three-cats.jpghttp://IP_ADDRESS/love-to-fetch/two-dogs.jpg
Em que
/never-fetch/three-cats.jpgestá armazenado em/cats, que é o serviço padrão, e/love-to-fetch/two-dogs.jpgestá armazenado em/dogs.Neste ponto, o mapa de URL fica assim:
gcloud compute url-maps describe http-lb
creationTimestamp: '2020-10-13T11:18:10.561-07:00' defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats fingerprint: MKfYsObzqgw= hostRules: - hosts: - '*' pathMatcher: path-matcher-1 id: '1420501688756228493' kind: compute#urlMap name: test-bucket pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats name: path-matcher-1 pathRules: - paths: - /love-to-fetch/* service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/http-lb
Como modificar o mapa de URL
Neste exemplo, você regrava o URL /love-to-fetch/ para que os usuários possam acessar a
imagem two-dogs.jpg com este URL simplificado:
http://IP_ADDRESS/two-dogs.jpg
Para fazer isso, modifique o mapa de URL do balanceador de carga da seguinte maneira:
Console
Editar o balanceador de carga
- Acesse a página "Balanceamento de carga" no Google Cloud console. 
Acessar a página "Balanceamento de carga" - Clique em 
http-lb. - Clique em Editar .
 - Mantenha a janela aberta para continuar.
 
Alterar as regras de host e caminho
- Na coluna à esquerda da tela, clique em Regras de host e de caminho.
 - Selecione Regra avançada de host e caminho (redirecionar URL, reescrever URL).
 - Clique na linha que contém a regra de caminho não padrão. Neste caso, a
linha que tem um asterisco (
*) para todos os hosts. - Clique no ícone de lápis  na linha
/love-to-fetch/* Route traffic to a single backend: dogs. - Em Caminhos, exclua 
/love-to-fetch/*e adicione/*. - Em Ação, selecione Encaminhar o tráfego para um back-end único.
 - Clique em Ação de complemento (regravação de URL).
 - Deixe a opção Reescrever o host em branco.
 - Em regravar prefixo do caminho, digite 
/love-to-fetch/. - Em Back-end, selecione 
dogs. - Clique em Salvar.
 Clique em Concluído. A nova regra de host e caminho é a seguinte:
Caminhos Ação Back-end Todos sem correspondência (padrão) Encaminhar o tráfego para um back-end único gatos /* Encaminhar o tráfego para um back-end único cães Se tudo parecer certo, clique em Atualizar para atualizar o balanceador de carga HTTP.
gcloud
Crie um arquivo YAML
/tmp/http-lb.yaml, certificando-se de substituir PROJECT_ID pelo ID do projeto.Quando um usuário solicita o caminho
/*, ele é reescrito no back-end para o local real do conteúdo, que é/love-to-fetch/*.defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats hostRules: - hosts: - '*' pathMatcher: path-matcher-1 name: http-lb pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats name: path-matcher-1 pathRules: - paths: - /* routeAction: urlRewrite: pathPrefixRewrite: /love-to-fetch/ service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs tests: - description: Test routing to backend bucket, dogs host: example.com path: /love-to-fetch/test service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogsValidar o mapa de URL.
gcloud compute url-maps validate --source /tmp/http-lb.yaml
Se os testes forem aprovados e o comando resultar em uma mensagem de êxito, salve as alterações no mapa de URL.
Atualize o mapa de URL.
gcloud compute url-maps import http-lb \ --source /tmp/http-lb.yaml \ --global
Teste
Anote o endereço IPv4 que foi reservado:
gcloud compute addresses describe example-ip \
    --format="get(address)" \
    --global
Depois de esperar vários minutos até que as alterações se propaguem, teste essa configuração.
Na linha de comando, execute o seguinte comando curl:
curl http://IP_ADDRESS/two-dogs.jpg
Em um navegador, abra http://IP_ADDRESS/two-dogs.jpg.