En este tema, se describe cómo configurar los permisos necesarios para migrar las VM de forma manual. En esta guía el objetivo es ayudar a quienes desean comprender o controlar los permisos otorgados para el proceso de migración y las cargas de trabajo migradas.
En esta página, se describe el proceso de creación de roles para migrar a los siguientes destinos:
- Un solo proyecto de Google Cloud
- Varios proyectos de Google Cloud
Antes de comenzar
Se necesitan dos cuentas de servicio para las migraciones de Migrate for Compute Engine.
Para obtener más información sobre cada una de estas cuentas de servicio y sus funciones asociadas, consulta la página sobre cómo configurar Google Cloud.
Para obtener más información sobre los comandos de gcloud
y sus parámetros, consulta la documentación de la CLI de gcloud.
- Debes instalar el SDK de Google Cloud.
- Crea un proyecto de Google Cloud para alojar la infraestructura de Migrate for Compute Engine en Google Cloud.
Este proyecto se llamará proyecto de infraestructura. Usa este proyecto donde veas
project-ID
. - Habilita las siguientes API en tu proyecto de infraestructura:
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
Para continuar, indica si migras a un único proyecto o a varios.
Único proyecto
En esta sección, se describe cómo crear las cuentas de servicio requeridas para un único proyecto independiente y cómo asignar las funciones adecuadas a esas cuentas.
Crea cuentas de servicio
Crea la cuenta de servicio
migration-manager
en Google Cloud.gcloud config set project project-ID gcloud iam service-accounts create "migration-manager" --display-name "migration-manager"
Asigna funciones a la cuenta de servicio
migration-manager
.gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/cloudmigration.inframanager" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/cloudmigration.storageaccess" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"migration-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:"migration-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:"migration-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:"migration-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.viewer" \ --no-user-output-enabled --quiet gcloud iam service-accounts add-iam-policy-binding \ "migration-manager@project-ID.iam.gserviceaccount.com" \ --member=serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \ --role=roles/iam.serviceAccountTokenCreator --project project-ID
Crea la cuenta de servicio
migration-cloud-extension
en Google Cloud. Crea esta cuenta en el proyecto en el que planeas implementar la extensión de Cloud (CE) de Migrate for Compute Engine.gcloud iam service-accounts create "migration-cloud-extension" \ --display-name "migration-cloud-extension"
Asigna funciones a la cuenta de servicio
migration-cloud-extension
.gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"migration-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/cloudmigration.storageaccess" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"migration-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:"migration-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" \ --no-user-output-enabled --quiet
Varios proyectos
En esta sección, se describe cómo crear las funciones necesarias para migrar a varios proyectos y cómo asignarlas a las cuentas de servicio.
Crea cuentas de servicio y asígnales funciones
Crea la cuenta de servicio
migration-manager
en Google Cloud. Aunque puedes crear la cuenta de serviciomigration-manager
en cualquiera de tus proyectos, crear este servicio en el proyecto host simplificará la configuración.gcloud config set project project-ID gcloud iam service-accounts create "migration-manager" \ --display-name "migration-manager"
Asigna funciones a la cuenta de servicio
migration-manager
.gcloud organizations add-iam-policy-binding organization-ID --member \ serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/cloudmigration.inframanager" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/cloudmigration.storageaccess" \ --no-user-output-enabled --quiet gcloud organizations add-iam-policy-binding organization-ID --member \ serviceAccount:"migration-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:"migration-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:"migration-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:"migration-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.viewer" \ --no-user-output-enabled --quiet gcloud iam service-accounts add-iam-policy-binding \ "migration-manager@project-ID.iam.gserviceaccount.com" \ --member=serviceAccount:"migration-manager@project-ID.iam.gserviceaccount.com" \ --role=roles/iam.serviceAccountTokenCreator --project project-ID
Crea la cuenta de servicio
migration-cloud-extension
en Google Cloud. Crea esta cuenta en el proyecto en el que planeas implementar la extensión de Cloud (CE) de Migrate for Compute Engine.gcloud iam service-accounts create "migration-cloud-extension" \ --display-name "migration-cloud-extension"
Asigna funciones a la cuenta de servicio
migration-cloud-extension
.gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"migration-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/cloudmigration.storageaccess" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"migration-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:"migration-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" \ --no-user-output-enabled --quiet