Conectar o Cloud Run ao Firebase Hosting para domínios personalizados e CDN

Para configurar um novo endpoint público para o serviço do Cloud Run, use o Firebase Hosting na frente do serviço do Cloud Run. Com o Firebase Hosting, você tem acesso a uma CDN global e pode configurar domínios personalizados gratuitos para seu serviço. O Firebase Hosting permite direcionar solicitações de hospedagem para o serviço do Cloud Run, mas pode exigir tempo para integração se você não estiver familiarizado com o uso do Firebase Hosting.

Ao usar as integrações do Cloud Run (pré-lançamento) descrito nesta página, é possível expor rapidamente seu serviço do Cloud Run usando um novo site do Firebase Hosting sem precisar configurar o Firebase Hosting. Para usar um site existente, consulte Exibir conteúdo dinâmico e hospedar microsserviços com o Cloud Run.

Antes de começar

  • Verifique se o serviço do Cloud Run com que você está integrando já está implantado.
  • Consulte a página de preços do Firebase Hosting. 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:

Conectar o serviço do Cloud Run a um site do Firebase Hosting

Você pode se conectar a um site do Firebase Hosting usando o console ou a linha de comando.

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

    imagem

  6. Insira um código de site no campo Subdomínio (ID de site). Seu serviço será hospedado em site_ID.web.app após a criação.

  7. Se for necessário ativar uma lista de APIs, clique em Ativar e aguarde a ativação das APIs. A API Firebase Hosting está em conformidade com os Termos de Serviço do Firebase.

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

  9. Clique em Enviar e aguarde a criação da integração e dos recursos.

    • Quando concluído, os URLs públicos do site são exibidos.
    • Você também pode clicar no link fornecido para ir diretamente ao Console do Firebase.

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=firebase-hosting \
    --service=SERVICE \
    --parameters='site-id=SITE_ID'
    

    Substitua:

    • SITE_ID pelo ID do site do Firebase Hosting que você quer criar e usar. Ele aparece como o subdomínio do URL do Firebase "SITE_ID.web.app"
    • SERVICE pelo nome do serviço do Cloud Run que você está usando.

    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 cerca de um ou dois minutos enquanto o site do Firebase Hosting é criado. Quando o processo estiver concluído, a seguinte mensagem será exibida:

    [firebase-hosting] integration [firebase-hosting-1] has been created successfully.
    

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

Atualizar integrações do Firebase Hosting

Atualizar uma integração atualiza todos os recursos do Google Cloud associados a ela. Para atualizar uma integração do Firebase Hosting 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 a integração do Firebase Hosting 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 da integração do Firebase Hosting.

    Se preferir, use as seguintes flags opcionais:

    Opção Descrição
    --parameters O ID do site que será usado para substituir o serviço do Cloud Run.
    --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.

Ver integrações do Firebase Hosting

Para ver o status atual das integrações do Firebase Hosting para seu 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 a integração do Firebase Hosting de seu interesse e clique em Ver 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 da integração do Firebase Hosting.

Excluir integrações do Firebase Hosting

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 uma integração do Firebase Hosting 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 a integração do Firebase Hosting do seu interesse e clique no ícone de reticências à direita da integração e, em seguida, 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 da integração do Firebase Hosting.

    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 Exibir conteúdo dinâmico e hospedar microsserviços com o Cloud Run.