Neste guia, você aprenderá a configurar os mapas de URL do Google Cloud. Antes de segui-lo, familiarize-se com os conceitos do mapa de URL.
Os mapas de URL são usados com estes produtos do Google Cloud:
O balanceamento de carga de HTTP(S) interno e o Traffic Director são compatíveis com casos de uso de gerenciamento de tráfego avançado. Veja mais informações em:
- Visão geral do gerenciamento de tráfego para balanceadores de carga HTTP(S) internos
- Visão geral do gerenciamento de tráfego do Traffic Director
Como configurar mapas de URL
É possível adicionar serviços de back-end e buckets de back-end a um mapa de URL.
Os buckets de back-end são compatíveis somente com balanceadores de carga HTTP(S) externos.
Como adicionar um mapa de URL
Console
Para adicionar um mapa de URLs usando o Console do Cloud, execute as etapas a seguir:
- Acesse a página Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Selecione Regras de host e caminho.
- Clique em Adicionar host e regra de caminho.
- Preencha o campo Host, o campo Caminhos ou ambos e selecione um serviço de back-end ou bucket de back-end.
- Procure a marca de seleção azul à esquerda de Regras de host e caminho e clique no botão Atualizar.
gcloud
Para adicionar um mapa de URL usando a ferramenta de linha de comando gcloud
, use
o comando url-maps create
:
gcloud compute url-maps create URL_MAP_NAME \ (--default-backend-bucket=DEFAULT_BACKEND_BUCKET | --default-service=DEFAULT_SERVICE) \ [--description DESCRIPTION] \ [--global | --region=REGION]
Para balanceadores de carga HTTP(S) internos, certifique-se de incluir a sinalização --region
ao criar o mapa de URL.
Um mapa de URL recém-criado corresponde apenas a um caminho, o padrão (/*
). Essa
correspondência de caminho padrão é criada automaticamente. Todo tráfego
que não coincide com uma correspondência de caminho ou regra de host criadas manualmente é enviado
para o serviço de back-end padrão do mapa de URL.
Como adicionar uma correspondência de caminho
Uma correspondência de caminho mapeia os caminhos de solicitação HTTP(S) ou os prefixos de caminho, por exemplo,
/video
, em serviços de back-end. Todo o tráfego
correspondente ao caminho especificado é processado pelas regras de caminho na correspondência de caminho. Se
um caminho corresponde a uma regra de caminho, a solicitação é encaminhada para os back-ends
associados a essa regra. Se uma solicitação corresponder às regras no path
da correspondência de
caminho, ela será encaminhada para o back-end padrão
dele.
Console
Para criar uma correspondência de caminho usando o Console do Cloud, execute as etapas a seguir:
- Se você ainda não estiver na tela Regras de host e caminho, acesse a página de Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Na tela Regras de host e caminho, clique em Adicionar regra de host e caminho ou clique em um campo de Caminhos atuais.
- Digite o caminho para configurar, por exemplo,
/video
. - Procure a marca de seleção azul à esquerda de Regras de host e caminho e clique no botão Atualizar.
gcloud
Para criar uma correspondência de caminho usando a ferramenta de linha de comando gcloud
, use o
comando
gcloud compute url-maps add-path-matcher
:
gcloud compute url-maps add-path-matcher URL_MAP_NAME \ --default-service BACKEND_SERVICE \ --path-matcher-name PATH_MATCHER \ [--path-rules="PATH=SERVICE"]
Esse comando requer um serviço de back-end padrão para o qual possa enviar solicitações sem correspondência. Se preferir, use a sinalização --path-rules
para definir mapeamentos
entre caminhos de solicitação e serviços de back-end. O exemplo a seguir roteia
os caminhos de solicitação /video/
e /video/*
para o
serviço de back-end video-service
:
--path-rules="/video=video-service,/video/*=video-service"
Os comandos url-maps create
e url-maps add-path-matcher
têm um
parâmetro --default-service
. Em create
, o serviço padrão é aquele
usado se nenhuma das correspondências de caminho coincidir com o URL de entrada. Em
add-path-matcher
, o serviço padrão é aquele usado se o caminho coincidir
com a correspondência de caminho, mas nenhuma das --path-rules
corresponder.
Como adicionar uma regra de host
Console
Para criar uma regra de host usando o Console do Cloud, execute as etapas as seguir:
- Se você ainda não estiver na tela Regras de host e caminho, acesse a página de Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Na tela Regras de host e caminho, clique em Adicionar regra de host e caminho ou em um dos campos de Hosts atuais.
- Insira um Nome de host totalmente qualificado, como
web.example.com
. - Procure a marca de seleção azul à esquerda de Regras de host e caminho e clique no botão Atualizar.
gcloud
Para criar uma regra de host usando a ferramenta de linha de comando gcloud
, use o
comando
gcloud compute url-maps add-host-rule
:
gcloud compute url-maps add-host-rule URL_MAP_NAME \ --hosts=HOSTS --path-matcher-name=PATH_MATCHER
A sinalização --hosts
define um conjunto de hosts para fazer a correspondência entre as solicitações. Por
exemplo, o valor --hosts
a seguir corresponderia às solicitações
www.example.com
e qualquer subdomínio de google.com
:
--hosts *.google.com,www.example.com
Como selecionar um serviço ou bucket de back-end
Console
Para selecionar um serviço ou bucket de back-end para um mapa de URL, execute as etapas a seguir:
- Se você ainda não estiver na tela Regras de host e caminho, acesse a página de Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Na tela Regras de host e caminho, no menu suspenso do campo Back-ends, selecione um serviço ou bucket de back-end disponível.
- Procure a marca de seleção azul à esquerda de Regras de host e caminho e clique no botão Atualizar.
gcloud
Para selecionar um serviço ou bucket de back-end usando a ferramenta de linha de comando gcloud
,
use o comando url-maps set-default-service
.
gcloud compute url-maps set-default-service URL_MAP_NAME (--default-backend-bucket=DEFAULT_BACKEND_BUCKET | --default-service=DEFAULT_SERVICE)[GCLOUD_WIDE_FLAG ...]
Como testar um mapa de URLs
É possível adicionar testes de configuração a um mapa de URL para garantir que seu mapa encaminhe as solicitações para os serviços ou buckets de back-end conforme esperado.
Quando você edita seu mapa de URL, os testes são executados. Se um teste falhar, uma mensagem de erro é exibida:
Error: Invalid value for field 'urlMap.tests': ''. Test failure: Expect URL 'HOST/PATH' to map to service 'EXPECTED_BACKEND_SERVICE', but actually mapped to 'ACTUAL_BACKEND_SERVICE'.
A adição de testes a mapas de URL é opcional.
Console
Para executar testes no Console do Cloud:
- Acesse a página Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Clique em Regras de host e caminho.
- Na tela Regras de host e caminho, clique em Mostrar testes de configuração.
- Clique em Adicionar teste de configuração. Adicione os seguintes URLs de teste e back-ends:
- URL de teste
example.com
e back-endwww-service.
- URL de teste
example.net
e back-endwww-service.
- URL de teste
example.net/web
e back-endwww-service.
- URL de teste
example.com/videos
e back-endvideo-service.
- URL de teste
example.com/videos/browse
e back-endvideo-service.
- URL de teste
example.net/static
e back-endstatic-service.
- URL de teste
example.net/static/images
e back-endstatic-service.
- URL de teste
- Procure a marca de seleção azul à esquerda de Regras de host e caminho e clique no botão Atualizar.
gcloud
Para adicionar testes ao seu mapa de URL usando a ferramenta de linha de comando gcloud
, use o
comando
gcloud compute url-maps edit
:
gcloud compute url-maps edit URL_MAP_NAME
Isso inicia um editor de texto. Para balanceadores de carga de HTTP(S) externos, seus testes precisam usar o formato a seguir:
tests:
- host: example.com
service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
- host: example.net
service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
- host: example.com
path: /videos
service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/video-service
- host: example.com
path: /videos/browse
service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/video-service
- host: example.net
path: /web
service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
- host: example.net
path: /static
service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/static-service
- host: example.net
path: /static/images
service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/static-service
Para balanceadores de carga HTTP(S) internos, os URLs de serviço precisam apontar para serviços de back-end regionais. Exemplo:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices//www-service
Se você não especificar um host em uma regra de host, os URLs de todos os hosts (example.com e example.net) poderão ser correspondentes. Se você tiver regras de host, precisará criar regras correspondentes a example.com e example.net.
Como listar mapas de URLs
Console
Não é possível listar todos os mapas de URL no Console do Cloud.
gcloud
Para exibir uma lista de mapas de URL usando a ferramenta de linha de comando gcloud
,
use o
comando url-maps list
.
gcloud compute url-maps list
Como conseguir informações sobre um mapa de URLs
Console
Para ver informações sobre um mapa de URLs, execute estas etapas:
- Acesse a página Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Veja as Regras de host e caminho.
gcloud
Para acessar informações sobre apenas um mapa de URL usando a ferramenta de linha de comando gcloud
,
use o comando
url-maps describe
.
gcloud compute url-maps describe URL_MAP_NAME
Como excluir um mapa de URLs
Só é possível excluir um mapa de URL depois de ter excluído todos os proxies de destino que se referem a ele. Saiba mais em Como excluir um proxy de destino.
Console
Para excluir um mapa de URLs, execute as seguintes etapas:
- Acesse a página Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Na tela Detalhes do balanceador de carga, veja as Regras de host e caminhos.
- Clique no "X", à direita de um mapa de URLs para excluí-lo. O mapa de URLs desaparecerá.
- Procure a marca de seleção azul à esquerda de Regras de host e caminho e clique no botão Atualizar.
gcloud
Para excluir um mapa de URL usando a ferramenta de linha de comando gcloud
, use o
comando url-maps delete
.
Antes de excluir um mapa de URLs, primeiro é preciso excluir todos os proxies HTTP de destino
que fizerem referência ao mapa de URL.
gcloud compute url-maps delete URL_MAP_NAME [--quiet]
Como excluir uma correspondência de caminho
Console
Para excluir uma correspondência de caminho, execute as seguintes etapas:
- Acesse a página Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Selecione Regras de host e caminho.
- No campo Caminhos, de um mapa de URLs, clique no “x” no nome da correspondência de caminho.
- Procure a marca de seleção azul à esquerda de Regras de host e caminho e clique no botão Atualizar.
gcloud
Para excluir uma correspondência de caminho, use o
comando
gcloud compute url-maps remove-path-matcher
:
gcloud compute url-maps remove-path-matcher URL_MAP_NAME \ [--path-matcher-name PATH_MATCHER]
Como excluir uma regra de host
Console
Para excluir uma regra de host, execute as seguintes etapas:
- Se você ainda não estiver na tela Regras de host e caminho, acesse a página de Balanceamento de carga.
- Clique no Nome de um balanceador de carga.
- Na tela Detalhes do balanceador de carga, clique em Editar no balanceador de carga selecionado.
- Selecione Regras de host e caminho.
- No campo Hosts de um mapa de URLs, clique no “x” no nome do host.
- Procure a marca de seleção azul à esquerda de Regras de host e caminho e clique no botão Atualizar.
gcloud
Para excluir uma regra de host do seu mapa de URL, use o
comando
gcloud compute url-maps remove-host-rule
:
gcloud compute url-maps remove-host-rule URL_MAP_NAME --host=HOST
Por exemplo, para remover uma regra de host que contém o host google.com
de
um mapa de URL denominado my-map
, execute o comando a seguir:
gcloud compute url-maps remove-host-rule my-map --host google.com
A seguir
- Saiba mais sobre como os mapas de URL funcionam em Visão geral dos mapas de URL.
- Saiba mais sobre como os mapas de URL funcionam no balanceamento de carga HTTP(S) externo em Visão geral do balanceamento de carga de HTTP(S) externo.
- Saiba mais sobre como os mapas de URL funcionam no balanceamento de carga de HTTP(S) interno em Visão geral do balanceamento de carga HTTP(S) interno.