Saída de VPC direta com uma rede VPC

É possível ativar seu job ou serviço do Cloud Run para que envie tráfego a uma rede VPC usando a saída de VPC direta, sem precisar de um conector de acesso VPC sem servidor.

Antes de começar

  • Se você ainda não tiver uma rede VPC no projeto, crie uma.

  • Se você usar a VPC compartilhada, consulte Como se conectar a uma rede VPC compartilhada.

  • Se estiver usando uma sub-rede VPC, ela precisará ser /24 ou maior.

  • Para garantir que você tenha endereços IP suficientes disponíveis para uso no Cloud Run, observe as seguintes condições:

    • A sub-rede em que você planeja implantar os serviços ou revisões do Cloud Run precisa ter pelo menos algumas centenas de endereços IP disponíveis.
    • No estado estável, se o número total de instâncias do Cloud Run que usam a sub-rede for 100 ou mais, reserve endereços IP suficientes para pelo menos quatro vezes (4X) o número de instâncias. Quando uma revisão é reduzida, observe que o Cloud Run retém os endereços IP por até 20 minutos. Por exemplo, se você fizer upgrade das revisões para que revision 1 seja escalonado de 100 instâncias para zero, enquanto revision 2 escalona de zero para 100, o Cloud Run mantém os endereços IP revision 1 por até 20 minutos após a redução. Durante a janela de 20 minutos, neste caso, é preciso reservar pelo menos 800 endereços IP ((100 + 100) * 4).

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.
As seguintes limitações se aplicam apenas aos jobs do Cloud Run, não aos serviços:
  • 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 sinal SIGCONT após o evento. Depois que o contêiner receber o sinal SIGCONT, tente se conectar novamente.

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

Configurar permissões do IAM

Verifique se o Cloud Run tem acesso à rede VPC usando um dos seguintes métodos:

  • Papel de agente de serviço do Cloud Run: por padrão, o agente de serviço do Cloud Run tem o papel de agente de serviço do Cloud Run (roles/run.serviceAgent) que contém as permissões necessárias.

  • Permissões personalizadas: para ter um controle mais granular, conceda ao agente de serviço do Cloud Run as seguintes permissões extras no projeto:

    • compute.networks.get
    • compute.subnetworks.get
    • compute.subnetworks.use no projeto host ou na sub-rede específica
    • compute.addresses.get
    • compute.addresses.list
    • compute.addresses.createInternal
    • compute.addresses.deleteInternal
  • Papel de usuário da rede do Compute: se você não usar o papel padrão do Agente de serviço do Cloud Run ou as permissões personalizadas, conceda o papel de usuário da rede do Compute (roles/compute.networkUser ) na conta de serviço do agente de serviço do Cloud Run. Basta executar o seguinte comando:

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:service-PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \
    --role "roles/compute.networkUser"

    Substitua:

    • PROJECT_ID: ID do projeto.
    • PROJECT_NUMBER: o número do projeto em que você implanta o serviço ou job do Cloud Run.

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 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, o YAML ou o Terraform.

Console

  1. Acesse o Cloud Run

  2. Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando e implantando um serviço que já existe, clique nele e depois em Editar e implantar nova revisão.

  3. 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.

  4. Clique na guia Rede.

  5. Clique em Conectar a uma VPC para tráfego de saída.

  6. Clique em Enviar tráfego diretamente para uma VPC.

  7. No campo Rede, selecione a rede VPC que receberá o tráfego enviado.

  8. No campo Sub-rede, selecione a sub-rede que enviará os endereços IP ao seu serviço. É possível implantar vários serviços na mesma sub-rede.

  9. 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.

  10. 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.
    • Rotear todo o tráfego para a VPC a fim de enviar todo o tráfego de saída pela rede VPC.
  11. Clique em Criar ou Implantar.

  12. Para verificar se o serviço está na sua rede VPC, 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, conforme permitido pelas regras de firewall.

gcloud

Para implantar um serviço do Cloud Run sem um conector pela CLI do Google Cloud:

  1. Atualize os componentes gcloud para a versão mais recente:

    gcloud components update
  2. Verifique se a API Compute Engine está ativada no seu projeto:

    gcloud services enable compute.googleapis.com
    
  3. Implante o serviço do Cloud Run com o seguinte comando:

    gcloud run deploy SERVICE_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION

    Substitua:

    • SERVICE_NAME pelo nome do seu serviço do Cloud Run.
    • 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
    • NETWORK pelo nome da sua rede VPC;
    • SUBNET pelo nome da sub-rede. É possível implantar ou executar vários serviços ou jobs na mesma 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.
      • private-ranges-only: envia o tráfego apenas para endereços internos pela rede VPC.
    • REGION por uma região do seu serviço.
  4. Para verificar se o serviço está na sua rede VPC, execute o seguinte comando:

    gcloud run services describe SERVICE_NAME \
    --region=REGION

    Substitua:

    • SERVICE_NAME pelo nome do serviço;
    • REGION pela região do serviço que você especificou na etapa anterior.

    A saída precisa conter o nome da sua rede, sub-rede e configuração de saída. Por exemplo:

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    

Agora, é possível enviar solicitações do seu serviço do Cloud Run para qualquer recurso na rede VPC, conforme permitido pelas regras de firewall.

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 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 pelo nome da sua rede VPC;
    • SUBNET pelo nome da sub-rede. É possível implantar ou executar vários serviços ou jobs na mesma 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.
      • private-ranges-only: envia o tráfego apenas para endereços internos pela rede VPC.
    • IMAGE pelo URL da imagem de contêiner do serviço.

    Também é possível definir outras configurações, como variáveis de ambiente ou limites de memória.

  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.

  1. Adicione a instrução a seguir ao seu arquivo main.tf:

    /**
     * Copyright 2024 Google LLC
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    # Example configuration of a Cloud Run service with direct VPC
    
    resource "google_cloud_run_v2_service" "default" {
      name     = "cloudrun-service"
      location = "us-central1"
    
      deletion_protection = false # set to "true" in production
    
      template {
        containers {
          image = "us-docker.pkg.dev/cloudrun/container/hello"
        }
        vpc_access {
          network_interfaces {
            network    = "default"
            subnetwork = "default"
            tags       = ["tag1", "tag2", "tag3"]
          }
        }
      }
    }
    

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 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

  1. Acesse o Cloud Run

  2. Se você estiver configurando um novo job, clique na guia Jobs e preencha a página inicial de configurações de job conforme preferir. Se você estiver configurando um job, clique nele e em Editar.

  3. Clique em Contêiner, variáveis e secrets, conexões, segurança para expandir a página de properties do job.

  4. Clique na guia Conexões.

  5. Clique em Conectar a uma VPC para tráfego de saída.

  6. Clique em Enviar tráfego diretamente para uma VPC.

  7. No campo Rede, selecione a rede VPC que receberá o tráfego enviado.

  8. No campo Sub-rede, selecione a sub-rede que enviará os endereços IP ao seu job. É possível executar vários jobs na mesma sub-rede.

  9. 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.
    • Rotear todo o tráfego para a VPC a fim de enviar todo o tráfego de saída pela rede VPC.
  10. 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.

  11. Opcional: insira os nomes das tags de rede que você quer associar ao seu job (ou jobs). 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.

  12. Clique em Criar ou Atualizar.

  13. Para verificar se o job está na sua rede VPC, 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, conforme permitido pelas regras de firewall.

gcloud

Para criar um job do Cloud Run sem um conector pela CLI do Google Cloud:

  1. Atualize os componentes gcloud para a versão mais recente:

    gcloud components update
  2. Verifique se a API Compute Engine está ativada no seu projeto:

    gcloud services enable compute.googleapis.com
    
  3. Crie um job do Cloud Run com o seguinte comando:

    gcloud run jobs create JOB_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION

    Substitua:

    • JOB_NAME pelo nome do seu job do Cloud Run.
    • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/job:latest;
    • NETWORK pelo nome da sua rede VPC.
    • SUBNET pelo nome da sub-rede. É possível implantar ou executar vários serviços ou jobs na mesma 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.
      • private-ranges-only: envia o tráfego apenas para endereços internos pela rede VPC.
    • REGION por uma região do seu job.
  4. Para verificar se o job está na sua rede VPC, execute o seguinte comando:

    gcloud run jobs describe JOB_NAME \
      --region=REGION
      

    Substitua:

    • JOB_NAME pelo nome do job.
    • REGION pela região do job especificada na etapa anterior.

    A saída precisa conter o nome da sua rede e sub-rede, por exemplo:

    VPC network:
      Network:       default
      Subnet:        default
    

Agora, é possível executar seu job do Cloud Run e enviar solicitações dele para qualquer recurso na rede VPC, conforme permitido pelas regras de firewall.

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 jobs describe JOB_NAME --format export > job.yaml
  2. 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 pelo nome da sua rede VPC;
    • SUBNET pelo nome da sub-rede. É possível implantar ou executar vários serviços ou jobs na mesma 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.
      • private-ranges-only: envia o tráfego apenas para endereços internos pela rede VPC.
    • IMAGE pelo URL da imagem de contêiner do job.
  3. Crie ou atualize o serviço usando o seguinte comando:

    gcloud run jobs replace job.yaml

Restringir o acesso com regras de firewall

Restrinja o acesso a recursos em uma rede VPC usando regras de firewall de VPC. Adicione essas restrições usando uma das estratégias abaixo:

  • Crie uma regra de firewall de entrada que se refira ao serviço ou ao job usando o intervalo de IP da sub-rede.
  • Crie uma regra de firewall de saída que se refira ao seu serviço ou job.

    Na regra de firewall de saída, consulte o serviço ou job usando a conta de serviço vinculada.a identidade do serviço , o intervalo de IP da sub-rede ou otags de rede de dois minutos.

Tags de rede para saída

Adicione mais uma camada de segurança de rede usando tags de rede nas regras de firewall de saída.

Console

Para associar tags de rede a um serviço ou job:

  1. No console do Google Cloud, acesse a página do Cloud Run.

    Acesse o Cloud Run

  2. Clique no serviço ou job a que você quer associar as tags de rede e, em seguida, clique em Editar e implantar nova revisão para serviços ou Editar para jobs.

  3. Clique na guia Rede para serviços ou na guia Conexões para jobs.

  4. Verifique se você selecionou Conectar a uma VPC para tráfego de saída e Enviar tráfego diretamente para uma VPC.

  5. No campo Sub-rede, selecione a sub-rede que enviará os endereços IP ao seu serviço. É possível implantar ou executar vários serviços ou jobs na mesma sub-rede.

  6. No campo Tags de rede, insira os nomes das tags de rede que você quer associar ao serviço ou job.

  7. Clique em Implantar ou Atualizar.

Para serviços, cada revisão de serviço pode ter um conjunto diferente de tags de rede porque as tags de rede são especificadas no nível de revisão. Para jobs, a execução de um job tem as mesmas tags de rede que o job tinha quando foi criado.

gcloud

Para associar tags de rede a um serviço ou job, use o comando gcloud run deploy:

gcloud run deploy SERVICE_JOB_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --region=REGION

Substitua:

  • SERVICE_JOB_NAME pelo nome do seu serviço ou job.
  • IMAGE_URL pelo URL da imagem do serviço ou job.
  • NETWORK pelo nome da sua rede VPC;
  • SUBNET pelo nome da sub-rede. É possível implantar ou executar vários serviços ou jobs na mesma sub-rede;
  • NETWORK_TAG_NAMES pelo nome da tag de rede ou uma lista separada por vírgulas de tags de rede.
  • REGION pelo nome da sua região;

Para serviços, cada revisão de serviço pode ter um conjunto diferente de tags de rede porque as tags de rede são especificadas no nível de revisão. Para jobs, a execução de um job tem as mesmas tags de rede que o job tinha quando foi criado.

Desconectar um serviço

Console

  • Para remover seu serviço da rede VPC:

    1. Acesse o Cloud Run

    2. Clique no serviço que você quer remover e depois em Editar e implantar nova revisão.

    3. Clique na guia Rede.

    4. Desmarque Conectar a uma VPC para tráfego de saída.

    5. Clique em Implantar.

    6. Para verificar se o serviço não está mais na sua rede VPC, 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:

    1. Clique no serviço que contém as tags de rede que você quer remover e depois em Editar e implantar nova revisão.

    2. Clique na guia Rede.

    3. Desmarque os nomes das tags de rede que você não quer mais associar ao seu serviço.

    4. Clique em Implantar.

gcloud

  • Para remover seu serviço da rede VPC, 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, 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:

    1. Faça o download da configuração YAML do serviço:

      gcloud run services describe SERVICE_NAME --format export > service.yaml
    2. 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 da sua rede VPC.
      • SUBNET: o nome da sub-rede.
      • Opcional: NETWORK_TAG_NAMES: os nomes das tags de rede associadas a um serviço, se houver.
    3. Implante a revisão de serviço executando o seguinte comando:

      gcloud run services replace service.yaml
  • Para remover apenas as tags de rede, mantendo o serviço conectado à rede VPC:

    1. Faça o download da configuração YAML do serviço:

      gcloud run services describe SERVICE_NAME --format export > service.yaml
    2. Remova a variável tags do conteúdo no arquivo service.yaml, deixando as variáveis network e subnetwork como estão, conforme mostrado no exemplo a seguir:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'

      Onde

      • NETWORK: o nome da sua rede VPC.
      • SUBNET: o nome da sub-rede.
    3. Implante a revisão de serviço executando o seguinte comando:

      gcloud run services replace service.yaml

Desconectar um job

Console

  • Para remover seu job da rede VPC:

    1. Acesse o Cloud Run

    2. Clique no job que você quer remover e depois em Editar e implantar nova revisão.

    3. Clique na guia Conexões.

    4. Desmarque Conectar a uma VPC para tráfego de saída.

    5. Clique em Atualizar.

    6. Para verificar se o job não está mais na sua rede VPC, 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:

    1. Clique no job que contém as tags de rede que você quer remover e depois em Editar e implantar nova revisão.

    2. Clique na guia Conexões.

    3. Desmarque os nomes das tags de rede que você não quer mais associar ao seu job.

    4. Clique em Atualizar.

gcloud

  • Para remover seu job da rede VPC, 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, 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:

    1. Faça o download da configuração YAML do job:

      gcloud run jobs describe JOB_NAME --format export > job.yaml
    2. Remova o seguinte conteúdo do seu arquivo job.yaml:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'

      Substitua:

      • NETWORK: o nome da sua rede VPC.
      • SUBNET: o nome da sub-rede.
      • Opcional: NETWORK_TAG_NAMES pelos nomes das tags de rede associadas a um job, se houver.
    3. Implante o job novamente executando o seguinte comando:

      gcloud run jobs replace job.yaml
  • Para remover apenas as tags de rede, mantendo o job conectado à rede VPC:

    1. Faça o download da configuração YAML do job:

      gcloud run jobs describe JOB_NAME --format export > job.yaml
    2. Remova a variável tags do conteúdo no arquivo job.yaml, deixando as variáveis network e subnetwork como estão, conforme mostrado no exemplo a seguir:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'

      Substitua:

      • NETWORK: o nome da sua rede VPC.
      • SUBNET: o nome da sub-rede.
    3. Implante o job novamente executando 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, primeiro você precisa excluir ou reimplantar todos os recursos que a utilizam. Se o Cloud Run estiver usando uma sub-rede, desconecte o serviço ou o job do Cloud Run da rede VPC ou mova-o para uma sub-rede diferente antes de excluir a sub-rede.

A sub-rede da VPC direta fica sem endereços IP

Se a sub-rede da rede VPC 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