Configurer la double pile (IPv4 et IPv6)

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 :

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

  1. Accédez à la console Google Cloud et activez l'API Compute Engine :

    Activer l'API Compute Engine

  2. Accédez à la page Réseaux VPC :

    Accéder aux réseaux VPC

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

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

  5. Dans l'onglet Sous-réseaux, cliquez sur Ajouter un sous-réseau. Dans le panneau qui apparaît :

    1. Indiquez un Nom.
    2. Sélectionnez une Région.
    3. Dans le champ Type de pile d'adresses IP, sélectionnez IPv4 et IPv6 (double pile).
    4. Saisissez une plage IPv4. Il s'agit de la plage d'adresses IPv4 principale du sous-réseau.
    5. 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.

    6. Cliquez sur Ajouter.

gcloud

  1. 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 /48 compris dans la plage fd20::/20 utilisé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.

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

  3. Pour créer un sous-réseau à double pile avec une plage IPv6, exécutez la commande subnets create avec 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, internal ou external.
    • 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 :

  1. Dans votre fichier app.yaml, spécifiez le réseau et le sous-réseau dans le champ vpc_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.
  2. 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