En este documento se explica cómo crear una instancia de máquina virtual (VM) mediante una imagen de disco de arranque, una instantánea de disco de arranque o una imagen de contenedor. Algunas imágenes son compatibles con las funciones de VM protegida, que ofrecen características de seguridad como firmware compatible con UEFI, inicio seguro e inicio medido con protección de vTPM. En las VM protegidas el vTPM y la supervisión de integridad están habilitados de forma predeterminada.
Cuando creas tu VM, puedes crear uno o más discos. También puedes agregar más discos a la VM después de crearla. Compute Engine inicia la instancia de VM automáticamente después de crearla.
Cuando creas una VM, también puedes agregar múltiples interfaces de red. Para mitigar la exposición de la VM a amenazas en Internet, puedes omitir la dirección IP externa cuando agregues una interfaz de red a la instancia. En esos casos, solo se puede acceder a la VM desde otras VM en la misma red de VPC o desde una red vinculada, a menos que configures Cloud NAT.
Si creas una VM por primera vez, consulta la Guía de inicio rápido para usar una VM de Linux o la Guía de inicio rápido para usar una VM de Windows Server.
Para obtener más detalles sobre las opciones de creación de VM más específicas o complicadas, consulta los siguientes recursos:
- Crea y administra instancias de Windows Server
- Crea instancias de SQL Server
- Crea nodos de instancia única
- Crea una instancia de VM con un nombre de host personalizado
- Reserva instancias y consume instancias reservadas
- Cómo crear instancias de VM que usen la interfaz de red gVNIC
- Crea y, luego, inicia una instancia de VM de Arm
- Configura una instancia de VM con mayor ancho de banda
- Agrega o quita GPU
- Crea una instancia de VM con una imagen de computación de alto rendimiento (HPC)
- Usa la API de instancias masivas
- Crea una instancia de VM con una programación de instancias adjunta
- Crea un grupo de instancias administrado (MIG)
Si tienes una licencia existente, consulta Trae tu propia licencia con nodos de instancia única.
Antes de comenzar
- Si deseas usar los ejemplos de línea de comandos de esta guía, haz lo siguiente:
- Instala Google Cloud CLI o actualízala a la última versión.
- Configura una región y una zona predeterminadas.
- Si deseas usar los ejemplos de API de esta guía, configura el acceso a la API.
- Cuando creas VM a partir de imágenes o discos mediante Google Cloud CLI o la API de Compute Engine, hay un límite de 20 instancias de VM por segundo. Si necesitas crear una mayor cantidad de VM por segundo, solicita un límite de cuota más alto para el recurso Imágenes.
Crea una instancia de VM a partir de una imagen
En esta sección se explica cómo crear una VM a partir de una imagen de SO pública o una imagen personalizada. Una VM contiene un bootloader, un sistema de archivos de inicio y una imagen de SO.
Visualiza una lista de las imágenes públicas disponibles en Compute Engine
Antes de crear una VM mediante una imagen pública, revisa la lista de las imágenes públicas disponibles en Compute Engine.
Para obtener más información sobre las funciones disponibles con cada imagen pública, consulta Compatibilidad de funciones por sistema operativo.
Console
En la consola de Google Cloud, ve a la página Imágenes.
gcloud
-
En la consola de Google Cloud, activa Cloud Shell.
En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Ejecuta el siguiente comando:
gcloud compute images list
Anota el nombre de las imágenes o familias de imágenes y el nombre del proyecto que la contiene.
(Opcional) Para determinar si la imagen admite funciones de VM protegida, ejecuta el siguiente comando:
gcloud compute images describe IMAGE_NAME \ --project=IMAGE_PROJECT
Reemplaza lo siguiente:
IMAGE_NAME
: Es el nombre de la imagen cuya compatibilidad con funciones de VM protegida se quiere comprobar.IMAGE_PROJECT
: Es el proyecto que contiene la imagen.
Si la imagen admite funciones de VM protegida, aparecerá la siguiente línea en el resultado:
type: UEFI_COMPATIBLE
.
API
Ejecuta el siguiente comando:
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/
Anota el nombre de las imágenes o familias de imágenes y el nombre del proyecto que la contiene.
(Opcional) Para determinar si la imagen admite funciones de VM protegida, ejecuta el siguiente comando:
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/IMAGE_NAME
Reemplaza lo siguiente:
IMAGE_PROJECT
: Es el proyecto que contiene la imagen.IMAGE_NAME
: Es el nombre de la imagen cuya compatibilidad con funciones de VM protegida se quiere comprobar.
Si la imagen admite funciones de VM protegida, aparecerá la siguiente línea en el resultado:
type: UEFI_COMPATIBLE
.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de C# de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Comienza a usarlo
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de PHP de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Ruby de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Crea una instancia de VM a partir de una imagen pública
Google, las comunidades de código abierto y los proveedores externos proporcionan y mantienen imágenes de SO públicas. Todos los proyectos de Google Cloud pueden crear VMs a partir de imágenes de SO públicas de forma predeterminada. Sin embargo, si tu proyecto de Google Cloud tiene una lista definida de imágenes confiables, solo puedes usar las imágenes de esa lista para crear una VM.
Si creas una imagen de VM protegida con SSD local, no puedes proteger los datos con la supervisión de integridad ni con el módulo de plataforma segura virtual (vTPM).
Consola
En la consola de Google Cloud, ve a la página Instancias de VM.
Selecciona el proyecto y haz clic en Continuar.
Haz clic en Crear instancia.
Especifica un Nombre para la VM. Para obtener más información, consulta Convención de asignación de nombres de recursos.
Opcional: Cambia la Zona para esta VM. Compute Engine aleatoriza la lista de zonas dentro de cada región para fomentar el uso en varias zonas.
Selecciona una Configuración de máquina para la VM.
En la sección Disco de arranque, haz clic en Cambiar y, luego, haz lo siguiente:
- En la pestaña Imágenes públicas, elige lo siguiente:
- Sistema operativo
- Versión del SO
- Tipo de disco de arranque
- Tamaño de disco de arranque
- Opcional: Para ver las opciones de configuración avanzadas, haz clic en Mostrar configuración avanzada.
- Para confirmar las opciones del disco de arranque, haz clic en Seleccionar.
- En la pestaña Imágenes públicas, elige lo siguiente:
En la sección Firewall, para permitir el tráfico HTTP o HTTPS a la VM, selecciona Permitir tráfico HTTP o Permitir tráfico HTTPS. Cuando seleccionas uno de estos, Compute Engine agrega una etiqueta de red a la VM, que asocia la regla de firewall con la VM. Luego, Compute Engine crea la regla de firewall de entrada correspondiente que permite todo el tráfico entrante en
tcp:80
(HTTP) otcp:443
(HTTPS).Opcional: Puedes modificar la configuración de la VM protegida si elegiste una imagen de SO que admite estas funciones: Para modificar la configuración de las VM protegidas, expande la sección Seguridad en la sección Herramientas de redes, discos, seguridad, administración, instancia única y haz lo siguiente, según sea necesario:
Para activar el Inicio seguro, selecciona Activar el inicio seguro. El inicio seguro está inhabilitado de forma predeterminada.
Para desactivar vTPM, desmarca la casilla de verificación Activar vTPM. vTPM está habilitado de forma predeterminada. Al inhabilitar el vTPM también se inhabilita la supervisión de integridad porque esta depende de los datos que se recopilan mediante el inicio medido.
Para desactivar la supervisión de integridad, desmarca la casilla de verificación Activar la supervisión de integridad. La supervisión de la integridad está habilitada de forma predeterminada.
Para crear y, también, iniciar la VM, haz clic en Crear.
gcloud
-
En la consola de Google Cloud, activa Cloud Shell.
En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Selecciona una imagen pública. Anota el nombre de las imágenes o familias de imágenes y el nombre del proyecto que la contiene.
Usa el comando
gcloud compute instances create
para crear una VM a partir de una familia de imágenes o de una versión específica de una imagen de SO.Si especificas la marca opcional
--shielded-secure-boot
, Compute Engine crea una VM con las tres funciones de la VM protegida habilitadas:Después de que Compute Engine inicie tu VM, debes detenerla para modificar las opciones de VM protegida.
gcloud compute instances create VM_NAME \ [--image=IMAGE | --image-family=IMAGE_FAMILY] \ --image-project=IMAGE_PROJECT --machine-type=MACHINE_TYPE
Reemplaza lo siguiente:
VM_NAME
: Nombre de la VM nuevaIMAGE
oIMAGE_FAMILY
: Especifica una de las siguientes opciones:IMAGE
: Es una versión específica de una imagen públicaPor ejemplo,
--image=debian-10-buster-v20200309
.IMAGE_FAMILY
: Es una familia de imágenes.Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas
--image-family=debian-10
, Compute Engine crea una VM a partir de la última versión de la imagen de SO en la familia de imágenes Debian 10.
IMAGE_PROJECT
: Proyecto que contiene la imagenMACHINE_TYPE
: Tipo de máquina, predefinido o personalizado, de la VM nuevaPara obtener una lista de los tipos de máquinas disponibles en una zona, usa el comando
gcloud compute machine-types list
con la marca--zones
.
Verifica si Compute Engine creó la VM:
gcloud compute instances describe VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM.
Terraform
Para crear una VM, puedes usar el recurso google_compute_instance
.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Para generar el código de Terraform, puedes usar el componente Código equivalente en la consola de Google Cloud.- En la consola de Google Cloud, ve a la página Instancias de VM.
- Haz clic en Crear instancia.
- Especifica los parámetros que desees.
- En la parte superior o inferior de la página, haz clic en Código equivalente y, luego, en la pestaña Terraform para ver el código de Terraform.
API
- Selecciona una imagen pública. Anota el nombre de las imágenes o familias de imágenes y el nombre del proyecto que la contiene.
Usa el método
instances.insert
para crear una VM a partir de una familia de imágenes o de una versión específica de una imagen de SO:POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }Reemplaza lo siguiente:
PROJECT_ID
: ID del proyecto en el que se creará la VMZONE
: Zona en la que se creará la VMMACHINE_TYPE_ZONE
: Zona que contiene el tipo de máquina que se usará para la VM nuevaMACHINE_TYPE
: El tipo de máquina, predefinido o personalizado de la VM nuevaVM_NAME
: Nombre de la VM nuevaIMAGE_PROJECT
: El proyecto que contiene la imagen
Por ejemplo, si especificasdebian-10
como familia de imágenes, especificadebian-cloud
como proyecto de imagen.IMAGE or IMAGE_FAMILY
: Especifica una de las siguientes opciones:IMAGE
: Una versión específica de una imagen pública
Por ejemplo,"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: Una familia de imágenes
Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, Compute Engine crea una VM a partir de la última versión de la imagen de SO en la familia de imágenesDebian 10
.
NETWORK_NAME
: La red de VPC que deseas usar para la VM. Puedes especificardefault
para usar tu red predeterminadaENABLE_SECURE_BOOT
: Si eliges una imagen que admite funciones de VM protegida, Compute Engine habilita de forma predeterminada el módulo virtual de plataforma de confianza (vTPM) y la supervisión de la integridad. Compute Engine no habilita el Inicio seguro de forma predeterminada.Si especificas
true
paraenableSecureBoot
, Compute Engine crea una VM con las tres funciones de VM protegida habilitadas. Después de que Compute Engine inicie la VM, debes detenerla para modificar las opciones de VM protegida.
C#
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de C# de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Comienza a usarlo
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de PHP de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticació