En este documento se explica cómo crear una instancia de máquina virtual (VM) de inicio flexible. Las VMs de inicio flexible se ejecutan durante un máximo de siete días y te ayudan a adquirir recursos de alta demanda, como GPUs, a un precio con descuento. Estas funciones convierten a las VMs de inicio flexible en una solución rentable para ejecutar cargas de trabajo de corta duración, como el ajuste de modelos y la inferencia por lotes.
Para obtener más información sobre las características principales de las VMs de inicio flexible, incluidos los requisitos y las limitaciones que se aplican al crearlas, consulta el artículo Acerca de las VMs de inicio flexible.
Antes de empezar
-
En función del tipo de máquina que quieras usar, consulta uno de los siguientes requisitos de configuración:
- Para ver cómo crear una instancia con GPUs conectadas de un tipo de máquina optimizada para aceleradores (excepto A4X o G4), consulta la descripción general de la creación de una instancia con GPUs conectadas.
- Para un tipo de máquina H4D, consulta Crear una instancia que use Cloud RDMA.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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:
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para crear VMs de inicio flexible, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
) en el proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para crear máquinas virtuales de inicio flexible. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear VMs de inicio flexible, se necesitan los siguientes permisos:
-
compute.instances.create
del proyecto -
Para usar una imagen personalizada para crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen -
Para usar una captura para crear la VM, sigue estos pasos:
compute.snapshots.useReadOnly
en la captura -
Para usar una plantilla de instancia para crear la VM, haz lo siguiente:
compute.instanceTemplates.useReadOnly
en la plantilla de instancia -
Para especificar una subred para tu VM, haz lo siguiente:
compute.subnetworks.use
en el proyecto o en la subred elegida -
Para especificar una dirección IP estática para la máquina virtual, haz lo siguiente:
compute.addresses.use
en el proyecto -
Para asignar una dirección IP externa a la VM cuando se usa una red de VPC, sigue estos pasos:
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida -
Para asignar una red antigua a la VM, sigue estos pasos:
compute.networks.use
en el proyecto -
Para asignar una dirección IP externa a la VM cuando se usa una red antigua, haz lo siguiente:
compute.networks.useExternalIp
en el proyecto -
Para definir los metadatos de la instancia de VM:
compute.instances.setMetadata
en el proyecto -
Para definir etiquetas en la VM, haz lo siguiente:
compute.instances.setTags
en la VM -
Para definir etiquetas en la VM, sigue estos pasos:
compute.instances.setLabels
en la VM -
Para definir una cuenta de servicio que pueda usar la VM, sigue estos pasos:
compute.instances.setServiceAccount
en la VM -
Para crear un disco para la VM, sigue estos pasos:
compute.disks.create
en el proyecto -
Para adjuntar un disco en modo de solo lectura o de lectura y escritura, sigue estos pasos:
compute.disks.use
en el disco -
Para adjuntar un disco en modo de solo lectura, sigue estos pasos:
compute.disks.useReadOnly
en el disco
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Crear una VM de inicio flexible
Para crear una VM de inicio flexible, selecciona una de las siguientes opciones:
gcloud
Para crear una VM de inicio flexible, usa el comando
gcloud compute instances create
con las siguientes marcas:Bandera de
--request-valid-for-duration
Bandera de
--provisioning-model=FLEX_START
Bandera de
--instance-termination-action
Bandera de
--max-run-duration
Bandera de
--maintenance-policy=TERMINATE
Bandera de
--reservation-affinity=none
Para crear una VM de inicio flexible, ejecuta el siguiente comando:
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --zone=ZONE \ --request-valid-for-duration=VALID_FOR_DURATION \ --provisioning-model=FLEX_START \ --instance-termination-action=TERMINATION_ACTION \ --max-run-duration=RUN_DURATION \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Haz los cambios siguientes:
VM_NAME
: el nombre de la nueva VM.MACHINE_TYPE
: el tipo de máquina que se va a usar en la máquina virtual de inicio flexible. Si especificas un tipo de máquina G2 o N1, ten en cuenta lo siguiente:En los tipos de máquinas G2, puedes especificar de forma opcional una estación de trabajo virtual NVIDIA RTX (vWS) para cargas de trabajo con muchos gráficos. Para ello, incluye la marca
--accelerator
en el comando de la siguiente manera:--accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
Sustituye
VWS_ACCELERATOR_COUNT
por el número de NVIDIA RTX vWS que necesite tu carga de trabajo.En el caso de los tipos de máquinas N1, debes especificar el número y el tipo de GPUs que quieres conectar a tu VM. De lo contrario, no se podrá crear la VM. Para adjuntar GPUs a una VM N1, incluye la marca
--accelerator
en el comando de la siguiente manera:--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
Haz los cambios siguientes:
NUMBER_OF_ACCELERATORS
: número de GPUs que se van a asociar a tu máquina virtual N1.ACCELERATOR_TYPE
: un modelo de GPU compatible con máquinas virtuales N1.
ZONE
: la zona en la que quieres crear la VM. Para comprobar que el tipo de máquina que has especificado está disponible en la zona en la que quieres crear la VM, consulta Regiones y zonas disponibles.VALID_FOR_DURATION
: el tiempo máximo que se debe esperar para aprovisionar los recursos solicitados, con el formato de un número seguido de una unidad (s
,m
,h
od
). Por ejemplo, el valor30m
define un tiempo de 30 minutos y el valor1h2m3s
define un tiempo de una hora, dos minutos y tres segundos. En función de los requisitos zonales de tu carga de trabajo, te recomendamos que especifiques una de las siguientes duraciones para aumentar las probabilidades de que se cree tu máquina virtual:Si tu carga de trabajo requiere que crees la VM en una zona específica, indica una duración de entre 90 segundos (
90s
) y dos horas (2h
). Cuanto mayor sea la duración, más probabilidades tendrás de obtener recursos.Si la VM puede ejecutarse en cualquier zona de la región, especifica una duración de cero segundos (
0s
). Este valor indica que Compute Engine solo asigna recursos si están disponibles de inmediato. Si la solicitud de creación falla porque los recursos no están disponibles, vuelve a intentarlo en otra zona.
TERMINATION_ACTION
: si se debe detener o eliminar la máquina virtual al final de su duración. Especifica uno de los siguientes valores:Para detener la VM, haz lo siguiente:
STOP
Para eliminar la máquina virtual, haz lo siguiente:
DELETE
RUN_DURATION
: tiempo máximo que se ejecuta la VM antes de que Compute Engine la elimine. Se debe indicar como un número seguido de una unidad (s
,m
,h
od
). El valor debe estar entre 10 minutos y 7 días.
REST
Para crear una VM de inicio flexible, envía una solicitud
POST
al métodoinstances.insert
. En el cuerpo de la solicitud, incluye los siguientes campos:El campo
params.requestValidForDuration
.El campo
scheduling.provisioningModel
se ha definido comoFLEX_START
.El campo
scheduling.instanceTerminationAction
.El campo
scheduling.maxRunDuration
.El campo
scheduling.onHostMaintenance
se ha definido comoTERMINATE
.El valor de
reservationAffinity.consumeReservationType
esNO_RESERVATION
.
Para crear una VM de inicio flexible, haz una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "params": { "requestValidForDuration": { "seconds": VALID_FOR_DURATION } }, "scheduling": { "provisioningModel": "FLEX_START", "instanceTerminationAction": "TERMINATION_ACTION", "maxRunDuration": { "seconds": RUN_DURATION }, "onHostMaintenance": "TERMINATE" }, "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se va a crear la VM.ZONE
: la zona en la que quieres crear la VM. Para comprobar si un tipo de máquina está disponible en la zona en la que quieres crear la VM, consulta las regiones y zonas disponibles.VM_NAME
: el nombre de la nueva VM.MACHINE_TYPE
: el tipo de máquina que se va a usar en la máquina virtual de inicio flexible. Si especificas un tipo de máquina G2 o N1, ten en cuenta lo siguiente:En los tipos de máquinas G2, puedes especificar de forma opcional una estación de trabajo virtual NVIDIA RTX (vWS) para cargas de trabajo con muchos gráficos. Para ello, incluye el campo
guestAccelerators
en el cuerpo de la solicitud de la siguiente manera:"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]
Sustituye
VWS_ACCELERATOR_COUNT
por el número de NVIDIA RTX vWS que necesite tu carga de trabajo.En el caso de los tipos de máquinas N1, debes especificar el número y el tipo de GPUs que quieres conectar a tu VM. De lo contrario, no se podrá crear la VM. Para adjuntar GPUs a una VM N1, incluye el campo
guestAccelerators
en el cuerpo de la solicitud de la siguiente manera:"guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ]
Haz los cambios siguientes:
NUMBER_OF_ACCELERATORS
: número de GPUs que se van a asociar a tu máquina virtual N1.ACCELERATOR_TYPE
: un modelo de GPU compatible con máquinas virtuales N1.
IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen (por ejemplo,debian-cloud
). Para obtener más información sobre los proyectos de imágenes admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Este valor especifica que se debe usar la imagen del SO más reciente que no esté obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulta Prácticas recomendadas para familias de imágenes.
VALID_FOR_DURATION
: tiempo máximo en segundos que se debe esperar a que se aprovisione la VM. En función de los requisitos zonales de tu carga de trabajo, te recomendamos que especifiques una de las siguientes duraciones para aumentar las probabilidades de que tu solicitud de creación de VM se complete correctamente:Si tu carga de trabajo requiere que crees la VM en una zona específica, indica una duración de entre 90 segundos (
90
) y dos horas (7200
). Cuanto mayor sea la duración, más probabilidades tendrás de obtener recursos.Si la VM puede ejecutarse en cualquier zona de la región, especifica una duración de cero segundos (
0
). Este valor indica que Compute Engine solo asigna recursos si están disponibles de inmediato. Si la solicitud de creación falla porque no hay recursos disponibles, vuelve a intentarlo en otra zona.
TERMINATION_ACTION
: si se debe detener o eliminar la máquina virtual al final de su duración. Especifica uno de los siguientes valores:Para detener la VM, haz lo siguiente:
STOP
Para eliminar la máquina virtual, haz lo siguiente:
DELETE
RUN_DURATION
: tiempo máximo en segundos que se ejecuta la máquina virtual antes de que Compute Engine la elimine. Este valor debe estar entre 600 segundos (10 minutos) y 604.800 segundos (7 días).
Siguientes pasos
Pruébalo
Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de Compute Engine en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.
Probar Compute Engine gratisA menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-23 (UTC).
-