Crea imágenes de máquinas


Usa una imagen de máquina para almacenar la configuración, los metadatos, los permisos y los datos de varios discos para una instancia de VM que se ejecuta en Compute Engine. La instancia de VM que usas para crear una imagen de máquina se denomina instancia de origen.

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 crear una imagen de máquina a partir de una instancia de origen.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. 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 seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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

  • Puedes crear una imagen de máquina de una instancia específica como máximo 6 veces cada 60 minutos.
  • Para proteger una imagen de máquina, puedes usar Cloud Key Management Service (Cloud KMS) o una clave de encriptación proporcionada por el cliente (CSEK). La clave de encriptación protege el contenido de los discos. Sin embargo, los metadatos no están protegidos.
  • Si usas una CSEK para proteger tu imagen de máquina, se almacenará una copia completa de todos los datos del disco durante la generación de la imagen de máquina. En todas las demás situaciones, los datos del disco se almacenan en las copias diferenciales.
  • No puedes crear imágenes de máquina a partir de VMs de origen que:

    • Tengan más de 200 TB de discos conectados
    • No tengan ningún disco conectado
    • Tengan algún volumen de Hyperdisk conectado.
    • Usa un tipo de máquina C3D, H3, A3 o Z3

Las propiedades de instancias y discos no son compatibles con la imagen de máquina

Cuando creas imágenes de máquina a partir de instancias de VM o instancias de VM a partir de imágenes de máquina, las siguientes propiedades de instancia y el disco no se conservan ni se restablecen:

  • disks.architecture
  • disks.description
  • disks.labels
  • disks.locked
  • disks.multiWriter
  • disks.onUpdateAction
  • disks.provisionedIops
  • disks.shieldedInstanceInitialState
  • disks.sourceImage
  • disks.sourceImageEncryptionKey
  • disks.sourceInstantSnapshot
  • disks.sourceSnapshot
  • disks.sourceSnapshotEncryptionKey
  • privateIpv6GoogleAccess
  • resourceManagerTags
  • resourcePolicies
  • secure_tag
  • shieldedInstanceConfig

Crea una imagen de máquina a partir de una VM

Puedes crear imágenes de máquina mediante la consola de Google Cloud, Google Cloud CLI o REST.

Para crear una imagen de máquina, necesitas la siguiente información:

  • Un nombre para la imagen de máquina que deseas crear
  • El nombre de la instancia de VM de origen.
  • La zona en la que se encuentra la instancia de VM de origen.
  • Una descripción opcional
  • Una storageLocation opcional. Si no especificas una ubicación, la ubicación de almacenamiento predeterminada es la ubicación de Cloud Storage multirregional de la instancia de VM de origen.
  • Una clave de encriptación opcional. Puedes elegir entre una clave de Google y administrada por Google, una clave de Cloud Key Management Service (Cloud KMS) o una clave de encriptación proporcionada por el cliente (CSEK). Si no se especifica una clave de encriptación, las imágenes de máquina se encriptarán mediante una clave de Google y administrada por Google
  • Si deseas usar una imagen de máquina para crear instantáneas de instancias y clonarlas, quita la información del SO y de la app que sea exclusiva antes de generar la imagen de máquina a partir de una instancia. Por ejemplo, en instancias de VM de Windows, usa GCESysprep a fin de preparar el sistema para la replicación.

Console

  1. En la consola de Google Cloud, ve a la página Imágenes de máquina.

    Ir a Imágenes de máquina

  2. Haz clic en Crear imagen de máquina.

  3. Especifica un Nombre para tu imagen de máquina.

  4. Proporciona una Descripción (opcional).

  5. Selecciona la instancia de VM de origen.

  6. Especifica la ubicación en la que se almacenará la imagen de máquina (opcional). Elige entre almacenamiento multirregional o regional. Para obtener más información sobre la ubicación, consulta Ubicación de almacenamiento de imágenes de máquina.

  7. Selecciona un método de Encriptación (opcional).

  8. Haz clic en Crear.

gcloud

Usa el comando gcloud compute machine-images create para crear una imagen de máquina a partir de una instancia.

gcloud compute machine-images create MACHINE_IMAGE_NAME \
    --source-instance=SOURCE_VM_NAME

Reemplaza lo siguiente:

  • MACHINE_IMAGE_NAME: Es el nombre de la imagen de máquina que deseas crear.
  • SOURCE_VM_NAME: Es el nombre de la instancia de VM de origen desde la que deseas crear la imagen.

Ejemplo

Por ejemplo, puedes usar el siguiente comando de gcloud para crear una imagen de máquina llamada my-machine-image desde una instancia de origen llamada my-instance:

gcloud compute machine-images create my-machine-image  \
    --source-instance=my-instance

El proceso toma unos minutos. Cuando se crea la imagen de máquina, obtienes un resultado similar al siguiente:

Created [https://www.googleapis.com/compute/v1/projects/project-12345/global/machineImages/my-machine-image].
NAME               STATUS
my-machine-image   READY

REST

En la API, realiza una solicitud POST al método machineimages.insert. En el cuerpo de la solicitud, incluye la siguiente solicitud POST:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/machineImages

{
  "name": "MACHINE_IMAGE_NAME",
  "sourceInstance": "SOURCE_INSTANCE_URL"
}

Reemplaza lo siguiente:

  • PROJECT_ID: ID del proyecto
  • MACHINE_IMAGE_NAME: Es el nombre de la imagen de máquina que deseas crear.
  • SOURCE_INSTANCE_URL: Es la URL parcial o completa de la instancia de origen que deseas usar para crear la imagen de máquina. Por ejemplo, si tienes una instancia de origen llamada my-instance en un proyecto llamado myProject, las siguientes URL son válidas:

    • https://www.googleapis.com/compute/v1/projects/myProject/global/instances/my-instance
    • projects/myProject/global/instances/my-instance
    • global/instances/my-instance

Próximos pasos