Nesta página, descrevemos como criar e gerenciar instâncias singleton do Cloud Run endereçáveis individualmente. Ao contrário dos serviços do Cloud Run que são escalonados com base no tráfego de entrada, uma instância é um contêiner de computação dedicado que você gerencia manualmente usando transições de ciclo de vida (criar, parar, iniciar, atualizar, excluir).
Regiões compatíveis
As instâncias do Cloud Run podem ser criadas em qualquer uma das regiões compatíveis, exceto nas seguintes regiões:
europe-west1us-central1us-east1
Antes de começar
Configure um novo projeto para o Cloud Run, conforme descrito na página de configuração.
Ative a API Cloud Run Admin:
gcloud services enable run.googleapis.comAtualize os componentes
gcloudpara a versão mais recente:gcloud components update
Se você precisa seguir uma política da organização de restrição de domínio que restringe invocações não autenticadas para seu projeto, será necessário acessar o serviço implantado, conforme descrito em Como testar serviços particulares.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar instâncias do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Desenvolvedor do Cloud Run (
roles/run.developer) na instância do Cloud Run - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na identidade do serviço
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se a instância do Cloud Run interagir com APIsGoogle Cloud , como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Criar uma instância
É possível implantar uma imagem de contêiner para criar uma nova instância. Se você não fornecer um nome, um será gerado automaticamente.
gcloud
Para criar uma instância do Cloud Run usando o comando
gcloud beta run instances create:
gcloud beta run instances create INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
Para criar uma instância do Cloud Run usando o comando
gcloud beta run instances deploy:
gcloud beta run instances deploy INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
Substitua:
INSTANCE_NAME: o nome da instância que você está criando. O nome da instância precisa ser exclusivo no projeto e na região. Não é possível criar uma instância com o mesmo nome de uma instância ou serviço do Cloud Run.IMAGE_URL: uma referência à imagem de contêiner. Por exemplo,us-docker.pkg.dev/cloudrun/container/instances:latest.REGION: a região Google Cloud em que você está executando a instância, por exemploeurope-west1.
Bibliotecas de cliente
Para criar uma nova instância usando código:
API REST
Para criar uma instância do Cloud Run, envie uma solicitação HTTP POST para o endpoint instances.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "containers": [{ "image": "IMAGE_URL", "ports": [{"containerPort": PORT}] }], "ingress": "INGRESS_TRAFFIC_ALL", "invokerIamDisabled": true, "timeout": "3600s" }' \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances?instance_id=INSTANCE_NAME"
Substitua:
IMAGE_URL: o URL da imagem do contêiner.PORT: a porta em que o contêiner detecta.PROJECT_ID: o ID do projeto Google Cloud .REGION: a Google Cloud região da sua implantação.INSTANCE_NAME: o nome da nova instância.
Depois de criar uma instância, ela recebe um URL do Cloud Run com o seguinte formato:
https://INSTANCE_NAME-PROJECT_NUMBER.REGION.run.app
Atualizar uma instância
Quando você atualiza uma instância, como a imagem do contêiner, a porta ou as variáveis de ambiente, ela é reiniciada.
gcloud
Para atualizar uma instância do Cloud Run usando o
comando gcloud beta run instances update:
gcloud beta run instances update INSTANCE_NAME \ --image NEW_IMAGE_URL \ --region REGION
Para atualizar uma instância do Cloud Run usando o
comando gcloud beta run instances deploy:
gcloud beta run instances deploy INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
API REST
Para atualizar uma configuração de instância do Cloud Run na API, envie uma
solicitação HTTP PATCH para o endpoint do URI da instância.
curl -H "Content-Type: application/json" \ -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{template: {containers: [{image: "IMAGE_URL"}]}}' \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
Interromper uma instância
Use o comando ou método de interrupção para interromper uma instância do Cloud Run em execução.
gcloud
Para interromper uma instância:
gcloud beta run instances stop INSTANCE_NAME \ --region REGION
Bibliotecas de cliente
Para interromper uma instância em execução usando o código:
API REST
Para interromper uma instância, envie uma solicitação HTTP POST com o decorador :stop:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:stop"
Iniciar ou reiniciar uma instância
Use o comando ou método "start" para iniciar uma instância interrompida ou forçar uma reinicialização em uma instância atual.
gcloud
Para iniciar ou reiniciar uma instância:
gcloud beta run instances start INSTANCE_NAME \ --region REGION
Bibliotecas de cliente
Para iniciar uma instância interrompida usando o código:
API REST
Para iniciar uma instância, envie uma solicitação HTTP POST com o decorador :start:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:start"
Ver a lista de instâncias no projeto
É possível conferir todas as instâncias ativas e inativas no seu projeto.
gcloud
Para listar as instâncias em uma região específica:
gcloud beta run instances list \ --region REGION
Substitua REGION pela Google Cloud região
em que você está executando a instância.
Bibliotecas de cliente
Para listar instâncias ativas e inativas no código:
API REST
Para recuperar uma lista de instâncias, envie uma solicitação HTTP GET:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances"
Exibir detalhes da instância
Use o comando ou método "describe" para ver detalhes da configuração e o status atual.
gcloud
Para descrever uma instância:
gcloud beta run instances describe INSTANCE_NAME \ --region REGION
Bibliotecas de cliente
Para conferir os detalhes e o status da configuração da instância no código:
API REST
Para descrever uma instância, envie uma solicitação HTTP GET:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
Excluir uma instância
Exclua uma instância para remover permanentemente a configuração, os metadados, o mapeamento de URL direto público e as funções de identidade do seu projeto.
gcloud
Para excluir uma instância:
gcloud beta run instances delete INSTANCE_NAME \ --region REGION
Bibliotecas de cliente
Para excluir uma instância do código:
API REST
Para excluir uma instância, envie uma solicitação HTTP DELETE:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
A seguir
- Para conferir as transações de geração de registros das suas instâncias, consulte Geração e visualização de registros no Cloud Run.
- Configure sua instância do Cloud Run: