Migrar o conector de VPC compartilhada para a saída direta de VPC

Esta página é destinada a especialistas de rede que querem migrar o tráfego de rede VPC compartilhada de conectores de acesso VPC sem servidor para a saída direta de VPC ao enviar tráfego para uma rede VPC compartilhada.

A saída de VPC direta é mais rápida e pode lidar com mais tráfego do que os conectores, oferecendo menor latência e maior capacidade de processamento. Isso acontece porque ela usa um novo caminho de rede direto em vez de instâncias de conector.

Antes da migração, recomendamos familiarizar-se com os pré-requisitos da saída direta de VPC, as limitações, a alocação de endereços IP e as permissões do IAM.

Migrar serviços para a saída direta de VPC

Migrar serviços gradualmente para a saída direta de VPC

Ao migrar os serviços do Cloud Run dos conectores de acesso VPC sem servidor para a saída direta de VPC, recomendamos que você faça isso em uma transição gradual.

Para fazer a transição gradual:

  1. Siga as instruções neste guia para atualizar seu serviço ou job e usar a saída direta de VPC.
  2. Divida uma pequena porcentagem de tráfego para testar se ele funciona corretamente.
  3. Atualize a divisão de tráfego a fim de enviar todo o tráfego para a nova revisão usando a saída direta de VPC.

Para migrar o tráfego da saída direta de VPC para um serviço, use o console do Google Cloud ou a CLI do Google Cloud:

Console

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

    Acesse o Cloud Run

  2. Clique no serviço que você quer migrar de um conector para a saída direta de VPC e, em seguida, clique em Editar e implantar nova revisão.

  3. Clique na guia Rede.

  4. Em Conectar a uma VPC para o tráfego de saída, clique em Enviar tráfego diretamente a uma VPC.

  5. Selecione Redes compartilhadas comigo.

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

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

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

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

  11. 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 migrar um serviço do Cloud Run de um conector para a saída direta de VPC usando a CLI do Google Cloud, faça o seguinte:

  1. Atualize o serviço na sub-rede compartilhada especificando os nomes de recursos totalmente qualificados para a sub-rede e a rede VPC compartilhada usando o seguinte comando:

    gcloud beta run services update SERVICE_NAME \
      --clear-network \
      --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 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 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.

  2. Para verificar se o serviço está na sua rede VPC compartilhada, execute o seguinte comando:

    gcloud beta 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 compartilhada, conforme permitido pelas regras de firewall.

Migrar jobs para a saída direta de VPC

É possível migrar o tráfego da saída direta de VPC para um job usando o console do Google Cloud ou a CLI do Google Cloud.

Console

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

    Acesse o Cloud Run

  2. Clique no job que você quer migrar de um conector para a saída direta de VPC e, em seguida, clique em Editar.

  3. Clique na guia Rede.

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

  5. Clique na guia Conexões.

  6. Em Conectar a uma VPC para o tráfego de saída, clique em Enviar tráfego diretamente a uma VPC.

  7. Selecione Redes compartilhadas comigo.

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

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

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

  11. 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.
  12. Clique em Atualizar.

  13. 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 migrar um job do Cloud Run de um conector para a saída direta de VPC usando a CLI do Google Cloud, faça o seguinte:

  1. Desconecte o job da rede VPC compartilhada executando o comando gcloud run jobs update com a seguinte flag:

    gcloud run jobs update JOB_NAME --region=REGION \
    --clear-network
    

    Substitua:

    • JOB_NAME: o nome do job do Cloud Run;
    • REGION: a região do seu job do Cloud Run.
  2. Atualize o job na sub-rede compartilhada especificando os nomes de recursos totalmente qualificados para a sub-rede e a rede VPC compartilhada com o seguinte comando:

    gcloud beta run jobs create JOB_NAME \
      --clear-network \
      --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:

    • JOB_NAME: o nome do job do Cloud Run;
    • IMAGE_URL: o URL da imagem do job;
    • HOST_PROJECT_ID: o ID do seu projeto da VPC compartilhada;
    • VPC_NETWORK: o nome 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 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.

  3. Para verificar se o job está na rede VPC compartilhada, execute o seguinte comando:

    gcloud beta 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, 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 compartilhada, conforme permitido pelas regras de firewall.