Comment copier une instance GCP Compute Engine entre projets

Google Cloud Platform (GCP) est l’un des principaux fournisseurs de services cloud, offrant une large gamme d’outils et de services pour aider les entreprises et les développeurs à créer, déployer et faire évoluer des applications en toute transparence. L’un des services les plus utilisés au sein de GCP est Compute Engine, qui vous permet de créer et de gérer des machines virtuelles (VM) adaptées à vos besoins spécifiques. Que vous exécutiez une application web, une base de données ou un environnement de développement, Compute Engine offre la flexibilité et l’évolutivité requises pour les charges de travail modernes.

Cependant, à mesure que les organisations grandissent ou se restructurent, il peut arriver que vous ayez besoin de transférer une instance Compute Engine de Projet A vers Projet B. C’est souvent le cas lors de la migration de ressources entre équipes, de la consolidation de projets, ou même de la collaboration avec une autre organisation. Bien que GCP ne propose pas de fonction directe de « copie » pour déplacer des instances de VM entre projets — en particulier lorsque les projets appartiennent à des comptes différents —, il existe une solution de contournement fiable utilisant des instantanés et des autorisations partagées.

Dans ce guide complet, nous vous accompagnerons étape par étape tout au long du processus, de la création d’instantanés de votre VM à la configuration des autorisations et au déploiement de l’instance dans le projet cible. Que vous soyez un ingénieur cloud chevronné ou un débutant explorant GCP, ce guide vous fournira les connaissances et les outils pour accomplir cette tâche efficacement. À la fin de cet article, vous serez en mesure de migrer votre instance GCP Compute Engine en toute transparence, même entre des projets appartenant à des comptes distincts.

Plongeons-nous dans le sujet et simplifions ce qui peut sembler au premier abord un processus de migration complexe.



Pourquoi copier une instance GCP Compute entre projets ?

Il existe plusieurs raisons pour lesquelles vous pourriez avoir besoin de copier une instance de VM entre projets :

  • Migration de projet : déplacer des ressources vers un nouveau projet pour une meilleure organisation ou facturation.
  • Collaboration : partager une VM avec une autre équipe ou organisation.
  • Sauvegarde et restauration : créer une sauvegarde d’une VM dans un autre projet pour la reprise après sinistre.

Prérequis

Avant de commencer, assurez-vous des éléments suivants :

  1. Autorisations d’accès:
    • Vous disposez des autorisations Propriétaire ou Éditeur dans Projet A(projet source).
    • Vous disposez d’autorisations suffisantes (par exemple, roles/compute.admin) dans Projet B(projet cible).
  2. Facturation activée:
    • Les deux projets doivent avoir la facturation activée pour créer et utiliser des ressources.
  3. Cloud SDK installé:
    • Installez le Google Cloud SDK sur votre machine locale ou utilisez Cloud Shell.
  4. Instantané de la VM source:
    • Vous devrez créer un instantané de l’instance de VM source.

Guide étape par étape pour copier une instance GCP Compute

Étape 1 : créer un instantané de la VM source dans le Projet A

Un instantané est une copie ponctuelle du disque de la VM. Pour créer un instantané :

  1. Ouvrez la Google Cloud Console pour Projet A.
  2. Accédez à Compute Engine> Instantanés.
  3. Cliquez sur « Créer un instantané ».
  4. Renseignez les informations requises :
    • Nom : donnez à l’instantané un nom unique (par exemple, my-vm-snapshot).
    • Disque source : sélectionnez le disque de la VM source.
    • Emplacement : choisissez une multirégion ou une région proche de votre projet cible.
  5. Cliquez sur « Créer ».

Vous pouvez également utiliser la commande gcloud suivante :

gcloud compute snapshots create my-vm-snapshot \
    --source-disk=SOURCE_DISK_NAME \
    --source-disk-zone=SOURCE_DISK_ZONE \
    --project=PROJECT_A_ID

Remplacez :

  • SOURCE_DISK_NAME par le nom du disque de la VM source.
  • SOURCE_DISK_ZONE par la zone de la VM source (par exemple, us-central1-a).
  • PROJECT_A_ID par l’ID du Projet A.

Étape 2 : partager l’instantané avec le Projet B

Pour permettre au Projet B d’accéder à l’instantané, vous devez accorder des autorisations au compte cible.

  1. Dans Projet A, accédez à Compute Engine> Instantanés.
  2. Sélectionnez l’instantané que vous avez créé.
  3. Cliquez sur « Afficher le panneau d’informations » (ou l’icône crayon pour modifier).
  4. Ajoutez une liaison de stratégie IAM:
    • Membre : user:[email protected] (remplacez par l’adresse e-mail du compte cible).
    • Rôle : Compute Storage Admin.

Vous pouvez également utiliser cette commande gcloud suivante :

gcloud compute snapshots add-iam-policy-binding my-vm-snapshot \
    --member="user:[email protected]" \
    --role="roles/compute.storageAdmin" \
    --project=PROJECT_A_ID


Étape 3 : utiliser l’instantané pour créer un disque dans le Projet B

Maintenant que l’instantané est partagé, vous pouvez créer un nouveau disque dans Projet B à l’aide de l’instantané.

  • Basculez vers Projet B dans Google Cloud Console ou Cloud Shell :
gcloud config set project PROJECT_B_ID
  • Créez un nouveau disque à partir de l’instantané partagé :
gcloud compute disks create my-new-disk \
    --source-snapshot=projects/PROJECT_A_ID/global/snapshots/my-vm-snapshot \
    --zone=TARGET_ZONE \
    --project=PROJECT_B_ID

    Remplacez :

    • PROJECT_A_ID par l’ID du Projet A.
    • my-vm-snapshot par le nom de l’instantané.
    • TARGET_ZONE par la zone où vous souhaitez créer le disque (par exemple, us-central1-a).
    • PROJECT_B_ID par l’ID du Projet B.

    Étape 4 : créer une nouvelle VM dans le Projet B avec le disque

    Une fois le disque créé, vous pouvez l’utiliser pour lancer une nouvelle VM dans le Projet B.

    • Exécutez la commande suivante pour créer une nouvelle VM :
    gcloud compute instances create my-new-vm \
        --zone=TARGET_ZONE \
        --disk=name=my-new-disk,boot=yes,auto-delete=no \
        --project=PROJECT_B_ID
    
    
    • Remplacez les espaces réservés par les valeurs appropriées :
      • my-new-vm : nom de la nouvelle VM.
      • my-new-disk : nom du disque créé à partir de l’instantané.
      • TARGET_ZONE: zone dans laquelle la VM sera créée.
      • PROJECT_B_ID: ID du Projet B.

    Étape 5 : vérifier la nouvelle VM

    Après la création de la VM, vérifiez qu’elle fonctionne et qu’elle est accessible :

    1. Accédez à Compute Engine> Instances de VM dans Projet B.
    2. Vérifiez l’état de la nouvelle VM.
    3. Connectez-vous en SSH à la VM pour vous assurer qu’elle fonctionne comme prévu.

    Bonnes pratiques

    • Nettoyer les ressources : supprimez l’instantané du Projet A s’il n’est plus nécessaire, pour éviter des frais inutiles :
    gcloud compute snapshots delete my-vm-snapshot --project=PROJECT_A_ID
    
    • Utiliser des libellés : ajoutez des libellés à la nouvelle VM et au disque du Projet B pour une meilleure gestion des ressources.
    • Surveiller les coûts : surveillez la facturation des deux projets pour éviter des frais inattendus.

    Conclusion

    Copier une instance GCP Compute Engine d’un projet à un autre, en particulier lorsque les projets appartiennent à des comptes différents, implique de créer un instantané, de le partager, puis de l’utiliser pour créer une nouvelle VM. En suivant les étapes décrites dans ce guide, vous pourrez migrer votre VM avec succès, tout en garantissant sécurité et efficacité.

    Si ce guide vous a été utile, n’hésitez pas à le partager avec d’autres ou à laisser un commentaire ci-dessous. Faites-nous savoir si vous avez des questions ou des conseils supplémentaires pour gérer les ressources GCP !

    Laisser un commentaire