As sub-redes de pilha dupla permitem que os recursos do App Engine enviem tráfego IPv4 e IPv6 para uma rede VPC com saída de VPC direta. É possível mudar uma sub-rede somente IPv4 (pilha única) para uma sub-rede de pilha dupla.
Tipos de sub-rede
As redes VPC oferecem suporte aos seguintes tipos de sub-rede do Compute Engine:
Sub-redes somente IPv4 (pilha única), com apenas intervalos de sub-rede IPv4
Sub-redes IPv4 e IPv6 (pilha dupla), com intervalos de sub-rede IPv4 e IPv6
Limitações de pilha dupla
Antes de mudar o tipo de pilha em um recurso do App Engine, considere as seguintes limitações:
O suporte a pilha dupla só está disponível com sub-redes em uma rede VPC de modo personalizado. Para que o tipo de acesso interno esteja disponível para sub-redes de pilha dupla, o intervalo IPv6 interno da rede VPC precisa estar ativado. Configure ou converta a rede VPC para o modo personalizado.
Em comparação com sub-redes somente IPv4, as sub-redes de pilha dupla podem apresentar latências de inicialização a frio elevadas, limitando a rapidez com que o aplicativo pode escalonar verticalmente.
NAT64 não é compatível.
Antes de começar
Verifique se o agente de serviço do App Engine tem o papel de administrador de IP público do Compute (roles/compute.publicIpAdmin) para usar a sub-rede com IPv6 externo.
Configurar uma sub-rede de pilha dupla
Sub-redes de pilha dupla têm intervalos de endereços IPv4 e IPv6.
Para configurar uma sub-rede de pilha dupla, use o Google Cloud console ou a Google Cloud CLI:
Console
Acesse o Google Cloud console e ative a API Compute Engine:
Navegue até a página Redes VPC:
Clique em Criar rede VPC se estiver criando uma nova rede de modo personalizado. Se você estiver usando uma rede VPC, clique no nome dela para mostrar a página Detalhes da rede VPC.
Se você estiver criando uma rede ou convertendo uma rede atual, insira o nome e verifique se o Modo de criação de sub-rede está definido como Personalizado e selecione Configurar um intervalo IPv6 interno ULA para esta rede VPC.
Na guia Sub-redes, clique em Adicionar sub-rede. No painel que aparecerá, faça o seguinte:
- Forneça um Nome.
- Selecione uma Região.
- Em Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
- Digite um intervalo de IPv4. Esse é o intervalo IPv4 principal da sub-rede.
Selecione o Tipo de acesso IPv6.
Se a opção Interno não estiver disponível e você precisar dela, verifique se um intervalo IPv6 interno está atribuído à rede.
Clique em Adicionar.
gcloud
Para criar uma rede de modo personalizado que ofereça suporte a sub-redes de pilha dupla, execute o comando
gcloud compute networks create.Para configurar intervalos IPv6 internos em qualquer sub-rede nessa rede, use a sinalização
--enable-ula-internal-ipv6. Essa opção atribui um prefixo ULA/48de do intervalofd20::/20usado pelo Google Cloud para intervalos de sub-rede IPv6 internos.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.
Para converter ou atualizar uma rede de modo personalizado para que ela ofereça suporte a sub-redes de pilha dupla, execute o seguinte comando:
gcloud compute networks update NETWORK \ --switch-to-custom-subnet-mode \ --enable-ula-internal-ipv6
Substitua NETWORK pelo nome da rede VPC que vai conter a nova sub-rede.
Para criar uma sub-rede de pilha dupla com um intervalo IPv6, execute o
subnets createcomando usando as configurações de pilha dupla:gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --range=PRIMARY_IPv4_RANGE \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=IPV6_ACCESS_TYPE \ --region=REGION
Substitua:
- 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 da nova sub-rede, em notação CIDR. Saiba mais em Intervalos de sub-rede IPv4.
- IPV6_ACCESS_TYPE: o tipo de acesso IPv6 da nova
sub-rede,
internalouexternal. - REGION: a Google Cloud região do em que a nova sub-rede será criada.
Adicionar a sub-rede de pilha dupla a um recurso do App Engine
Depois de criar uma sub-rede de pilha dupla, configure o serviço do App Engine para usar a sub-rede:
No arquivo
app.yaml, especifique a rede e a sub-rede no campovpc_access:vpc_access: network_interface: network: NETWORK subnet: SUBNET vpc_egress: EGRESS_SETTING
Substitua:
NETWORK: o nome da rede criada na etapa anterior.
SUBNET: o nome da sub-rede criada na etapa anterior.
Opcional: EGRESS_SETTING: controla como o tráfego de saída é roteado. Esse campo oferece suporte às seguintes configurações:
all-traffic: todas as solicitações de saída são roteadas pela rede VPC.private-ranges-only(padrão): apenas o tráfego para endereços IP internos é roteado pela rede VPC. O tráfego da Internet usa o caminho padrão do App Engine.
Implante no App Engine executando o seguinte comando:
gcloud beta app deploy
Mudar uma sub-rede de pilha única para pilha dupla
Para adicionar um intervalo de sub-rede IPv6 a uma sub-rede somente IPv4 em uma rede VPC de modo personalizado, consulte Alterar o tipo de pilha de uma sub-rede para pilha dupla. Em seguida, implante o serviço do App Engine na sub-rede de pilha dupla.
Mudar uma sub-rede de pilha dupla para pilha única
Para mudar a sub-rede de pilha dupla de um recurso para uma sub-rede de pilha única, consulte Mudar uma sub-rede de pilha dupla para somente IPv4. Em seguida, implante o serviço do App Engine na sub-rede de pilha dupla.
Verificar a rede e a sub-rede
Para verificar se o recurso está na rede VPC, execute o seguinte comando:
gcloud beta app versions describe VERSION --service=SERVICE
Substitua:
- VERSION: a versão implantada do serviço
- SERVICE: o serviço implantado
O exemplo de saída a seguir mostra sua rede e sub-rede:
vpcAccess:
networkInterfaces:
- network: projects/YOUR_PROJECT/global/networks/YOUR_NETWORK
subnet: projects/YOUR_PROJECT/regions/YOUR_REGION/subnetworks/YOUR_SUBNET
vpcEgress: ALL_TRAFFIC/PRIVATE_RANGES_ONLY