Mapear domínios personalizados usando um balanceador de carga de aplicativo externo global

Se quiser configurar um novo endpoint público para o serviço do Cloud Run, use o Cloud Load Balancing para adicionar um balanceador de carga de aplicativo externo global à frente do serviço do Cloud Run. O balanceador de carga de aplicativo externo global permite controlar a configuração do domínio personalizado, mas exige etapas de configuração se você ainda não tiver um certificado TLS ou usar um balanceador de carga de aplicativo externo global.

Usando as integrações do Cloud Run (pré-lançamento) descrito nesta página, é possível configurar rapidamente um novo mapeamento de domínio personalizado para seu serviço do Cloud Run usando um balanceador de carga de aplicativo externo global. Para usar um balanceador de carga de aplicativo externo global, consulte Como configurar um balanceador de carga de aplicativo externo global com o Cloud Run.

Antes de começar

  • Verifique se você tem o acesso necessário para fazer alterações no DNS do domínio que quer mapear para o serviço do Cloud Run.

  • Verifique se o serviço do Cloud Run com que você está integrando já está implantado.
  • Consulte a página de preços do balanceador de carga de aplicativo externo global. A cobrança é feita com base nos recursos individuais usados na integração.

Funções exigidas

Para usar as integrações do Cloud Run, você ou seu administrador precisa conceder papéis do IAM em dois principais diferentes.

Clique para conferir os papéis necessários da sua Conta do Google

Para receber as permissões necessárias para usar as integrações do Cloud Run, peça ao administrador para conceder à sua Conta do Google os seguintes papéis do IAM no projeto:

Clique para conferir os papéis necessários para a conta de serviço

Para implantar o serviço do Cloud Run, use a conta de serviço padrão do Compute Engine criada automaticamente ou especifique uma conta de serviço gerenciado pelo usuário. Essa conta de serviço precisa ter os seguintes papéis:

Mapear um domínio personalizado usando um balanceador de carga de aplicativo externo global

É possível mapear um domínio personalizado usando o console ou a linha de comando. Observe que pode levar até uma hora para o provisionamento do certificado SSL e para o domínio começar a rotear o tráfego HTTPS para o serviço do Cloud Run.

Console

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

    Acesse o Cloud Run

  2. Clique no serviço na lista de serviços que você quer usar na integração.

  3. Clique na guia Integrations.

  4. Clique em Adicionar integração.

  5. Clique em Domínios personalizados: Google Cloud Load Balancing.

    imagem

  6. Digite o domínio no campo Domínio.

  7. Insira o caminho do domínio que você está usando no campo Caminho.

  8. Digite o nome do serviço que você está mapeando para esse domínio personalizado no campo Serviço.

  9. Se você estiver mapeando outros domínios, clique em Adicionar item e repita as etapas anteriores para mapear o domínio para o serviço conforme necessário.

  10. Se for necessário ativar uma lista de APIs, clique em Ativar e aguarde a ativação das APIs.

  11. Em Recursos, observe os novos recursos que serão criados como resultado dessa integração.

  12. Clique em Enviar e aguarde a criação e a integração dos recursos:

    • Ao terminar, uma tabela será criada com os registros DNS que você precisa configurar. Use essa opção para atualizar seus registros DNS no provedor de DNS.
    • Depois que você atualizar o DNS no provedor de DNS, poderá levar até 45 minutos para provisionar o certificado SSL e começar a rotear o tráfego para o serviço.

Linha de comando

  1. Atualizar para a versão mais recente da Google Cloud CLI:

    gcloud components update
    
  2. Criar a integração:

    gcloud beta run integrations create \
    --type=custom-domains \
    --parameters='set-mapping=DOMAIN:SERVICE' \
    

    Substitua:

    • DOMAIN pelo seu domínio personalizado, por exemplo, example.com ou subdomain.example.com
      • Também pode conter o caminho, como example.com/subpath/*
    • SERVICE pelo nome do serviço do Cloud Run.

    Se quiser, inclua a flag --service-account=SERVICE_ACCOUNT_EMAIL.

    • Substitua SERVICE_ACCOUNT_EMAIL pelo endereço de e-mail da conta de serviço gerenciado pelo usuário (PROJECT_NUMBER-compute@developer.gserviceaccount.com) que é usado para implantar o serviço. Omita essa flag se quiser usar a conta de serviço padrão do Compute (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com).

      Para continuar usando a conta de serviço especificada ao implantar integrações do Cloud Run, execute:

      gcloud config set runapps/deployment-service-account
      
  3. Aguarde de 2 a 5 minutos. Durante esse tempo, um balanceador de carga totalmente configurado será criado. Quando o processo estiver concluído, a seguinte mensagem será exibida:

    [custom-domains] integration [custom-domains] has been created successfully.
    To complete the process, please ensure the following DNS records are configured for the domains:
    NAME    TTL   TYPE  DATA
    DOMAIN  3600  A     IP_ADDRESS
    It can take up to an hour for the SSL certificate to be provisioned.

    É possível verificar o status usando gcloud beta run integrations describe.

  4. Atualize os registros DNS no provedor de DNS com o valor IP_ADDRESS exibido. Depois que você atualizar o DNS no provedor de DNS, poderá levar até 45 minutos para provisionar o certificado SSL e começar a rotear o tráfego para o serviço.

Atualizar domínios personalizados com integrações do balanceador de carga

Atualizar uma integração atualizará todos os recursos do Google Cloud associados a ela. Para atualizar um domínio personalizado com a integração do balanceador de carga do serviço do Cloud Run:

Console

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

    Acesse o Cloud Run

  2. Clique no serviço que você quer atualizar.

  3. Clique na guia Integrations.

  4. Localize os domínios personalizados com a integração do balanceador de carga e clique em Editar.

  5. Quando terminar de atualizar os campos, clique em Atualizar.

Linha de comando

  1. Use o comando a seguir para ver uma lista de integrações disponíveis:

    gcloud beta run integrations list
  2. Use o comando para atualizar a integração:

    gcloud beta run integrations update INTEGRATION_NAME
    

    Substitua:

    • INTEGRATION_NAME pelo nome dos seus domínios personalizados com a integração do balanceador de carga.

    Se preferir, use as seguintes flags opcionais:

    Opção Descrição
    --parameters O domínio personalizado a ser definido para o serviço.
    --service-account O endereço de e-mail da conta de serviço gerenciado pelo usuário que será especificado ao atualizar o serviço. Essa conta de serviço substitui a conta de serviço anterior que foi usada na implantação.

Visualizar domínios personalizados com integrações do balanceador de carga

Para visualizar o status atual de domínios personalizados com integrações do balanceador de carga para o serviço do Cloud Run:

Console

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

    Acesse o Cloud Run

  2. Clique no serviço na lista de serviços que você quer usar na integração.

  3. Clique na guia Integrations.

  4. Localize os domínios personalizados com integração do balanceador de carga que você quer e clique em Visualizar detalhes.

Linha de comando

  1. Use o comando a seguir para ver uma lista de integrações disponíveis:

    gcloud beta run integrations list
  2. Usando um nome da lista retornada, exiba os detalhes:

    gcloud beta run integrations describe INTEGRATION_NAME

    Substitua INTEGRATION_NAME pelo nome dos seus domínios personalizados com a integração do balanceador de carga.

Excluir domínios personalizados com integrações do balanceador de carga

A exclusão de uma integração também exclui todos os recursos do Google Cloud associados a ela, mas não exclui o serviço do Cloud Run.

Para excluir um domínio personalizado com a integração do balanceador de carga do serviço do Cloud Run:

Console

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

    Acesse o Cloud Run

  2. Clique no serviço do qual você quer excluir uma integração.

  3. Clique na guia Integrations.

  4. Localize os domínios personalizados com a integração do balanceador de carga que você tem interesse e clique no ícone de reticências à direita da integração. Em seguida, clique em Excluir.

Linha de comando

  1. Use o comando a seguir para obter uma lista de integrações disponíveis:

    gcloud beta run integrations list
  2. Usando um nome da lista retornada, exclua a integração:

    gcloud beta run integrations delete INTEGRATION_NAME
    

    Substitua:

    • INTEGRATION_NAME pelo nome dos seus domínios personalizados com a integração do balanceador de carga.

    Se preferir, use as seguintes flags opcionais:

    Opção Descrição
    --service-account O endereço de e-mail da conta de serviço gerenciado pelo usuário para executar a operação de exclusão.

Limitações

As integrações do Cloud Run são compatíveis apenas com determinadas regiões. Se você precisar usar uma região não compatível com as integrações do Cloud Run, consulte Como configurar um balanceador de carga de aplicativo externo global com o Cloud Run.