Configurar permisos para una VPC compartida

La VPC compartida permite a las organizaciones conectar recursos de varios proyectos a una red de nube privada virtual (VPC) común para que puedan comunicarse entre sí de forma segura y eficiente mediante IPs internas de esa red.

Cuando usas una VPC compartida, designas un proyecto como proyecto host de VPC compartida y le asocias uno o varios proyectos de servicio. Las redes de VPC del proyecto host de VPC compartida se denominan redes de VPC compartidas. Los recursos aptos de los proyectos de servicio pueden usar subredes de la red de VPC compartida.

Usar VPC compartida con Migrate to Virtual Machines

Si tu entorno de Migrate to Virtual Machines usa una VPC compartida, debes asegurarte de que has configurado los permisos correctamente para poder desplegar una VM migrada en el proyecto de destino de Compute Engine.

Por ejemplo, tienes el siguiente entorno:

  • Proyecto A: proyecto host de Migrate to Virtual Machines
  • Proyecto B: proyecto host de VPC compartida y definiciones de subred
  • Proyecto C: proyecto de destino de Migrate to Virtual Machines y proyecto de servicio de VPC compartida

En este ejemplo, se define una VPC compartida en el proyecto B. El proyecto B se denomina proyecto host de la VPC compartida.

Después, migras una VM a una instancia de Compute Engine en el proyecto C, el proyecto de destino de Migrate to Virtual Machines, donde el proyecto C accede a la VPC compartida. En este ejemplo, el proyecto C se denomina proyecto de servicio de VPC compartida. Debes haber configurado el proyecto C para que funcione como proyecto de servicio del proyecto B, tal como se describe en Aprovisionar VPC compartida, antes de desplegar la instancia de Compute Engine.

Sin embargo, antes de poder desplegar la instancia de Compute Engine, también debes asegurarte de que la cuenta de servicio predeterminada de Migrate to Virtual Machines del proyecto A tenga los permisos necesarios. En concreto, para migrar a máquinas virtuales, se necesita el rol compute.networkUser en las subredes del proyecto de host de la VPC compartida.

En la siguiente sección se describe cómo configurar la cuenta de servicio predeterminada de Migrate to Virtual Machines.

Configurar la cuenta de servicio predeterminada de Migrate to Virtual Machines

Se crea una cuenta de servicio predeterminada en el proyecto host durante la creación de la primera migración, tal como se describe en el artículo Instalar Migrate Connector.

Para desplegar una instancia de Compute Engine en un proyecto de destino que acceda a una VPC compartida, debes añadir el rol compute.networkUser a las subredes del proyecto del host de la VPC compartida en la cuenta de servicio predeterminada de Migrate to Virtual Machines. Tienes dos opciones para añadir este rol:

  • Asigna la cuenta de servicio predeterminada de Migrar a Virtual Machines como administrador del proyecto de servicio con acceso solo a algunas de las subredes del proyecto del host de la VPC compartida. Esta opción proporciona un medio detallado para definir administradores de proyectos de servicio. Para ello, se les concede el rol compute.networkUser solo en algunas subredes del proyecto de host de la VPC compartida.

    Consulta Administradores de proyectos de servicio de algunas subredes para ver los pasos de este procedimiento.

  • Permite que la cuenta de servicio predeterminada de Migrate to Virtual Machines sea un administrador de proyectos de servicio con acceso a todas las subredes del proyecto host de la VPC compartida. En este caso, asignas el rol compute.networkUser al proyecto del host de la VPC compartida a la cuenta de servicio predeterminada de Migrate to Virtual Machines. La cuenta de servicio predeterminada tendrá acceso a todas las subredes actuales y futuras del proyecto host de la VPC compartida.

Para configurar la cuenta de servicio predeterminada de Migrate to Virtual Machines para que acceda a todas las subredes del proyecto del host de la VPC compartida, sigue estos pasos:

  1. Abre la página Migrar a máquinas virtuales en la Google Cloud consola:

    Ir a la página Migrate to Virtual Machines

  2. Selecciona la pestaña Objetivos.

    En la parte superior de la página, se muestra un cuadro de información con la dirección de correo de la cuenta de servicio predeterminada de Migrate to Virtual Machines con el siguiente formato:

    service-M4CE_HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com

  3. Copia la dirección de correo.

  4. Usa esa dirección de correo para conceder el rol compute.networkUser en el proyecto del host de la VPC compartida a la cuenta de servicio predeterminada de Migrate to Virtual Machines:

    gcloud projects add-iam-policy-binding VPC_HOST_PROJECT_ID \
       --member=serviceAccount:service-M4CE_HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com \
       --role=roles/compute.networkUser

Para obtener más información sobre cómo asignar roles y permisos a una cuenta de usuario, consulta Conceder, cambiar y revocar el acceso a los recursos.