Migrer un sous-réseau de service du peering vers Private Service Connect

Ce document explique comment les producteurs de services peuvent migrer leurs services basés sur le peering vers Private Service Connect et conserver l'adresse IP utilisée pour accéder au service. Ce processus de migration nécessite que toutes les ressources connectées à un sous-réseau donné soient migrées en même temps.

Le processus de migration est lancé par le producteur de services, mais implique des tâches effectuées à la fois par le producteur et le consommateur. Les services gérés par Google peuvent utiliser un agent de service pour effectuer des tâches au nom du client. La migration implique un temps d'arrêt et un changement de prix pour le producteur et le consommateur.

Chaque producteur de services détermine s'il va migrer vers Private Service Connect et quand. Pour savoir si un producteur de services migre de l'appairage de réseaux VPC vers Private Service Connect, consultez la documentation du service ou contactez le producteur de services.

Avant de commencer

Déployer le service à l'aide de Private Service Connect

Créez un réseau VPC, déployez des ressources de service dans le réseau et publiez le service via Private Service Connect.

Lorsque vous créez l'équilibreur de charge pour le service, utilisez une adresse IP différente de celle utilisée précédemment par l'équilibreur de charge. L'adresse IP d'origine est nécessaire plus tard pour créer le point de terminaison.

Lorsque vous publiez un service, vous créez un rattachement de service. L'URI du rattachement de service est également nécessaire ultérieurement pour créer le point de terminaison.

Arrêter le service basé sur le peering

Pour arrêter le service basé sur le peering, vous devez créer une plage interne pour réserver la plage d'adresses IP du service avant de supprimer le sous-réseau du producteur.

Créer une plage interne

Avant de supprimer le sous-réseau du producteur, créez une plage interne pour éviter que la plage d'adresses IP du sous-réseau ne soit réutilisée par d'autres sous-réseaux du réseau producteur ou consommateur.

Pour en savoir plus sur cette plage interne, consultez la section Plages internes pour la migration.

gcloud

Exécutez la commande internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --project=PRODUCER_PROJECT_ID \
    --ip-cidr-range=CIDR_RANGE \
    --network=PRODUCER_NETWORK_NAME \
    --usage=FOR_MIGRATION \
    --migration-source=PRODUCER_SUBNET_URI \
    --migration-target=CONSUMER_SUBNET_URI

Remplacez les éléments suivants :

  • RANGE_NAME : nom de la nouvelle plage interne.
  • PRODUCER_PROJECT_ID: ID du projet du producteur.
  • CIDR_RANGE : plage CIDR à allouer à la nouvelle plage interne.
  • PRODUCER_NETWORK_NAME: nom du réseau dans lequel créer la plage interne.
  • PRODUCER_SUBNET_URI: URI du sous-réseau du producteur contenant l'équilibreur de charge du service.
  • CONSUMER_SUBNET_URI: URI du sous-réseau client prévu. Ce sous-réseau n'existe pas au moment de l'exécution de cette commande.

Supprimer le sous-réseau du producteur d'appairage

Vous devez supprimer toutes les ressources du sous-réseau du producteur avant de pouvoir le supprimer (par exemple, les instances de machine virtuelle (VM), les règles de transfert, les groupes d'instances, les vérifications de l'état et les adresses IP réservées). Une fois les ressources supprimées, vous pouvez supprimer le sous-réseau.

Créer des ressources de consommateur

Collaborez avec le client du service pour créer les ressources suivantes dans son réseau VPC. Les ressources peuvent être créées manuellement ou, pour les services gérés par Google, être automatisées via un agent de service.

Créer un sous-réseau de migration de pairs

Créez un sous-réseau de migration d'homologue dans le réseau VPC du client pour fournir l'adresse IP du point de terminaison Private Service Connect. Le sous-réseau a pour objectif PEER_MIGRATION, ce qui l'empêche d'être utilisé pour d'autres ressources que les points de terminaison Private Service Connect.

Pour en savoir plus, consultez la section Sous-réseaux de migration des pairs.

gcloud

Exécutez la commande networks subnets create.

gcloud compute networks subnets create CONSUMER_SUBNET \
    --purpose=PEER_MIGRATION \
    --project=CONSUMER_PROJECT \
    --network=CONSUMER_NETWORK \
    --range=CIDR_RANGE \
    --region=REGION

Remplacez les éléments suivants :

  • CONSUMER_SUBNET: nom du sous-réseau du client
  • CONSUMER_PROJECT: ID du projet utilisateur
  • CONSUMER_NETWORK: nom du réseau client
  • CIDR_RANGE: plage CIDR à allouer au nouveau sous-réseau. Cette plage doit correspondre à la plage CIDR de la plage interne.
  • REGION: région dans laquelle créer le sous-réseau

Créer un point de terminaison Private Service Connect

Créez un point de terminaison Private Service Connect dans le sous-réseau de migration d'appariement du client. Le client a besoin de l'URI du rattachement de service pour créer le point de terminaison.

gcloud

  1. Réservez une adresse IP interne pour le point de terminaison.

    Exécutez la commande addresses create.

    gcloud compute addresses create ENDPOINT_ADDRESS_NAME \
        --project=CONSUMER_PROJECT \
        --region=REGION \
        --address=ENDPOINT_ADDRESS \
        --subnet=CONSUMER_SUBNET
    

    Remplacez les éléments suivants :

    • ENDPOINT_ADDRESS_NAME: nom de la ressource d'adresse IP
    • CONSUMER_PROJECT: ID du projet utilisateur
    • REGION: région dans laquelle créer l'adresse IP
    • ENDPOINT_ADDRESS: adresse IP à attribuer à la ressource d'adresse IP. Cette adresse doit être la même que celle utilisée dans l'équilibreur de charge du service.
    • CONSUMER_SUBNET: nom du sous-réseau du client
  2. Créez le point de terminaison.

    Exécutez la commande forwarding-rules create.

    gcloud compute forwarding-rules create ENDPOINT \
        --region=REGION \
        --network=CONSUMER_NETWORK \
        --address=ENDPOINT_ADDRESS \
        --target-service-attachment=SERVICE_ATTACHMENT_URI
    

    Remplacez les éléments suivants :

    • ENDPOINT: nom du point de terminaison
    • REGION: région dans laquelle créer le point de terminaison
    • CONSUMER_NETWORK: nom du réseau client
    • ENDPOINT_ADDRESS: adresse IP réservée à attribuer au point de terminaison. Vous pouvez spécifier l'adresse IP directement ou utiliser le nom de la ressource d'adresse IP.
    • SERVICE_ATTACHMENT_URI: URI du rattachement de service

Supprimer la plage interne du producteur

Une fois le sous-réseau de migration des consommateurs créé, la plage interne n'est plus nécessaire et peut être supprimée.

gcloud

Exécutez la commande internal-ranges delete.

gcloud network-connectivity internal-ranges delete RANGE_NAME \
    --project=PRODUCER_PROJECT_ID

Remplacez les éléments suivants :

  • RANGE_NAME: nom de la plage interne
  • PRODUCER_PROJECT_ID: ID du projet du producteur

Vérifier que le point de terminaison fonctionne

Demandez au client de confirmer qu'il peut se connecter au service via le point de terminaison.

Si le point de terminaison ne fonctionne pas et que le dépannage ne résout pas le problème, vous pouvez annuler la migration.

Finaliser la migration

Si le point de terminaison fonctionne comme prévu, vous pouvez finaliser la migration en remplaçant le sous-réseau de migration de pair du client par un sous-réseau standard.

Mettre à jour le sous-réseau de migration d'appariement du client

La mise à jour du sous-réseau de migration de pairs du client en sous-réseau standard permet au client d'utiliser le sous-réseau pour tout type de ressource.

gcloud

Exécutez la commande networks subnets create.

gcloud compute networks subnets update CONSUMER_SUBNET \
    --purpose=PRIVATE \
    --region=REGION \
    --project=CONSUMER_PROJECT

Remplacez les éléments suivants :

  • CONSUMER_SUBNET: nom du sous-réseau du client
  • REGION: région du sous-réseau client
  • CONSUMER_PROJECT: ID du projet utilisateur

Supprimer les connexions d'appairage

Si la connexion de peering n'est plus nécessaire, supprimez les configurations de peering pour le consommateur et le producteur.

Effectuer le rollback de la migration

Vous ne pouvez annuler la migration que si le sous-réseau client n'a pas encore été converti en sous-réseau standard. Si vous effectuez une restauration, le service est mis à disposition via l'appairage de réseaux VPC.

  1. Si elle existe toujours, supprimez la plage interne dans le projet du producteur.
  2. Créez une plage interne dans le projet du client. Lors du rollback, la source de migration est le sous-réseau client et la cible de migration est le sous-réseau producteur.

    gcloud network-connectivity internal-ranges create RANGE_NAME \
        --project=CONSUMER_PROJECT \
        --ip-cidr-range=CIDR_RANGE \
        --network=CONSUMER_NETWORK \
        --usage=FOR_MIGRATION \
        --migration-source=CONSUMER_SUBNET_URI \
        --migration-target=PRODUCER_SUBNET_URI
    
  3. Supprimez le point de terminaison Private Service Connect du client.

  4. Supprimez la ressource d'adresse IP du consommateur.

  5. Recréez le sous-réseau du producteur en utilisant le même nom et la même plage CIDR. Définissez l'objectif du sous-réseau sur PRIVATE.

  6. Recréez les ressources nécessaires pour fournir le service dans le sous-réseau du producteur.

  7. Le client vérifie qu'il peut accéder au service via la connexion de peering.