É possível ativar seu job ou serviço do Cloud Run para que envie tráfego a uma rede VPC compartilhada usando a saída de VPC direta sem precisar de um conector de acesso VPC sem servidor.
Nesta página, descrevemos como configurar as permissões do IAM do Cloud Run para usar a sub-rede da rede VPC compartilhada e, em seguida, colocar o serviço ou job na sub-rede compartilhada.
Antes de começar
Ao usar a saída direta de VPC, verifique se a sub-rede tem pelo menos algumas centenas de endereços IP disponíveis. Se o número total de instâncias em todos os serviços do Cloud Run aumentar além de 100, recomendamos ter pelo menos quatro vezes o número total disponível.
Limitações
As seguintes limitações se aplicam aos serviços e jobs do Cloud Run:
- O Cloud Run dá suporte à capacidade de processamento de até 1 Gbps por instância individual. Exceder esse valor resulta na limitação do desempenho.
Uma cota de uso do Cloud Run limita o número máximo de instâncias que podem ser configuradas para usar a saída da VPC direta. O número máximo é configurado por revisão do Cloud Run ou execução de job. Para aumentar os limites padrão, veja como aumentar as cotas. Verifique sua cota usando o console do Google Cloud.
- Os serviços e jobs do Cloud Run podem sofrer interrupções na conexão durante eventos de manutenção da infraestrutura de rede. Recomendamos que você use bibliotecas de cliente capazes de processar redefinições de conexão ocasionais.
- A saída direta de VPC para jobs do Cloud Run está disponível apenas em pré-lançamento.
- Para garantir execuções de job adequadas, use a saída de VPC direta apenas para jobs que não exijam mais de oito instâncias simultâneas e reserve um mínimo de 1.024 endereços IP.
Os seguintes itens não são compatíveis com a saída de VPC direta:
- Os registros de fluxo de VPC não fornecem o nome do serviço ou da revisão do Cloud Run.
- Os registros de fluxo de VPC não são informados por recursos que não são de VM, como o Cloud Run ou máquinas locais.
- Geração de registros de regras de firewall
- Espelhamento de pacotes
- Network Intelligence Center
- Tráfego IPv6
- Usar tags de rede em regras de firewall de entrada aplicadas ao recurso de destino.
- Usar identidade do serviço como a conta de serviço de origem nas regras de firewall de entrada aplicadas ao recurso de destino.
- As regras de firewall não podem usar tags do Resource Manager anexadas a cargas de trabalho do Cloud Run.
- Os jobs do Cloud Run executados por mais de uma hora podem apresentar
falhas na conexão. Eles podem ocorrer durante
eventos de manutenção
que migram o job de uma máquina para outra. O contêiner recebe um
sinal
SIGTSTP
10 segundos antes do evento e um sinalSIGCONT
após o evento. Depois que o contêiner receber o sinalSIGCONT
, tente se conectar novamente.
Configurar permissões do IAM
Antes que o Cloud Run em um projeto de serviço de VPC compartilhada possa acessar uma rede VPC compartilhada, primeiro verifique se o agente de serviço do Cloud Run tem permissões suficientes para usar a sub-rede.
Para acessar a rede VPC compartilhada, conceda permissões suficientes ao agente de serviço do Cloud Run adicionando um dos seguintes papéis:
Usuário da rede do Compute (
compute.networkUser
) no projeto host da VPC compartilhada.Por exemplo, execute o seguinte comando:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \ --role "roles/compute.networkUser"
Substitua:
- HOST_PROJECT_ID: o ID do seu projeto host da VPC compartilhada;
- SERVICE_PROJECT_NUMBER: o número do projeto de serviço da VPC compartilhada em que você implanta o serviço ou job do Cloud Run.
Leitor da rede do Compute (
compute.networkViewer
) no projeto host da VPC compartilhada e o papel Usuário da rede do Compute (compute.networkUser
) na sub-rede da VPC compartilhada.Por exemplo, para conceder o papel "Leitor da rede do Compute" na sub-rede, execute o seguinte comando:
gcloud compute networks subnets add-iam-policy-binding SUBNET_NAME \ --region REGION \ --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \ --role "roles/compute.networkUser" \ --project HOST_PROJECT_ID
Substitua:
- SUBNET_NAME: o nome de recurso totalmente qualificado da sub-rede em que você quer executar os serviços do Cloud Run.
- REGION: a região do serviço do Cloud Run, que precisa corresponder à região da sua sub-rede;
- SERVICE_PROJECT_NUMBER: o número do projeto de serviço da VPC compartilhada em que você implanta o serviço ou job do Cloud Run;
- HOST_PROJECT_ID: o ID do seu projeto host da VPC compartilhada;
O agente de serviço do Cloud Run requer o papel Agente de serviço do Cloud Run no projeto do Cloud Run. É possível verificar se o papel não foi removido manualmente executando o seguinte comando:
gcloud projects get-iam-policy SERVICE_PROJECT_ID \ --flatten bindings \ --filter "bindings.role:roles/run.serviceAgent"
Substitua SERVICE_PROJECT_ID pelo ID do projeto do serviço ou job do Cloud Run.
Para um controle mais granular, verifique se o agente de serviço do Cloud Run tem as seguintes permissões:
compute.networks.get
no projeto host da VPC compartilhadacompute.subnetworks.get
no projeto host ou na sub-rede específicacompute.subnetworks.use
no projeto host ou na sub-rede específicacompute.addresses.get
no projeto de serviço da VPC compartilhadacompute.addresses.list
no projeto de serviço da VPC compartilhadacompute.addresses.createInternal
no projeto de serviço da VPC compartilhadacompute.addresses.deleteInternal
no projeto de serviço da VPC compartilhada
Alocação de endereço IP
Para colocar o serviço ou o job do Cloud Run em uma rede VPC, especifique uma rede e uma sub-rede. O Cloud Run aloca endereços IP da sub-rede.
Os endereços IP são temporários. Portanto, não crie políticas com base em IPs individuais. Se você precisar criar uma política com base em IPs, como em regras de firewall, use o intervalo de endereços IP de toda a sub-rede.
Para alterar a rede ou sub-rede que o serviço ou job usa, implante uma nova revisão de serviço ou execute uma nova tarefa de job que use os novos valores de rede e sub-rede.
Escalonar verticalmente
Para permitir o escalonamento vertical rápido em caso de aumento do tráfego, o Cloud Run aloca endereços IP antes que eles sejam necessários.
A qualquer momento, provavelmente há mais endereços IP alocados do que o número de instâncias atuais. Para garantir que o Cloud Run consiga endereços IP suficientes, verifique se a sub-rede tem pelo menos algumas centenas de endereços IP disponíveis. Se o número total de instâncias da sub-rede em todos os serviços e jobs do Cloud Run aumentar além de 100, recomendamos ter pelo menos quatro vezes (4 vezes) o número total disponível. Se o Cloud Run não puder alocar mais endereços IP, ele não poderá iniciar mais instâncias de serviço ou tarefas de job até que mais endereços IP fiquem disponíveis. Se o espaço de endereços IP for limitado, consulte Intervalos de IP compatíveis para mais opções. Para aumentar a eficiência da alocação de IP e facilitar o gerenciamento, coloque vários serviços ou jobs na mesma sub-rede.
Diminuir a escala
Mesmo depois que todos os serviços ou jobs são reduzidos a zero, o Cloud Run reserva alguns endereços IP da sub-rede por até 20 minutos caso os serviços ou jobs precisem ser escalonados novamente de forma rápida. Cada instância requer um endereço IP, mas o Cloud Run reserva uma máscara de sub-rede /28
mínima no início.
Quando você esgotar as 16 instâncias, o Cloud Run criará uma nova sub-rede.
Para excluir a sub-rede, é preciso primeiro excluir ou reimplantar os serviços ou jobs do Cloud Run para interromper o uso da sub-rede e aguardar de uma a duas horas.
Intervalos de IP compatíveis
O Cloud Run é compatível com os seguintes intervalos IPv4 para a sub-rede:
- RFC 1918 (recomendado)
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
- RFC 6598
100.64.0.0/10
- Classe E (não recomendada com configurações locais)
240.0.0.0/4
Implantar um serviço
A saída de VPC direta permite que seu serviço do Cloud Run envie tráfego a uma rede VPC compartilhada sem um conector de acesso VPC sem servidor. Os custos de rede têm redução da escala a zero assim como o próprio serviço. Também é possível adicionar tags de rede diretamente nas revisões de serviço do Cloud Run para uma segurança de rede mais granular, como a aplicação de regras de firewall da VPC.
É possível configurar a saída de VPC direta com um serviço usando o console do Google Cloud, a CLI do Google Cloud ou o YAML.
Console
No console do Google Cloud, acesse a página do Cloud Run:
Clique em Implantar contêiner e selecione Serviço se você estiver configurando um novo serviço. Se você estiver configurando e implantando um serviço que já existe, clique nele e depois em Editar e implantar nova revisão.
Ao configurar um novo serviço, preencha a página inicial de configurações do serviço conforme preferir e clique em Contêineres, volumes, redes e segurança para expandir essa página.
Clique na guia Rede.
Clique em Conectar a uma VPC para tráfego de saída.
Clique em Enviar tráfego diretamente para uma VPC.
Selecione Redes compartilhadas comigo.
No campo Rede, selecione a rede VPC compartilhada que receberá o tráfego enviado.
No campo Sub-rede, selecione a sub-rede que enviará os endereços IP ao seu serviço.
Opcional: insira os nomes das tags de rede que você quer associar ao seu serviço (ou serviços). As tags de rede são especificadas no nível da revisão. Cada revisão de serviço pode ter tags de rede diferentes, como
network-tag-2
.Em Roteamento de tráfego, selecione uma das seguintes opções:
- Encaminhar solicitações apenas para IPs privados para a VPC a fim de enviar apenas o tráfego para endereços internos pela rede VPC compartilhada.
- Rotear todo o tráfego para a VPC a fim de enviar todo o tráfego de saída pela rede VPC compartilhada.
Clique em Criar ou Implantar.
Para verificar se o serviço está na sua rede VPC compartilhada, clique nele e depois na guia Rede. A rede e a sub-rede estão listadas no card da VPC.
Agora, é possível enviar solicitações do seu serviço do Cloud Run para qualquer recurso na rede VPC compartilhada, conforme permitido pelas regras de firewall.
gcloud
Para colocar o serviço na sub-rede compartilhada, especifique os nomes dos recursos totalmente qualificados na rede VPC compartilhada e na sub-rede executando o seguinte comando:
gcloud run deploy SERVICE_NAME \ --image IMAGE_URL \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \ --max-instances MAX
Substitua:
- SERVICE_NAME: o nome do seu serviço do Cloud Run;
- IMAGE_URL: o URL da imagem do serviço;
- HOST_PROJECT_ID: o ID do seu projeto da VPC compartilhada;
- VPC_NETWORK: o nome do recurso totalmente qualificado da sua rede VPC compartilhada.
- REGION: a região do serviço do Cloud Run, que precisa corresponder à região da sua sub-rede;
- SUBNET_NAME: o nome do recurso totalmente qualificado da sub-rede.
- Opcional: NETWORK_TAG_NAMES pelos nomes separados por vírgula das tags de rede que você quer associar a um serviço. Para serviços, as tags de rede são especificadas no nível da revisão. Cada revisão de serviço pode ter tags de rede diferentes, como
network-tag-2
; - EGRESS_SETTING por um valor de configuração de saída:
all-traffic
: envia todo o tráfego de saída pela rede VPC compartilhada.private-ranges-only
: envia o tráfego apenas para endereços internos pela rede VPC compartilhada.
- MAX: o número máximo de instâncias a serem usadas para a rede VPC compartilhada. O número máximo de instâncias permitidas para serviços é 100.
Para mais detalhes e argumentos opcionais, consulte a página de referência da gcloud
.
YAML
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
Atualize os seguintes atributos:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE_NAME labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
Substitua:
- SERVICE_NAME pelo nome do seu serviço do Cloud Run. Os nomes dos serviços precisam ter 49 caracteres ou menos e ser exclusivos para cada região e projeto;
- REGION pela região do serviço do Cloud Run, que precisa corresponder à região da sua sub-rede;
- NETWORK com o nome de recurso totalmente qualificado da sua rede VPC compartilhada.
- SUBNET_NAME pelo nome do recurso totalmente qualificado da sua sub-rede.
- Opcional: NETWORK_TAG_NAMES pelos nomes das tags de rede que você quer associar a um serviço. Para serviços, as tags de rede são especificadas no nível da revisão. Cada revisão de serviço pode ter tags de rede diferentes, como
network-tag-2
; - EGRESS_SETTING por um valor de configuração de saída:
all-traffic
: envia todo o tráfego de saída pela rede VPC compartilhada.private-ranges-only
: envia o tráfego apenas para endereços internos pela rede VPC compartilhada.
- IMAGE pelo URL da imagem de contêiner do serviço.
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.
Adicione a instrução a seguir ao seu arquivo
main.tf
:
Como opção, torne seu serviço público se você quiser permitir o acesso não autenticado ao serviço.
Criar um job
A saída de VPC direta permite que seu job do Cloud Run envie tráfego para uma rede VPC compartilhada sem um conector de acesso VPC sem servidor. Também é possível adicionar tags de rede diretamente em jobs do Cloud Run para uma segurança de rede mais granular, como a aplicação de regras de firewall VPC.
É possível configurar a saída de VPC direta com um job usando o console do Google Cloud, a CLI do Google Cloud ou o YAML.
Console
No console do Google Cloud, acesse a página do Cloud Run:
Se você estiver configurando um novo job, clique em Implantar contêiner e selecione Job para preencher o formulário inicial Criar job conforme necessário. Se você estiver configurando um job, clique na guia Jobs, selecione um job e clique em Editar.
Clique em Contêiner, variáveis e secrets, conexões, segurança para expandir a página de properties do job.
Clique na guia Conexões.
Clique em Conectar a uma VPC para tráfego de saída.
Clique em Enviar tráfego diretamente para uma VPC.
Selecione Redes compartilhadas comigo.
No campo Rede, selecione a rede VPC compartilhada que receberá o tráfego enviado.
No campo Sub-rede, selecione a sub-rede que enviará os endereços IP ao seu job.
Opcional: insira os nomes das tags de rede que você quer associar a um job. Para jobs, as tags de rede são especificadas no nível da execução. Cada execução de job pode ter tags de rede diferentes, como
network-tag-2
.Em Roteamento de tráfego, selecione uma das seguintes opções:
- Encaminhar solicitações apenas para IPs privados para a VPC a fim de enviar apenas o tráfego para endereços internos pela rede VPC compartilhada.
- Rotear todo o tráfego para a VPC a fim de enviar todo o tráfego de saída pela rede VPC compartilhada.
Clique em Criar ou Atualizar.
Para verificar se o job está na sua rede VPC compartilhada, clique nele e depois na guia Configuração. A rede e a sub-rede estão listadas no card da VPC.
Agora, é possível executar seu job do Cloud Run e enviar solicitações dele para qualquer recurso na rede VPC compartilhada, conforme permitido pelas regras de firewall.
gcloud
Para colocar o job na sub-rede compartilhada, especifique os nomes dos recursos totalmente qualificados na rede VPC compartilhada e na sub-rede executando o seguinte comando:
gcloud run jobs create JOB_NAME \ --image IMAGE_URL \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \
Substitua:
- JOB_NAME: o nome do seu job do Cloud Run;
- IMAGE_URL: o URL da imagem do job;
- HOST_PROJECT_ID: o ID do seu projeto host da VPC compartilhada;
- VPC_NETWORK: o nome do recurso totalmente qualificado da sua rede VPC compartilhada.
- REGION: a região do job do Cloud Run, que precisa corresponder à região da sub-rede;
- SUBNET_NAME: o nome do recurso totalmente qualificado da sub-rede.
- Opcional: NETWORK_TAG_NAMES pelos nomes separados por vírgula das tags de rede que você quer associar a um job. Cada execução de job pode ter tags de rede diferentes, como
network-tag-2
. - EGRESS_SETTING por um valor de configuração de saída:
all-traffic
: envia todo o tráfego de saída pela rede VPC compartilhada.private-ranges-only
: envia o tráfego apenas para endereços internos pela rede VPC compartilhada.
Para mais detalhes e argumentos opcionais, consulte a página de referência da gcloud
.
YAML
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 jobs describe JOB_NAME --format export > job.yaml
Atualize os seguintes atributos:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME annotations: run.googleapis.com/launch-stage: BETA labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
Substitua:
- JOB_NAME pelo nome do seu job do Cloud Run. Os nomes dos jobs precisam ter 49 caracteres ou menos e ser exclusivos para cada região e projeto;
- REGION pela região do job do Cloud Run, que precisa corresponder à região da sua sub-rede;
- NETWORK com o nome de recurso totalmente qualificado da sua rede VPC compartilhada.
- SUBNET pelo nome do recurso totalmente qualificado da sua sub-rede.
- Opcional: NETWORK_TAG_NAMES pelos nomes das tags de rede que você quer associar a um job. Para jobs, as tags de rede são especificadas no nível da execução. Cada execução de job pode ter tags de rede diferentes, como
network-tag-2
; - EGRESS_SETTING por um valor de configuração de saída:
all-traffic
: envia todo o tráfego de saída pela rede VPC compartilhada.private-ranges-only
: envia o tráfego apenas para endereços internos pela rede VPC compartilhada.
- IMAGE pelo URL da imagem de contêiner do job.
Crie ou atualize o serviço usando o seguinte comando:
gcloud run jobs replace job.yaml
Desconectar um serviço
Console
Para remover seu serviço da rede VPC compartilhada:
No console do Google Cloud, acesse a página do Cloud Run:
Clique no serviço que você quer remover e depois em Editar e implantar nova revisão.
Clique na guia Rede.
Desmarque Conectar a uma VPC para tráfego de saída.
Clique em Implantar.
Para verificar se o serviço não está mais na sua rede VPC compartilhada, clique na guia Rede. A rede e a sub-rede não estão mais listadas no card da VPC.
Para remover apenas as tags de rede, mantendo o serviço conectado à rede VPC compartilhada:
Clique no serviço que contém as tags de rede que você quer remover e depois em Editar e implantar nova revisão.
Clique na guia Rede.
Desmarque os nomes das tags de rede que você não quer mais associar ao seu serviço.
Clique em Implantar.
gcloud
Para remover seu serviço da rede VPC compartilhada, execute o seguinte comando:
gcloud run services update SERVICE_NAME --region=REGION \ --clear-network
Para remover apenas as tags de rede, mantendo o serviço conectado à rede VPC compartilhada, execute o seguinte comando:
gcloud run services update SERVICE_NAME --region=REGION \ --clear-network-tags
Substitua:
- SERVICE_NAME: o nome do seu serviço do Cloud Run;
- REGION: a região do seu serviço do Cloud Run.
YAML
Para remover seu serviço da rede VPC compartilhada:
Faça o download da configuração YAML do serviço:
gcloud run services describe SERVICE_NAME --format export > service.yaml
Remova o seguinte conteúdo do seu arquivo
service.yaml
:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
Onde
- NETWORK: o nome do recurso totalmente qualificado da sua rede VPC compartilhada.
- SUBNET: o nome do recurso totalmente qualificado da sub-rede.
- Opcional: NETWORK_TAG_NAMES: os nomes das tags de rede associadas a um serviço, se houver.
Atualize o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Para remover apenas as tags de rede, mantendo o serviço conectado à rede VPC compartilhada:
Faça o download da configuração YAML do serviço:
gcloud run services describe SERVICE_NAME --format export > service.yaml
Remova a variável
tags
do conteúdo no arquivoservice.yaml
, deixando as variáveisnetwork
esubnetwork
como estão, conforme mostrado no exemplo a seguir:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'
Substitua:
- NETWORK: o nome do recurso totalmente qualificado da sua rede VPC compartilhada.
- SUBNET: o nome do recurso totalmente qualificado da sub-rede.
Atualize o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Desconectar um job
Console
Para remover seu job da rede VPC compartilhada:
No console do Google Cloud, acesse a página do Cloud Run:
Clique no job que você quer remover e depois em Editar e implantar nova revisão.
Clique na guia Configuração.
Desmarque Conectar a uma VPC para tráfego de saída.
Clique em Atualizar.
Para verificar se o job não está mais na sua rede VPC compartilhada, clique na guia Configuração. A rede e a sub-rede não estão mais listadas no card da VPC.
Para remover apenas as tags de rede, mantendo o job conectado à rede VPC compartilhada:
Clique no job que contém as tags de rede que você quer remover e depois em Editar e implantar nova revisão.
Clique na guia Conexões.
Desmarque os nomes das tags de rede que você não quer mais associar ao seu job.
Clique em Atualizar.
gcloud
Para remover seu job da rede VPC compartilhada, execute o seguinte comando:
gcloud run jobs update JOB_NAME --region=REGION \ --clear-network
Para remover apenas as tags de rede, mantendo o job conectado à rede VPC compartilhada, execute o seguinte comando:
gcloud run jobs update JOB_NAME --region=REGION \ --clear-network-tags
Substitua:
- JOB_NAME: o nome do seu job do Cloud Run;
- REGION: a região do seu job do Cloud Run.
YAML
Para remover seu job da rede VPC compartilhada:
Faça o download da configuração YAML do job:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Remova o seguinte conteúdo do seu arquivo
job.yaml
:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
Onde
- NETWORK: o nome do recurso totalmente qualificado da sua rede VPC compartilhada.
- SUBNET: o nome do recurso totalmente qualificado da sub-rede.
- Opcional: NETWORK_TAG_NAMES: os nomes das tags de rede associadas a um job, se houver.
Atualize o job usando o seguinte comando:
gcloud run jobs replace job.yaml
Para remover apenas as tags de rede, mantendo o job conectado à rede VPC compartilhada:
Faça o download da configuração YAML do job:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Remova o seguinte conteúdo do seu arquivo
job.yaml
:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
Onde
- NETWORK: o nome do recurso totalmente qualificado da sua rede VPC compartilhada.
- SUBNET: o nome do recurso totalmente qualificado da sub-rede.
- Opcional: NETWORK_TAG_NAMES: os nomes das tags de rede associadas a um job, se houver.
Atualize o job usando o seguinte comando:
gcloud run jobs replace job.yaml
Solução de problemas
Não consigo excluir uma sub-rede
Para excluir uma sub-rede, você precisa primeiro excluir todos os recursos que a utilizam. Se o Cloud Run estiver usando uma sub-rede, desconecte o Cloud Run da rede VPC compartilhada ou mova-o para uma sub-rede diferente antes de excluir a sub-rede.
Não consigo remover a rede VPC compartilhada
Para desanexar a rede VPC compartilhada no projeto host, siga as etapas para desprovisionar a VPC compartilhada e desconecte todos os serviços ou jobs do Cloud Run da rede VPC compartilhada.
Para ver quais recursos do Cloud Run estão usando a rede VPC compartilhada, execute o seguinte comando:
gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
Substitua HOST_PROJECT_ID pelo ID do seu projeto host da VPC compartilhada.
A sub-rede da VPC direta fica sem endereços IP
Se a sub-rede da rede VPC compartilhada ficar sem endereços IP, isso será registrado pelo Cloud Logging. Quando isso ocorre, o Cloud Run não pode iniciar novas instâncias de serviço ou tarefas de job antes de haver mais endereços IP disponíveis.
Ver endereços IP alocados
Para ver os endereços IP que o Cloud Run alocou, acesse a página de endereços IP no console do Google Cloud ou execute o seguinte comando na CLI do Google Cloud:
gcloud compute addresses list