Les sous-réseaux à double pile permettent à vos ressources App Engine d'envoyer du trafic IPv4 et IPv6 vers un réseau VPC avec sortie VPC directe. Vous pouvez remplacer un sous-réseau IPv4 uniquement (pile unique) existant par un sous-réseau à double pile.
Types de sous-réseaux
Les réseaux VPC sont compatibles avec les types de sous-réseaux Compute Engine suivants :
Sous-réseaux IPv4 uniquement (pile unique), avec uniquement des plages de sous-réseaux IPv4
Sous-réseaux IPv4 et IPv6 (double pile), avec des plages de sous-réseaux IPv4 et IPv6
Limites de la double pile
Avant de modifier le type de pile sur une ressource App Engine existante, tenez compte des limites suivantes :
La prise en charge de la double pile n'est disponible qu'avec les sous-réseaux d'un réseau VPC en mode personnalisé. Pour que le type d'accès interne soit disponible pour les sous-réseaux à double pile, la plage IPv6 interne du réseau VPC doit être activée. Configurez ou convertissez le réseau VPC en mode personnalisé.
Par rapport aux sous-réseaux IPv4 uniquement, les sous-réseaux à double pile peuvent présenter des latences de démarrage à froid plus élevées, ce qui limite la vitesse à laquelle votre application peut évoluer.
NAT64 n'est pas accepté.
Avant de commencer
Assurez-vous que l'agent de service App Engine dispose du rôle Administrateur des adresses IP publiques Compute (roles/compute.publicIpAdmin) pour utiliser le sous-réseau avec l'adresse IPv6 externe.
Configurer un sous-réseau à double pile
Les sous-réseaux à double pile possèdent des plages d'adresses IPv4 et IPv6.
Pour configurer un sous-réseau à double pile, vous pouvez utiliser la console Google Cloud ou Google Cloud CLI :
Console
Accédez à la console Google Cloud et activez l'API Compute Engine :
Accédez à la page Réseaux VPC :
Cliquez sur Créer un réseau VPC si vous créez un réseau en mode personnalisé. Si vous utilisez un réseau VPC existant, cliquez sur son nom pour afficher la page Détails du réseau VPC.
Si vous créez un réseau ou convertissez un réseau existant, saisissez le nom et assurez-vous que le mode de création de sous-réseau est défini sur Personnalisé, puis sélectionnez Configurer une plage d'adresses IPv6 interne ULA pour ce réseau VPC.
Dans l'onglet Sous-réseaux, cliquez sur Ajouter un sous-réseau. Dans le panneau qui apparaît :
- Indiquez un Nom.
- Sélectionnez une Région.
- Dans le champ Type de pile d'adresses IP, sélectionnez IPv4 et IPv6 (double pile).
- Saisissez une plage IPv4. Il s'agit de la plage d'adresses IPv4 principale du sous-réseau.
Sélectionnez le type d'accès IPv6.
Si l'option Interne n'est pas disponible et que vous en avez besoin, vérifiez qu'une plage IPv6 interne est attribuée sur le réseau.
Cliquez sur Ajouter.
gcloud
Pour créer un réseau en mode personnalisé compatible avec les sous-réseaux à double pile, exécutez la commande
gcloud compute networks create.Pour configurer des plages IPv6 internes sur n'importe quel sous-réseau de ce réseau, utilisez l'option
--enable-ula-internal-ipv6. Cette option attribue un préfixe ULA/48compris dans la plagefd20::/20utilisée par Google Cloud pour les plages de sous-réseaux IPv6 internes.gcloud compute networks create NETWORK \ --subnet-mode=custom \ --enable-ula-internal-ipv6
Remplacez NETWORK par le nom du réseau VPC qui contiendra le nouveau sous-réseau.
Pour convertir ou mettre à jour un réseau en mode personnalisé afin qu'il prenne en charge les sous-réseaux à double pile, exécutez la commande suivante :
gcloud compute networks update NETWORK \ --switch-to-custom-subnet-mode \ --enable-ula-internal-ipv6
Remplacez NETWORK par le nom du réseau VPC qui contiendra le nouveau sous-réseau.
Pour créer un sous-réseau à double pile avec une plage IPv6, exécutez la commande
subnets createavec les paramètres à double pile :gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --range=PRIMARY_IPv4_RANGE \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=IPV6_ACCESS_TYPE \ --region=REGION
Remplacez les éléments suivants :
- SUBNET : Nom du nouveau sous-réseau.
- NETWORK: nom du réseau VPC qui contiendra le nouveau sous-réseau.
- PRIMARY_IPv4_RANGE : plage d'adresses IPv4 principales pour le nouveau sous-réseau, au format CIDR. Pour en savoir plus, consultez la section sur les plages de sous-réseaux IPv4.
- IPV6_ACCESS_TYPE : type d'accès IPv6 du nouveau sous-réseau,
internalouexternal. - REGION : région Google Cloud dans laquelle le nouveau sous-réseau sera créé.
Ajouter le sous-réseau à double pile à une ressource App Engine
Une fois que vous avez créé un sous-réseau à double pile, configurez votre service App Engine pour qu'il l'utilise :
Dans votre fichier
app.yaml, spécifiez le réseau et le sous-réseau dans le champvpc_access:vpc_access: network_interface: network: NETWORK subnet: SUBNET vpc_egress: EGRESS_SETTING
Remplacez les éléments suivants :
NETWORK : nom du réseau que vous avez créé à l'étape précédente.
SUBNET : nom du sous-réseau que vous avez créé à l'étape précédente.
Facultatif : EGRESS_SETTING contrôle la manière dont le trafic sortant est routé. Ce champ accepte les paramètres de configuration suivants :
all-traffic: toutes les requêtes sortantes sont acheminées via le réseau VPC.private-ranges-only(par défaut) : seul le trafic vers les adresses IP internes est acheminé via le réseau VPC. Le trafic Internet utilise le chemin d'accès App Engine par défaut.
Déployez l'application sur App Engine en exécutant la commande suivante :
gcloud beta app deploy
Passer d'un sous-réseau à pile unique à un sous-réseau à double pile
Pour ajouter une plage de sous-réseaux IPv6 à un sous-réseau IPv4 uniquement existant dans un réseau VPC en mode personnalisé, consultez Définir le type de pile d'un sous-réseau sur double pile. Déployez ensuite le service App Engine sur le sous-réseau à double pile.
Passer d'un sous-réseau à double pile à un sous-réseau à pile unique
Pour remplacer le sous-réseau à double pile d'une ressource par un sous-réseau à pile unique, consultez Remplacer un sous-réseau à double pile par un sous-réseau IPv4 uniquement. Déployez ensuite le service App Engine sur le sous-réseau à double pile.
Valider le réseau et le sous-réseau
Pour vérifier que votre ressource se trouve sur le réseau VPC, exécutez la commande suivante :
gcloud beta app versions describe VERSION --service=SERVICE
Remplacez les éléments suivants :
- VERSION : version déployée de votre service
- SERVICE : service déployé
L'exemple de résultat suivant indique votre réseau et votre sous-réseau :
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