Definir o número máximo de instâncias (serviços)

Nesta página, descrevemos como definir o número máximo de instâncias que podem ser usadas para o serviço do Cloud Run.

Especificar o máximo de instâncias no Cloud Run permite limitar o escalonamento do serviço em resposta a solicitações recebidas, embora essa configuração máxima possa ser excedida por um breve período devido a circunstâncias como picos de tráfego.

Use essa configuração como uma maneira de controlar custos ou de limitar o número de conexões com um serviço de apoio, como um banco de dados.

Para informações sobre os limites máximos de instâncias que podem ser aplicáveis ao seu serviço, consulte Limites máximos de instâncias.

Para mais informações sobre como o Cloud Run faz o escalonamento automático das instâncias de contêiner, consulte Escalonamento automático de instâncias.

Funções exigidas

Para receber as permissões necessárias para configurar e implantar os serviços do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:

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 o serviço do Cloud Run interage com as APIs do Google 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.

Definir e atualizar o número máximo de instâncias

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

Por padrão, os serviços do Cloud Run são configurados para escalonar no máximo para 100 instâncias.

É possível mudar a configuração de número máximo de instâncias usando o console do Google Cloud, a Google Cloud CLI ou um arquivo YAML ao criar um novo serviço ou implantar uma nova revisão.

Console

  1. No console do Google Cloud, acesse o Cloud Run:

    Acessar o Cloud Run

  2. Clique em Implantar contêiner e selecione Serviço para configurar um novo serviço. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar nova revisão.

  3. Ao configurar um novo serviço, preencha a página inicial de configurações de serviço conforme preferir e clique em Contêineres, volumes, redes e segurança para expandir essa página.

  4. Clique na guia Contêiner.

    imagem

    • No campo Número máximo de instâncias, especifique o número máximo desejado de instâncias, usando qualquer valor inteiro de 1 ao limite máximo
  5. Clique em Criar ou Implantar.

gcloud

É possível atualizar o número máximo de instâncias de um determinado serviço usando o seguinte comando:

gcloud run services update SERVICE --max-instances MAX-VALUE

Substituir

  • SERVICE pelo nome do serviço;
  • MAX-VALUE pelo número máximo de instâncias de contêiner que você quer, usando qualquer valor inteiro de 1 ao limite máximo. Especifique default para limpar qualquer configuração máxima de instância e restaurar o padrão de 100 instâncias.

Também é possível definir o número máximo de instâncias durante a implantação usando o comando:

gcloud run deploy --image IMAGE_URL --max-instances MAX-VALUE

Substituir

  • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
  • MAX-VALUE pelo número máximo de instâncias de contêiner que você quer.

YAML

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Atualize o atributo autoscaling.knative.dev/maxScale::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: 'MAX-INSTANCE'
          name: REVISION

    Substituir

    • SERVICE pelo nome do serviço do Cloud Run;
    • MAX-INSTANCE pelo número máximo necessário.
    • REVISION por um novo nome de revisão ou excluí-lo (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
      • Começa com SERVICE-
      • Contém apenas letras minúsculas, números e -
      • Não termina com um -
      • Não excede 63 caracteres
  3. Crie ou atualize o serviço usando o seguinte comando:

    gcloud run services replace service.yaml

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

O recurso google_cloud_run_v2_service a seguir especifica um número máximo de instâncias de 10 em template.scaling. Substitua 10 pelo número máximo necessário de instâncias.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-max-instances"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    scaling {
      # Max instances
      max_instance_count = 10
    }
  }
}

Ver configurações de instâncias máximas

Para ver as configurações atuais máximas de instâncias do serviço do Cloud Run, faça o seguinte:

Console

  1. No console do Google Cloud, acesse o Cloud Run:

    Acessar o Cloud Run

  2. Clique no serviço de seu interesse para abrir a página Detalhes do serviço.

  3. Clique na guia Revisões.

  4. No painel de detalhes à direita, o número máximo de configuração de instâncias está listado na guia Contêiner.

gcloud

  1. Use o comando a seguir:

    gcloud run services describe SERVICE
  2. Localize o número máximo de configuração de instâncias na configuração retornada.