Usa una imagen de máquina para almacenar la configuración, los metadatos, los permisos y los datos de uno o más discos de una instancia de VM que se ejecuta en Compute Engine. Para obtener información sobre cuándo y cómo usar las imágenes de máquina, consulta Imágenes de máquina.
En este documento, se describen los pasos para importar una imagen de máquina desde un dispositivo virtual.
Antes de comenzar
- Si el proyecto en el que quieres importar la imagen tiene una política de imágenes confiables definida, agrega
projects/compute-image-import
yprojects/compute-image-tools
a la lista de publicadores permitidos. - Si importas un dispositivo virtual desde un proyecto diferente, consulta Importa entre proyectos.
- Revisa los requisitos de las VM de origen y de los archivos OVF en la guía para importar dispositivos virtuales de Compute Engine.
- Si deseas obtener información a fin de cumplir con los requisitos antes de importar imágenes de máquinas, consulta Requisitos para importar y exportar imágenes de VM.
-
Configura la autenticación si aún no lo hiciste.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Puedes compartir una imagen de máquina entre proyectos. Sin embargo, las redes de VPC compartidas no son compatibles.
- Esta función no es compatible con los proyectos protegidos con los Controles del servicio de VPC.
- Las imágenes de máquina no se pueden crear a partir de VM de origen que tengan más de 200 TB en discos conectados.
MACHINE_IMAGE_NAME
: Es el nombre de la imagen de máquina que deseas importar.SOURCE_URI
: Es la ruta de acceso a tu archivo OVA o OVF en Cloud Storage.OS
: El sistema operativo del archivo OVA. De forma predeterminada, esta marca es opcional, pero se podría necesitar en algunos casos. Te recomendamos que proporciones esta marca.Sube el dispositivo virtual a Cloud Storage.
Envía una solicitud
POST
a la API de Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto en el que deseas importar el archivo OVAMACHINE_IMAGE_NAME
: Es el nombre de la imagen de máquina que se creará. Por ejemplo,my-machine-image
SOURCE_URI
: Es el URI para el archivo OVA o un directorio que contiene paquetes OVF que se almacena en Cloud Storage. Por ejemplo,gs://my-bucket/my-instance.ova
.OS
: El sistema operativo del archivo OVA. Por ejemplo,ubuntu-1604
De forma predeterminada, esta marca es opcional, pero se podría necesitar en algunos casos. Te recomendamos que proporciones esta marca.
Para obtener valores
args
adicionales que se puedan aprovisionar, consulta la sección de marcas opcionales en la página sobre importación de OVF de Compute Engine en GitHub.- Sistema operativo:
Ubuntu 1404
- CPU:
2 CPUs
- Memoria:
2048 MB
- Sistema operativo:
Ubuntu 1404
- CPU:
2 CPUs
- Memoria:
2048 MB
- Sistema operativo:
Ubuntu 1404
- Red:
custom-vpc-network
- Subred:
company-vpc-us-east1-c
- Zona:
us-east1-c
- Sistema operativo:
Ubuntu 1404
- Red:
custom-vpc-network
- Subred:
company-vpc-us-east1-c
- Zona:
us-central1-c
Agrega el dispositivo virtual a Cloud Storage.
El proceso de importación requiere que se instalen administradores de paquetes en el sistema operativo de la imagen de máquina. Es posible que estos administradores de paquetes deban realizar solicitudes a repositorios de paquetes que se encuentran fuera de Google Cloud. A fin de permitir el acceso a estas actualizaciones, debes configurar Cloud NAT. Para obtener más información, consulta Crea una configuración de NAT con Cloud Router.
Configura el Acceso privado a Google. Para obtener más información, consulta Configura el acceso privado a los servicios.
Importa la imagen de máquina con Google Cloud CLI o la API de Cloud Build.
Cuando importas una imagen de máquina desde un dispositivo virtual, se crean VM temporales en tu proyecto. Para asegurarte de que no se les asignen direcciones IP externas a estas VM temporales, debes especificar una marca o argumento adicional.
Para obtener más información sobre la marca o el argumento requerido, haz clic en las siguientes pestañas:
MACHINE_IMAGE_NAME
: Es el nombre de la imagen de máquina que deseas importar.SOURCE_URI
: El URI para tu archivo OVA o OVF en Cloud Storage. Por ejemplo,gs://my-bucket/Ubuntu.ova
OS
: El sistema operativo del archivo OVA. De forma predeterminada, esta marca es opcional, pero se podría necesitar en algunos casos. Te recomendamos que proporciones esta marca. Si deseas obtener una lista de los valores admitidos, consulta las opciones de la marca--os
para el comandogcloud compute machine-images import
.ZONE
: La zona en la que se importará la imagen de máquina. Si se deja en blanco, se usa la zona predeterminada del proyectoPROJECT_ID
: Es el ID del proyecto en el que deseas importar la imagen.MACHINE_IMAGE_NAME
: Es el nombre de la imagen de máquina que se creará. Por ejemplo,my-machine-image
SOURCE_URI
: El URI del archivo OVA que se almacena en Cloud Storage. Por ejemplo,gs://my-bucket/my-machine.ova
OS
: El sistema operativo del archivo OVA. Por ejemplo,ubuntu-1604
. De forma predeterminada, esta marca es opcional, pero se podría necesitar en algunos casos. Te recomendamos que proporciones esta marca. Si deseas obtener una lista de los valores admitidos, consulta las opciones de la marca--os
para el comandogcloud compute instances import
.ZONE
: La zona en la que se importará la imagen de máquina.Agrega el dispositivo virtual a Cloud Storage.
Crea una cuenta de servicio y asigna las funciones mínimas. Si deseas obtener más información para crear cuentas de servicio, consulta Crea y administra cuentas de servicio.
Como mínimo, la cuenta de servicio de Compute Engine especificada debe tener asignadas las siguientes funciones:
roles/compute.storageAdmin
roles/storage.objectViewer
Estas funciones mínimas son necesarias para la cuenta de servicio especificada para la marca
--compute-service-account
. Para obtener más información, consulta Otorga funciones necesarias a la cuenta de servicio de Compute Engine.Usa el comando
gcloud compute machine-images import
para crear una imagen de máquina desde dispositivos virtuales.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS \ --compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=SCOPES
Reemplaza lo siguiente:
MACHINE_IMAGE_NAME
: Es el nombre de la imagen de máquina que deseas importar.SOURCE_URI
: Es la ruta de acceso a tu archivo OVA o OVF en Cloud Storage.OS
: El sistema operativo del archivo OVA. De forma predeterminada, esta marca es opcional, pero se podría necesitar en algunos casos. Te recomendamos que proporciones esta marca.TEMP_SERVICE_ACCOUNT_EMAIL
: Es la dirección de correo electrónico asociada con la cuenta de servicio personalizada creada en el paso anterior. Las VM temporales usan esta cuenta de servicio. Si no se especifica, la VM usa la cuenta de servicio predeterminada de Compute Engine.SERVICE_ACCOUNT_EMAIL
: Es la dirección de correo electrónico asociada con la cuenta de servicio personalizada que se adjuntará a cualquier VM creada a partir de esta imagen de máquina. No hay restricciones de permisos para esta cuenta de servicio. Puedes personalizar esta cuenta de servicio según sea necesario. Si no se especifica, la cuenta de servicio predeterminada de Compute Engine se conecta a la VM.SCOPES
: Especifica el nivel de acceso para la opción--service-account
. Si no se especifica, se usan los permisos predeterminados. Para obtener más información, revisa la marca--scopes
.
Agrega el dispositivo virtual a Cloud Storage.
Crea una cuenta de servicio y asigna las funciones mínimas. Si deseas obtener más información para crear cuentas de servicio, consulta Crea y administra cuentas de servicio.
Como mínimo, la cuenta de servicio de Compute Engine especificada debe tener asignadas las siguientes funciones:
roles/compute.storageAdmin
roles/storage.objectViewer
Estas funciones mínimas son necesarias para la cuenta de servicio especificada para la marca
-compute-service-account
. Para obtener más información, consulta Otorga funciones necesarias a la cuenta de servicio de Compute Engine.Envía una solicitud
POST
a la API de Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL", "-service-account=SERVICE_ACCOUNT_EMAIL", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto en el que deseas importar la imagen.MACHINE_IMAGE_NAME
: Es el nombre de la imagen de máquina que se creará. Por ejemplo,my-machine-image
SOURCE_URI
: El URI del archivo OVA que se almacena en Cloud Storage. Por ejemplo,gs://my-bucket/my-machine.ova
OS
: El sistema operativo del archivo OVA. Por ejemplo,ubuntu-1604
. De forma predeterminada, esta marca es opcional, pero se podría necesitar en algunos casos. Te recomendamos que proporciones esta marca. Si deseas obtener una lista de los valores admitidos, consulta las opciones de la marca--os
para el comandogcloud compute instances import
.ZONE
: La zona en la que se importará la imagen de máquina.TEMP_SERVICE_ACCOUNT_EMAIL
: Es la dirección de correo electrónico asociada con la cuenta de servicio personalizada creada en el paso anterior. Las VM temporales usan esta cuenta de servicio. Si no se especifica, la VM usa la cuenta de servicio predeterminada de Compute Engine.SERVICE_ACCOUNT_EMAIL
: Es la dirección de correo electrónico asociada con la cuenta de servicio personalizada que se adjuntará a cualquier VM creada a partir de esta imagen de máquina. No hay restricciones de permisos para esta cuenta de servicio. Puedes personalizar esta cuenta de servicio según sea necesario. Si no se especifica, la cuenta de servicio predeterminada de Compute Engine se conecta a la VM.SCOPES
: Especifica el nivel de acceso para la opción--service-account
. Si no se especifica, se usan los permisos predeterminados. Para obtener más información, revisa la marca--scopes
.
- Obtén más información sobre las imágenes de máquina
- Crea instancias de VM a partir de imágenes de máquina
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Limitaciones y restricciones
Sistemas operativos compatibles
Para obtener información sobre la compatibilidad del sistema operativo, consulta Detalles de los sistemas operativos.
Importa imágenes de máquina
Puedes importar imágenes de máquina desde dispositivos virtuales mediante Google Cloud CLI o REST.
gcloud
Usa el comando
gcloud compute machine-images import
para crear una imagen de máquina desde dispositivos virtuales.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS
Reemplaza lo siguiente:
Ejemplo
Por ejemplo, puedes usar el siguiente comando de
gcloud
para importar una imagen de máquina llamadamy-machine-image
desde un archivo OVA de origen llamadomy-ova
que se almacena en el directoriogs://my-bucket
y ejecutacentos-7
:gcloud compute machine-images import my-machine-image \ --source-uri=gs://my-bucket/my-ova/ \ --os=centos-7
REST
Importa imágenes de máquina con anulaciones de OVF
CPU y memoria personalizadas
gcloud
Para anular la configuración de CPU o memoria especificada en el archivo OVF, sigue los pasos de Google Cloud CLI paraimportar una imagen de máquina y especifica las marcas
--custom-cpu
y--custom-memory
.Ejemplo
A una imagen de máquina llamada
my-machine-image
se le aplican las siguientes anulaciones a la configuración del archivo OVF:Para importar
my-machine-image
con estas anulaciones, ejecuta el siguiente comando:gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \ --custom-cpu=2 --custom-memory=2048MB
REST
A fin de anular la configuración de CPU o memoria especificada en el archivo OVF, sigue los pasos de la API de Compute Engine para importar una imagen de máquina y especifica el argumento
-machine-type
. Este-machine-type
representa un tipo de máquina predefinido o personalizado para usar.Ejemplo
A una imagen de máquina llamada
my-machine-image
se le aplican las siguientes anulaciones a la configuración del archivo OVF:Para importar
my-machine-image
con estas anulaciones, realiza la siguiente solicitud a la API de Compute Engine.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-machine-type=custom-2-2048", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Reemplaza
PROJECT_ID
con el ID del proyecto.Redes personalizadas
gcloud
A fin de configurar una red personalizada, sigue los pasos de Google Cloud CLI para importar una imagen de máquina y especifica una marca
--network
. Si la red está configurada con un modo de subred personalizado, también debes especificar las marcas--subnet
y--zone
.Ejemplo
A una imagen de máquina llamada
my-machine-image
se le aplican las siguientes anulaciones a la configuración del archivo OVF:Para importar
my-machine-image
con estas anulaciones, ejecuta el siguiente comando de ejemplo:gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 \ --source-uri=gs://my-bucket/Ubuntu.ova \ --network=custom-vpc-network \ --subnet=company-vpc-us-east1-c \ --zone=us-east1-c
REST
A fin de usar una red personalizada, sigue los pasos de la API de Compute Engine para importar una imagen de máquina y especifica un argumento
-network
. Si la red está configurada con un modo de subred personalizado, también debes especificar los argumentos-subnet
y-zone
.Ejemplo
A una imagen de máquina llamada
my-machine-image
se le aplican las siguientes anulaciones a la configuración del archivo OVF:Para importar
my-machine-image
con estas anulaciones, realiza la siguiente solicitud a la API de Compute Engine.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-zone=us-central1-c", "-network=custom-vpc-network", "-subnet=company-vpc-us-east1-c", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUsILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Reemplaza
PROJECT_ID
con el ID del proyecto.Importa una imagen de máquina dentro de una red que no permita una IP externa
Para importar una imagen de máquina con una red que no permita direcciones IP externas, completa los siguientes pasos:
gcloud
Usa el comando
gcloud compute machine-images import
con la marca--no-address
:gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=SOURCE_URI \ --os=OS \ --zone=ZONE \ --no-address
Reemplaza lo siguiente:
REST
Usa la API de Cloud Build y especifica el argumento
-no-external-ip
.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-no-external-ip", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Reemplaza lo siguiente:
Importa una imagen de máquina con cuentas de servicio personalizadas
Durante una importación de imagen de máquina, se crean instancias de máquina virtual (VM) temporal en tu proyecto. La herramienta de importación de imágenes de estas VM temporales debe autenticarse.
Una cuenta de servicio es una identidad que se adjunta a una VM. Se puede acceder a los tokens de acceso a la cuenta de servicio a través del servidor de metadatos de VM y usarlos para autenticar la herramienta de importación de imágenes en la VM.
De forma predeterminada, el proceso de importación usa la cuenta de servicio predeterminada de Compute Engine. Sin embargo, si la cuenta de servicio predeterminada de Compute Engine está inhabilitada en tu proyecto o si quieres usar una cuenta de servicio de Compute Engine personalizada, debes crear una cuenta de servicio y especificarla para el proceso de importación.
gcloud
REST
Próximos pasos
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-09-03 (UTC)
-