Criar URLs personalizados

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.run limpo.
  • Disponibilidade global: os URLs personalizados podem ser acessados de qualquer lugar, assim como os URLs .run.app padrã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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Configure o ambiente de desenvolvimento do Cloud Run no seu projeto do Google Cloud .
  7. 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 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.app padrã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_mapping de prévia.
  • Os URLs personalizados são totalmente independentes. Se você optar por desativar o URL .run.app padrã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.

  1. No console do Google Cloud , acesse a página Serviços do Cloud Run.

    Acessar o Cloud Run

  2. Clique em Implantar contêiner.

  3. Preencha os detalhes básicos da configuração do serviço.

  4. Na seção URLs personalizados, clique em Adicionar um URL personalizado.

  5. Insira um domínio de URL personalizado válido.

  6. Opcional. Para adicionar vários URLs personalizados, clique em Adicionar um URL personalizado novamente.

  7. 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

  1. No console do Google Cloud , acesse a página Mapeamentos de domínio.

    Acessar Mapeamentos de domínio

  2. Clique em Adicionar URL personalizado.

  3. Na lista Serviço, selecione o serviço que você quer mapear.

  4. Insira o domínio do seu URL personalizado.

  5. 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

  1. No console Google Cloud , acesse a página Cloud Run.

    Acessar o Cloud Run

  2. Clique no nome do serviço.

  3. Acesse a guia Rede.

  4. 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

  1. No console do Google Cloud , acesse a página Mapeamentos de domínio.

    Acessar Mapeamentos de domínio

  2. Marque a caixa de seleção ao lado do URL personalizado que você quer excluir.

  3. 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

    1. No console do Google Cloud , acesse a página Mapeamentos de domínio.

      Acessar Mapeamentos de domínio

    2. Marque a caixa de seleção ao lado do URL personalizado que você quer mover.

    3. Clique em Excluir.

    4. Clique em Adicionar URL personalizado.

    5. Na lista Serviço, selecione o novo serviço de destino.

    6. Insira o domínio exato do URL personalizado reivindicado anteriormente.

    7. Clique em Criar para redirecionar o tráfego para o novo serviço.

    gcloud

    1. 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.

    2. 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