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:
- Desenvolvedor do Cloud Run (
roles/run.developer
) - Leitor do Compute (
roles/compute.viewer
) - Desenvolvedor de integrações sem servidor (
roles/runapps.developer
) - Operador de integrações sem servidor (
roles/runapps.operator
) - Usuário da conta de serviço (
roles/iam.serviceAccountUser
)
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:
- Desenvolvedor do Cloud Run (
roles/run.developer
) - Gravador de bucket de registros (
roles/logging.bucketWriter
) - Usuário da conta de serviço (
roles/iam.serviceAccountUser
) - Administrador do Storage (
roles/storage.admin
) - Administrador do Firebase (
roles/firebase.admin
)
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
No console do Google Cloud, acesse a página do Cloud Run.
Clique no serviço na lista de serviços que você quer usar na integração.
Clique na guia Integrations.
Clique em Adicionar integração.
Clique em Firebase Hosting.
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.
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.
Em Recursos, observe os novos recursos que serão criados como resultado dessa integração.
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.
gcloud
Atualizar para a versão mais recente da Google Cloud CLI:
gcloud components update
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
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
No console do Google Cloud, acesse a página do Cloud Run.
Clique no serviço que você quer atualizar.
Clique na guia Integrations.
Localize a integração do Firebase Hosting e clique em Editar.
Quando terminar de atualizar os campos, clique em Atualizar.
gcloud
Use o comando a seguir para ver uma lista de integrações disponíveis:
gcloud beta run integrations list
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
No console do Google Cloud, acesse a página do Cloud Run.
Clique no serviço na lista de serviços que você quer usar na integração.
Clique na guia Integrations.
Localize a integração do Firebase Hosting de seu interesse e clique em Ver detalhes.
gcloud
Use o comando a seguir para ver uma lista de integrações disponíveis:
gcloud beta run integrations list
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
No console do Google Cloud, acesse a página do Cloud Run.
Clique no serviço do qual você quer excluir uma integração.
Clique na guia Integrations.
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.
gcloud
Use o comando a seguir para ver uma lista de integrações disponíveis:
gcloud beta run integrations list
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.