Configurar um serviço do Cloud Run na Central de design de aplicativos

O Cloud Run é uma plataforma de aplicativos totalmente gerenciada que permite executar contêineres diretamente na infraestrutura escalonável do Google. Para mais informações, consulte a Visão geral do Cloud Run.

Este documento descreve as conexões e os parâmetros que podem ser configurados ao usar o App Design Center para criar um serviço do Cloud Run. Os parâmetros de configuração são baseados no módulo do Terraform terraform-google-cloud-run.

Conexões de componentes

A tabela a seguir inclui os componentes que podem ser conectados a um serviço do Cloud Run e as atualizações resultantes no aplicativo e no código Terraform gerado.

Componente conectado

Atualizações de aplicativos

Informações prévias

Secret Manager
  • O serviço do Cloud Run pode referenciar os dados do secret.
  • O campo Dados secretos do Secret Manager é referenciado pelo campo env_secret_vars do Cloud Run.
  • O papel roles/secretmanager.secretAccessor é adicionado à conta de serviço do Cloud Run.
Configurar secrets para serviços

Conta de serviço

  • O serviço do Cloud Run usa a conta de serviço como uma identidade de serviço.
  • O papel roles/run.invoker é adicionado à conta de serviço.
  • O e-mail da conta de serviço e as informações do IAM são adicionados às variáveis de ambiente do Cloud Run.
Como autenticar entre serviços
AlloyDB para PostgreSQL
  • O serviço do Cloud Run pode se conectar à instância do AlloyDB para PostgreSQL.
  • Os metadados de recursos do AlloyDB para PostgreSQL são adicionados às variáveis de ambiente do Cloud Run.
  • O papel roles/alloydb.admin do AlloyDB para PostgreSQL é adicionado à conta de serviço do Cloud Run.
Conectar a partir do Cloud Run
BigQuery
  • O serviço do Cloud Run pode interagir com o conjunto de dados do BigQuery.
  • Os metadados de recursos do BigQuery são adicionados às variáveis de ambiente do Cloud Run.
  • O papel roles/bigquery.dataEditor do BigQuery é adicionado à conta de serviço do Cloud Run.
Visão geral do BigQuery

Bigtable

  • O serviço do Cloud Run pode realizar funções administrativas na instância do Bigtable.
  • As informações de metadados do recurso do Bigtable são adicionadas às variáveis de ambiente do Cloud Run.
  • O papel roles/bigtable.admin é adicionado à conta de serviço do Cloud Run.
Visão geral do Bigtable

Outro serviço do Cloud Run

  • O serviço de origem do Cloud Run pode enviar tráfego para o serviço de destino do Cloud Run.
  • O serviço de origem do Cloud Run contém o URI do serviço de destino do Cloud Run nas variáveis de ambiente.
O que é o Cloud Run

Cloud SQL (MySQL)

  • O serviço do Cloud Run pode ler e gravar dados na instância do Cloud SQL (MySQL).
  • Os metadados de conexão do Cloud SQL são adicionados ao serviço do Cloud Run.
  • Os papéis roles/cloudsql.instanceUser e roles/cloudsql.client são adicionados à conta de serviço do Cloud Run.
  • A conta de serviço do Cloud Run é adicionada como um usuário do IAM à instância do Cloud SQL.
Conectar a partir do Cloud Run

Cloud SQL (PostgreSQL)

  • O serviço do Cloud Run pode ler e gravar dados na instância do Cloud SQL (PostgreSQL).
  • Os metadados de conexão do Cloud SQL são adicionados ao serviço do Cloud Run.
  • Os papéis roles/cloudsql.instanceUser e roles/cloudsql.client são adicionados à conta de serviço do Cloud Run.
  • A conta de serviço do Cloud Run é adicionada como um usuário do IAM à instância do Cloud SQL.
Conectar a partir do Cloud Run

Cloud Storage

  • O serviço do Cloud Run pode gerenciar objetos no bucket do Cloud Storage.
  • As informações do IAM da conta de serviço do Cloud Run são adicionadas ao bucket do Cloud Storage.
  • O papel roles/storage.objectAdmin é atribuído à conta de serviço do Cloud Run.
Conectar-se aos serviços Google Cloud

Back-end do Cloud Load Balancing global

  • O balanceador de carga pode distribuir o tráfego de entrada para o serviço do Cloud Run.
  • O serviço do Cloud Run é adicionado como um endpoint de back-end na configuração de back-ends de NEG sem servidor do Cloud Load Balancing.
Configurar um balanceador de carga de aplicativo externo global com o Cloud Run

Memorystore para Redis

  • O serviço do Cloud Run pode armazenar dados em cache na instância do Memorystore para Redis.
  • As informações de conexão do Memorystore para Redis são adicionadas às variáveis de ambiente do Cloud Run.
  • O papel roles/redis.editor é adicionado à conta de serviço do Cloud Run.
Como se conectar a uma instância do Redis a partir de um serviço do Cloud Run

Pub/Sub

  • O serviço do Cloud Run pode receber mensagens ou publicar no tópico do Pub/Sub.
  • O ID do tópico do Pub/Sub é adicionado às variáveis de ambiente do Cloud Run.
  • Os papéis roles/pubsub.publisher e roles/pubsub.subscriber são adicionados à conta de serviço do Cloud Run.
  • O serviço do Cloud Run é adicionado aos campos de assinatura push e por pull do Pub/Sub.
Tutorial Usar o Pub/Sub com o Cloud Run

Backend regional do Cloud Load Balancing

  • O balanceador de carga pode distribuir o tráfego de entrada para o serviço do Cloud Run.
  • O serviço do Cloud Run é adicionado como um endpoint de back-end na configuração de back-ends de NEG sem servidor do Cloud Load Balancing.
Configurar um balanceador de carga de aplicativo externo regional com o Cloud Run

Front-end regional do Cloud Load Balancing

  • Os endereços IP HTTP e HTTPS do balanceador de carga estão disponíveis para o aplicativo em execução no contêiner do Cloud Run.
  • Os metadados de endereço do Cloud Load Balancing são adicionados às variáveis de ambiente do Cloud Run.
Visão geral das regras de encaminhamento

Spanner

  • O serviço do Cloud Run pode gerenciar a instância do Spanner.
  • Os detalhes da conexão do Spanner são adicionados às variáveis de ambiente do Cloud Run.
  • O papel roles/spanner.databaseAdmin é adicionado à conta de serviço do Cloud Run.
  • As informações do IAM da conta de serviço do Cloud Run são adicionadas à instância do Spanner.
Conectar-se aos serviços Google Cloud

Vertex AI

  • O serviço do Cloud Run pode interagir com os serviços da Vertex AI.
  • O papel roles/aiplatform.user é adicionado à conta de serviço do Cloud Run.
Hospedar apps e agentes de IA no Cloud Run

Parâmetros de configuração obrigatórios

Se o modelo incluir um componente do Cloud Run, configure os parâmetros a seguir antes de fazer a implantação.

Nome do parâmetro

Descrição e restrições

Informações prévias

ID do projeto

O projeto em que você quer implantar o recurso do Cloud Run.

Configurar componentes

Região

O local de implantação do serviço do Cloud Run.

Locais do Cloud Run

Nome do serviço

name Serviço do Cloud Run

Parâmetros de configuração opcionais

Os seguintes parâmetros são opcionais. Para mostrar parâmetros avançados, na área Configuração, selecione Mostrar campos avançados.

Recurso

Subrecurso

Nome do parâmetro

Descrição e informações de restrição

Informações prévias

Contêineres

Nome do contêiner

name Como criar contêineres

Imagem do contêiner

imagem Como implantar imagens de contêiner no Cloud Run

Diretório de trabalho

O diretório de trabalho do contêiner. Se não for especificado, o padrão do tempo de execução do contêiner será usado, o que pode ser configurado na imagem do contêiner.

workingDir

Depende do contêiner

dependsOn[] Configurar ordem de inicialização do contêiner para implantações sidecar

Argumentos de contêiner

args[] Configurar contêineres para serviços

Comando do contêiner

comando Configurar contêineres para serviços
Variáveis de ambiente

Key

name Variáveis de ambiente para serviços

Valor

value Variáveis de ambiente para serviços
Variáveis secretas de ambiente

Key

EnvVarSource Gerenciar secrets

Secret

secret Gerenciar secrets

Versão

version Gerenciar secrets
Montagens de volumes

Nome

name Conectar a partir do Cloud Run

Caminho de montagem

mountPath Conectar a partir do Cloud Run
Portas

Nome

name Usar HTTP/2 para serviços

Porta do contêiner

containerPort Usar HTTP/2 para serviços
Recursos

CPU

limits Configurar limites de CPU para serviços

Memória

limits Configurar limites de memória para serviços

CPU inativa

Se a CPU é alocada somente durante as solicitações.

cpuIdle

Otimização da CPU na inicialização

startupCPUBoost Definir a otimização da CPU de inicialização
Sondagem de inicialização

Limite de falha

failureThreshold Configurar verificações de integridade do contêiner para serviços

Segundos de atraso inicial

initialDelaySeconds Configurar sondagens

Segundos de tempo limite

timeoutSeconds Configurar sondagens

Segundos do período

periodSeconds Configurar sondagens

Caminho GET HTTP

path Configurar sondagens

Porta HTTP Get

port Configurar sondagens

Nome dos cabeçalhos HTTP

name Configurar sondagens

Valor dos cabeçalhos HTTP

value Configurar sondagens

Porta de soquete TCP

port A sondagem de inicialização TCP padrão

Porta GRPC

port Configurar sondagens

Serviço GRPC

serviço Configurar sondagens

Sondagem de atividade

livenessProbe Casos de uso

Descrição

description Definir descrições de serviços

Criar uma conta de serviço

Crie uma conta de serviço para o serviço do Cloud Run.

Configurar a identidade do serviço para jobs

Papéis do projeto da conta de serviço

Papéis a serem concedidos à conta de serviço recém-criada. Ative a opção Criar conta de serviço e não forneça entrada para Conta de serviço.

Configurar a identidade do serviço para jobs

Entrada

IngressTraffic Restringir a entrada de rede para o Cloud Run

Participantes

Usuários e contas de serviço que podem invocar o serviço. Para acesso público, insira allUsers. Para acesso por usuários conectados do Google, insira allAuthenticatedUsers ou uma lista de usuários e contas de serviço específicos. Para mais informações, consulte members.

Configurar a identidade do serviço para jobs

Acesso à nuvem privada virtual

Conector

connector VPC com conectores

Saída egress Controlar o tráfego do serviço de saída

Interfaces de rede

Rede rede Implantar um serviço
Sub-rede subnetwork Implantar um serviço
Tags tags Implantar um serviço

Proteção contra exclusão do Cloud Run

Impede que o Terraform destrua ou recrie jobs e serviços do Cloud Run.

deletion_protection

Ativar o arquivo secundário do Prometheus

Ative o arquivo secundário do Prometheus na instância do Cloud Run.

Escrever métricas do Prometheus usando o arquivo secundário do Prometheus

Volumes

Nome

name Configurar um volume na memória
Secret Secret secret Tornar um secret acessível ao Cloud Run
Modo padrão defaultMode
Caminho path Disponibilizar um secret para o Cloud Run
Versão version Disponibilizar um secret para o Cloud Run
Moda mode Disponibilizar um secret para o Cloud Run
Instância do Cloud SQL Instâncias instances[] Conectar a partir do Cloud Run
Diretório vazio Meio medium Configurar montagens de volumes na memória para serviços
Limite de tamanho sizeLimit Configurar montagens de volumes na memória para serviços
GCS Bucket bucket Configurar montagens de volumes do Cloud Storage para serviços
Somente leitura readOnly Configurar montagens de volumes do Cloud Storage para serviços
NFS Servidor server Configurar montagens de volumes NFS para serviços
Caminho path Configurar montagens de volumes NFS para serviços
Somente leitura readOnly Configurar montagens de volumes NFS para serviços

Escalonamento de serviços

Contagem mínima de instâncias

minInstanceCount Definir instâncias mínimas para serviços

Revisão

revisão Revisões de serviço do Cloud Run

Escalonamento de modelos

Contagem mínima de instâncias

minInstanceCount Definir instâncias mínimas para serviços
Número máximo de instâncias maxInstanceCount Sobre o número máximo de instâncias

Chave de criptografia

encryptionKey Como usar chaves de criptografia gerenciadas pelo cliente

Simultaneidade máxima de solicitações de instância

maxInstanceRequestConcurrency Máximo de solicitações simultâneas para serviços

Afinidade da sessão

sessionAffinity Definir a afinidade da sessão para serviços

Ambiente de execução

executionEnvironment Sobre ambientes de execução de serviços

Tráfego

Tipo

type Reversões, lançamentos graduais e migração de tráfego
Percent percent Reversões, lançamentos graduais e migração de tráfego
Revisão revisão Reversões, lançamentos graduais e migração de tráfego
Tag tag Reversões, lançamentos graduais e migração de tráfego

Marcadores de serviço

Key

labels Configurar rótulos para serviços
Valor labels Configurar rótulos para serviços

Anotações de serviço

Key

anotações anotações
Valor anotações anotações

Cliente

Nome

Identificador arbitrário para o cliente da API.

cliente
Versão

Identificador arbitrário do identificador de versão.

clientVersion

Etapa de lançamento

LaunchStage Etapas de lançamento de produtos

Públicos-alvo personalizados

customAudience Definir públicos-alvo personalizados para serviços

Autorização binária

Justificativa da implantação forçada

breakglassJustification Usar a implantação forçada
Usar padrão useDefault Usar a autorização binária

Rótulos de modelo

Key

labels Configurar rótulos para serviços
Valor labels Configurar rótulos para serviços

Anotações de modelo

Key

anotações anotações
Valor anotações anotações

Tempo limite

timeout Definir o tempo limite da solicitação para serviços

Conta de serviço

serviceAccount Configurar a identidade dos serviços