Nesta página, descrevemos como configurar e gerenciar URLs personalizados, permitindo que você obtenha um URL fácil de digitar, memorável e disponível globalmente para seus serviços do Cloud Run em vez do URL determinístico padrão:
- Formato de URL personalizado:
https://CUSTOM_URL_DOMAIN.cloud.run - Formato padrão do URL:
https://SERVICE_NAME-PROJECT_NUMBER.REGION.run.app
Ao usar URLs personalizados, é possível compartilhar seus serviços sem configurar domínios personalizados, registros DNS ou balanceadores de carga externos.
Ao usar URLs personalizados para seus serviços do Cloud Run, você tem os seguintes benefícios:
- URLs simples: mapeie seu serviço para um formato
https://CUSTOM_URL_DOMAIN.cloud.runlimpo. - Disponibilidade global: os URLs personalizados podem ser acessados de qualquer lugar, assim como os URLs
.run.apppadrão. - Ciclo de vida flexível: anexe, desanexe ou mova um URL personalizado de forma flexível entre serviços sem implantar uma nova revisão.
- Vários mapeamentos: é possível mapear vários URLs personalizados para um único serviço.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Configure o ambiente de desenvolvimento do Cloud Run no seu projeto do Google Cloud .
- Instale e inicialize a CLI gcloud.
Funções exigidas
Para receber as permissões necessárias para gerenciar URLs personalizados, peça ao administrador que conceda a você os seguintes papéis do IAM:
-
Para criar, atualizar ou excluir mapeamentos de URL personalizados:
Administrador do Cloud Run (
roles/run.admin) no projeto
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Limitações
- Por padrão, é possível mapear até 50 domínios por projeto.
- O subdomínio do URL personalizado precisa ter entre 6 e 63 caracteres, seguir as convenções de nomenclatura DNS padrão que permitem caracteres alfanuméricos e hífens, e não pode começar nem terminar com um hífen.
- Alguns subdomínios são restritos.
- Não é possível desativar temporariamente um URL personalizado como um URL
.run.apppadrão. Para interromper a veiculação de tráfego, exclua o mapeamento. - Os serviços do Cloud Run que restringem a entrada ao tráfego interno ou interno e do Cloud Load Balancing não são compatíveis.
- O Terraform não é compatível com URLs personalizados. Para evitar possíveis mudanças
interrompidas, não use o recurso
domain_mappingde prévia. - Os URLs personalizados são totalmente independentes. Se você optar por
desativar o URL
.run.apppadrão de um serviço, seu mapeamento de URL personalizado vai permanecer totalmente ativo e acessível.
Anexar ou mapear um URL personalizado para um serviço
É possível anexar um URL personalizado a um novo serviço ao implantá-lo ou mapear um URL personalizado para um serviço atual usando o console Google Cloud ou o gcloud.
Anexar URLs personalizados a um novo serviço
Ao implantar um novo serviço do Cloud Run, é possível anexar um URL personalizado como parte da configuração de implantação.
No console do Google Cloud , acesse a página Serviços do Cloud Run.
Clique em Implantar contêiner.
Preencha os detalhes básicos da configuração do serviço.
Na seção URLs personalizados, clique em Adicionar um URL personalizado.
Insira um domínio de URL personalizado válido.
Opcional. Para adicionar vários URLs personalizados, clique em Adicionar um URL personalizado novamente.
Clique em Criar.
Mapear URLs personalizados para um serviço atual
É possível mapear um URL personalizado para um serviço do Cloud Run usando o consoleGoogle Cloud ou a CLI gcloud.
Console
No console do Google Cloud , acesse a página Mapeamentos de domínio.
Clique em Adicionar URL personalizado.
Na lista Serviço, selecione o serviço que você quer mapear.
Insira o domínio do seu URL personalizado.
Clique em Continuar.
Se quiser adicionar vários URLs personalizados, clique em Adicionar um URL personalizado de novo e siga as etapas anteriores.
gcloud
Para criar um mapeamento de domínio de URL personalizado para um serviço atual, execute o comando a seguir:
gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Substitua:
- SERVICE_NAME: o nome do serviço a que você está mapeando o URL personalizado.
- CUSTOM_URL_DOMAIN: o subdomínio que você quer anexar.
Opcional. Para mapear vários URLs personalizados usando a CLI gcloud, execute o comando de criação de mapeamento repetidamente para cada URL personalizado:
gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN_1.cloud.run gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN_2.cloud.run
Substitua:
- SERVICE_NAME: o nome do serviço que você está implantando.
- CUSTOM_URL_DOMAIN_1: o primeiro subdomínio a ser anexado.
- CUSTOM_URL_DOMAIN_2: o segundo subdomínio a ser anexado.
Se o subdomínio solicitado já estiver em uso por outro usuário ou serviço em Google Cloud, você vai receber um erro e precisará escolher um destino exclusivo.
Listar e visualizar URLs personalizados
É possível listar todos os URLs personalizados e ver detalhes de mapeamento do seu ambiente.
Console
No console Google Cloud , acesse a página Cloud Run.
Clique no nome do serviço.
Acesse a guia Rede.
Localize os URLs anexados na seção Domínios personalizados, em Endpoints.
gcloud
Para listar todos os URLs personalizados e mapeamentos de domínio em um projeto, execute o seguinte comando:
gcloud beta run domain-mappings list
Para conferir detalhes de um mapeamento de domínio de URL personalizado específico, execute:
gcloud beta run domain-mappings describe \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Substitua CUSTOM_URL_DOMAIN pelo subdomínio que você quer descrever.
Proteja com públicos-alvo personalizados
Você pode anexar um público-alvo personalizado ao URL personalizado para restringir o acesso.
gcloud beta run services update SERVICE_NAME \ --add-custom-audiences=CUSTOM_URL_DOMAIN.cloud.run
Substitua:
- SERVICE_NAME: o nome do serviço.
- CUSTOM_URL_DOMAIN: o subdomínio que funciona como seu público-alvo personalizado.
Excluir um URL personalizado
Você pode excluir um mapeamento de URL personalizado quando ele não for mais necessário.
Console
No console do Google Cloud , acesse a página Mapeamentos de domínio.
Marque a caixa de seleção ao lado do URL personalizado que você quer excluir.
Clique em Excluir.
gcloud
Para remover um mapeamento de domínio de URL personalizado de um serviço do Cloud Run, execute o seguinte comando:
gcloud beta run domain-mappings delete \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Substitua CUSTOM_URL_DOMAIN pelo subdomínio que você quer excluir.
Problemas conhecidos
Latência de propagação: pode levar alguns segundos após a criação de um URL personalizado para que ele esteja totalmente operacional. Acessar o URL imediatamente após a criação pode resultar em um erro de roteamento temporário.
Atualizar ou mover um URL personalizado: não há um comando de atualização direta para URLs personalizados. Para mover um URL personalizado anexado de um serviço para outro, siga um fluxo de exclusão e recriação.
Console
No console do Google Cloud , acesse a página Mapeamentos de domínio.
Marque a caixa de seleção ao lado do URL personalizado que você quer mover.
Clique em Excluir.
Clique em Adicionar URL personalizado.
Na lista Serviço, selecione o novo serviço de destino.
Insira o domínio exato do URL personalizado reivindicado anteriormente.
Clique em Criar para redirecionar o tráfego para o novo serviço.
gcloud
Exclua o mapeamento atual do serviço antigo:
gcloud beta run domain-mappings delete \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Substitua CUSTOM_URL_DOMAIN pelo subdomínio que você reivindicou anteriormente.
Recupere e mapeie o URL para o novo serviço:
gcloud beta run domain-mappings create \ --service=NEW_SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN.cloud.run
Substitua:
- NEW_SERVICE_NAME: o nome do serviço para onde você está movendo o URL personalizado.
- CUSTOM_URL_DOMAIN: o subdomínio que você quer anexar.
A seguir
- Saiba mais sobre Como mapear domínios personalizados.
- Saiba mais sobre como veicular recursos estáticos com o CDN.