Configure serviços e tarefas de pilha dupla

As sub-redes de pilha dupla permitem que os seus serviços e tarefas do Cloud Run enviem tráfego IPv4 e IPv6 interno para uma rede da VPC com saída da VPC direta. Pode alterar o tipo de pilha de um serviço ou uma tarefa do Cloud Run existente ou atualizar uma sub-rede existente para uma sub-rede de pilha dupla.

Tipos de sub-redes

As redes VPC suportam os seguintes tipos de sub-redes do Compute Engine:

Limitações de pilha dupla

Antes de alterar o tipo de stack num serviço ou tarefa do Cloud Run existente, considere as seguintes limitações:

  • O Cloud Run só suporta sub-redes com a definição do tipo de acesso IPv6 interno. Saiba mais acerca dos tipos de acesso interno e externo para endereços IPv6.

  • O suporte de pilha dupla só está disponível com sub-redes numa rede VPC de modo personalizado. Para ter o tipo de acesso interno disponível para sub-redes de pilha dupla, tem de ativar o intervalo IPv6 interno da rede VPC. Configure ou converta a rede VPC para o modo personalizado.

  • Em comparação com as sub-redes apenas IPv4, as sub-redes de pilha dupla podem sofrer latências de arranque a frio elevadas, o que limita a rapidez com que a sua aplicação pode ser dimensionada.

  • O NAT64 não é suportado.

Adicione uma sub-rede de pilha dupla num serviço ou num trabalho

As sub-redes de pilha dupla têm intervalos de endereços IPv4 e IPv6. Os serviços e as tarefas do Cloud Run só podem enviar tráfego IPv6 através de uma sub-rede que use endereços IPv6 internos.

Para adicionar uma sub-rede de pilha dupla com um intervalo IPv6 interno num serviço ou tarefa do Cloud Run, faça o seguinte:

Consola

  1. Na Google Cloud consola:

    1. Ative a API Compute Engine:

      Ative a API Compute Engine

    2. Aceda à página Redes de VPC:

      Aceda a redes de VPC

  2. Clique em Criar rede VPC se estiver a criar uma nova rede de modo personalizado. Se estiver a usar uma rede de VPC existente, clique no nome da rede de VPC para mostrar a respetiva página de detalhes da rede de VPC.

  3. Se estiver a criar uma nova rede ou a converter uma existente, introduza o nome e certifique-se de que o Modo de criação de sub-redes está definido como Personalizado. Em seguida, selecione Configurar um intervalo IPv6 interno de ULA para esta rede VPC.

  4. No separador Sub-redes, clique em Adicionar sub-rede. No painel apresentado:

    1. Indique um Nome.
    2. Selecione uma região.
    3. Para o Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
    4. Introduza um intervalo de IPv4. Este é o intervalo IPv4 principal para a sub-rede.
    5. Selecione Interno para o tipo de acesso IPv6.

      Se a opção Interno não estiver disponível, verifique se é atribuído um intervalo de IPv6 interno na rede.

    6. Clique em Concluído e, de seguida, em Criar.

  5. Implemente um serviço do Cloud Run ou execute uma tarefa na sub-rede de pilha dupla que criou. À medida que introduz os detalhes do serviço ou da tarefa necessários, pode selecionar o novo intervalo de endereços IPv6 seguindo estes passos:

    1. Clique em Recipientes, volumes, rede, segurança e selecione o separador Rede.
    2. Clique em Ligar a uma VPC para tráfego de saída e, de seguida, em Enviar tráfego diretamente para uma VPC.
    3. Selecione a rede que criou no passo anterior.
    4. Clique no campo Sub-rede para selecionar o intervalo de endereços IPv6 recém-criado.

    O serviço ou a tarefa é aprovisionado automaticamente com o tipo de pilha da sub-rede.

gcloud

  1. Para criar uma rede no modo personalizado que suporte sub-redes de pilha dupla, execute o seguinte comando:
gcloud compute networks create NETWORK \
    --subnet-mode=custom \
    --enable-ula-internal-ipv6

Substitua NETWORK pelo nome da rede VPC que vai conter a nova sub-rede.

  1. Para converter ou atualizar uma rede de modo personalizado para que suporte sub-redes de pilha dupla, execute o seguinte comando:
gcloud compute networks update NETWORK \
    --subnet-mode=custom \
    --enable-ula-internal-ipv6

Substitua NETWORK pelo nome da rede VPC que vai conter a nova sub-rede.

  1. Para criar uma sub-rede de pilha dupla com um intervalo IPv6 interno, execute o comando subnets create usando as definições de pilha dupla:
gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --range=PRIMARY_IPv4_RANGE \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=REGION

Substitua o seguinte:

  • SUBNET: um nome para a nova sub-rede.
  • NETWORK: o nome da rede VPC que vai conter a nova sub-rede.
  • PRIMARY_IPv4_RANGE: o intervalo IPv4 principal para a nova sub-rede, na notação CIDR. Para mais informações, consulte os intervalos de sub-redes IPv4.
  • REGION: a Google Cloud região na qual a nova sub-rede vai ser criada.
  1. Implemente um serviço do Cloud Run ou execute uma tarefa na sub-rede de pilha dupla que criou. O serviço ou a tarefa é aprovisionado automaticamente com o tipo de pilha da sub-rede.

Altere uma sub-rede de pilha única para pilha dupla

Para adicionar um intervalo de sub-redes IPv6 interno a uma sub-rede apenas IPv4 existente numa rede VPC de modo personalizado, consulte o artigo Altere o tipo de pilha de uma sub-rede para pilha dupla. Em seguida, implemente o serviço ou execute a tarefa na sub-rede de pilha dupla.

Altere uma sub-rede de pilha dupla para pilha única

A alteração do tipo de pilha da sub-rede de IPv4 e IPv6 (pilha dupla) para apenas IPv4 (pilha única) não é suportada porque o tipo de acesso IPv6 do Compute Engine é interno. Para alterar a sub-rede de pilha dupla de um serviço ou de uma tarefa para uma sub-rede de pilha única, implemente o serviço ou execute a tarefa numa sub-rede apenas IPv4 (pilha única).

Valide a rede e a sub-rede

Para verificar se o seu serviço ou tarefa está na rede VPC, execute o seguinte comando:

gcloud run services describe SERVICE_NAME --region=REGION

Substitua REGION pela região Google Cloud em que a nova sub-rede foi criada.

O exemplo de saída seguinte mostra a sua rede e sub-rede:

  VPC Access:
    Network:        example-network
    Subnet:         example-subnet
    Egress:         private-ranges-only