Cet article explique comment configurer les autorisations pour une migration manuelle de Google Cloud Migrate for Compute Engine (anciennement Velostrata). Il est destiné à ceux qui souhaitent mieux comprendre ou contrôler l'attribution des autorisations dans le cadre du processus de migration et des charges de travail migrées.
Cette page décrit le processus de création de rôle pour la migration vers :
- Un seul projet Google Cloud
- Plusieurs projets Google Cloud
Prérequis
Pour effectuer les migrations, Migrate for Compute Engine nécessite la création de deux comptes de service.
Pour plus d'informations sur chacun de ces comptes de service et sur les rôles associés, consultez la page Configurer Google Cloud.
Pour en savoir plus sur les commandes gcloud
et leurs paramètres, consultez la documentation de gcloud CLI.
- Vous devez installer le SDK Google Cloud.
- Créez un projet Google Cloud afin d'héberger l'infrastructure Migrate for Compute Engine sur GCP.
Nous désignerons ce projet par projet d'infrastructure. Utilisez ce projet chaque fois que
project-ID
apparaît. - Activez les API suivantes sur votre projet d'infrastructure.
gcloud services enable iam.googleapis.com --project project-ID gcloud services enable cloudresourcemanager.googleapis.com --project project-ID gcloud services enable compute.googleapis.com --project project-ID gcloud services enable storage-component.googleapis.com --project project-ID gcloud services enable logging.googleapis.com --project project-ID gcloud services enable monitoring.googleapis.com --project project-ID
Pour continuer, indiquez si vous effectuez une migration vers un ou plusieurs projets.
Projet unique
Cette section décrit comment créer les comptes de service requis pour un seul projet autonome et attribuer les rôles appropriés à ces comptes de service.
Créer des rôles
Créez les rôles au niveau du projet :
- Ouvrez une invite de commande et exécutez la commande suivante. Remplacez le paramètre de connexion par les informations de connexion de votre compte Google Cloud.
gcloud auth login login@google.com --no-launch-browser --brief
- Téléchargez le fichier Cloud Deployment Manager à partir de la page Téléchargements.
- Développez le fichier téléchargé et enregistrez-le dans un répertoire auquel vous pouvez accéder pour créer les rôles.
- Dans les répertoires développés, ouvrez le répertoire
manual
.cd google/migrate/gce/manual
Attribuez des autorisations aux rôles à l'aide des fichiers YAML de ce répertoire :
gcloud iam roles create "velos_manager" --project project-ID \ --file velos_gcp_mgmt_role.yaml --no-user-output-enabled --quiet gcloud iam roles create "velos_ce" --project project-ID \ --file velos_gcp_ce_role.yaml.yaml --no-user-output-enabled --quiet
Créer des comptes de service
Créez le compte de service
velos-manager
dans Google Cloud. Remarque : Leproject-ID
correspond à votre projet d'infrastructure.gcloud config set project project-ID gcloud iam service-accounts create "velos-manager" --display-name "velos-manager"
Attribuez le rôle
velos_manager
au compte de servicevelos-manager
.gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "projects/project-ID/roles/velos_manager" \ --no-user-output-enabled --quiet
Ajoutez les rôles supplémentaires requis au rôle
velos_manager
:gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/iam.serviceAccountUser" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.viewer" --no-user-output-enabled --quiet gcloud iam service-accounts add-iam-policy-binding \ "velos-manager@project-ID.iam.gserviceaccount.com" \ --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role=roles/iam.serviceAccountTokenCreator --project project-ID
Créez le compte de service
velos-cloud-extension
dans Google Cloud. Créez ce compte dans le projet dans lequel vous prévoyez de déployer l'extension cloud Migrate for Compute Engine.gcloud iam service-accounts create "velos-cloud-extension" \ --display-name "velos-cloud-extension"
Attribuez le rôle
velos_ce
au compte de servicevelos-cloud-extension
:gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "projects/project-ID/roles/velos_ce" \ --no-user-output-enabled --quiet
Attribuez les rôles supplémentaires requis au compte de service
velos-cloud-extension
:gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" \ --no-user-output-enabled --quiet
Projets multiples
Cette section explique comment créer les rôles requis pour les migrations vers plusieurs projets et les attribuer aux comptes de service.
Créer des rôles
Les étapes suivantes permettent de créer des rôles pour Migrate for Compute Engine sur Google Cloud.
- Créez les rôles Migrate for Compute Engine dans Google Cloud au niveau de l'organisation :
gcloud auth login orgadmin@google.com --no-launch-browser --brief
- Téléchargez le fichier Cloud Deployment Manager à partir de la page Téléchargements.
- Développez le fichier téléchargé et enregistrez-le dans un répertoire auquel vous pouvez accéder pour créer les rôles.
- Dans les répertoires développés, ouvrez le répertoire
manual
.cd google/migrate/gce/manual
Attribuez des autorisations aux rôles à l'aide des fichiers YAML de ce répertoire :
gcloud iam roles create "velos_manager" --organization organization-ID \ --file velos_gcp_mgmt_role.yaml --no-user-output-enabled --quiet gcloud iam roles create "velos_ce" --project project-ID \ --file velos_gcp_ce_role.yaml.yaml --no-user-output-enabled --quiet
Créer des comptes de service et leur attribuer des rôles
Créez le compte de service
velos-manager
dans Google Cloud. Bien que le compte de servicevelos-manager
puisse être créé dans n'importe lequel de vos projets, il est préférable, dans le cadre de Migrate for Compute Engine 4.5, de créer ce service dans le projet hôte pour simplifier la configuration.gcloud config set project project-ID gcloud iam service-accounts create "velos-manager" \ --display-name "velos-manager"
Attribuez le rôle
velos_manager
au compte de servicevelos-manager
.gcloud organizations add-iam-policy-binding organization-ID \ --member serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com"\ --role organizations/organization-ID/roles/"velos_manager"\ --no-user-output-enabled --quiet gcloud iam service-accounts add-iam-policy-binding \ "velos-manager@project-ID.iam.gserviceaccount.com" \ --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role=roles/iam.serviceAccountTokenCreator --project project-ID
Ajoutez les rôles supplémentaires requis au rôle
velos_manager
:gcloud organizations add-iam-policy-binding organization-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/iam.serviceAccountUser" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.viewer" --no-user-output-enabled --quiet gcloud iam service-accounts add-iam-policy-binding \ "velos-manager@project-ID.iam.gserviceaccount.com" \ --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role=roles/iam.serviceAccountTokenCreator --project project-ID
Créez le compte de service
velos-cloud-extension
dans Google Cloud. Créez ce compte dans le projet dans lequel vous prévoyez de déployer l'extension cloud Migrate for Compute Engine.gcloud iam service-accounts create "velos-cloud-extension" \ --display-name "velos-cloud-extension"
Attribuez le rôle
velos_ce
au compte de servicevelos-cloud-extension
:gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "projects/project-ID/roles/velos_ce" \ --no-user-output-enabled --quiet
Attribuez les rôles supplémentaires requis au compte de service
velos-cloud-extension
:gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" \ --no-user-output-enabled --quiet