En este documento, se explica cómo crear una instancia de máquina virtual (VM) de Flex-start. 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 las GPUs, a un precio con descuento. Estas características hacen que las VMs con inicio flexible sean una solución rentable para ejecutar cargas de trabajo de corta duración, como la optimización de modelos y la inferencia por lotes.
Para obtener más información sobre las características clave de las VMs de inicio flexible, incluidos los requisitos y las limitaciones que se aplican cuando las creas, consulta Acerca de las VMs de inicio flexible.
Antes de comenzar
-
Según el tipo de máquina que desees usar, revisa uno de los siguientes requisitos de configuración:
- Para un tipo de máquina optimizado para aceleradores (excepto A4X o G4), consulta la Descripción general de la creación de una instancia con GPU conectadas.
- Para un tipo de máquina H4D, consulta Crea una instancia que use RDMA de Cloud.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs 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:
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
- Set a default region and zone.
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 proporciones a gcloud CLI.
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Roles requeridos
Para obtener los permisos que necesitas para crear VMs de Flex-start, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para crear VMs de Flex-start. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear VMs de inicio flexible:
-
compute.instances.create
en el proyecto -
Si deseas usar una imagen personalizada para crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen -
Para usar una instantánea a fin de crear la VM, haz lo siguiente:
compute.snapshots.useReadOnly
en la instantánea -
Si quieres usar una plantilla de instancias para crear la VM, sigue estos pasos:
compute.instanceTemplates.useReadOnly
en la plantilla de instancias -
A fin de especificar una subred para tu VM:
compute.subnetworks.use
en el proyecto o en la subred elegida -
Si deseas especificar una dirección IP estática para la VM:
compute.addresses.use
en el proyecto -
Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida. -
Para asignar una red heredada a la VM, ejecuta
compute.networks.use
en el proyecto. -
Para asignar una dirección IP externa a la VM cuando se usa una red heredada, ejecuta
compute.networks.useExternalIp
en el proyecto -
Para configurar los metadatos de la instancia de VM para la VM,
compute.instances.setMetadata
en el proyecto. -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setTags
en la VM -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setLabels
en la VM -
A fin de configurar una cuenta de servicio para que la VM use:
compute.instances.setServiceAccount
en la VM -
Crear un disco nuevo para la VM:
compute.disks.create
en el proyecto -
Para conectar un disco existente en modo de solo lectura o de lectura y escritura, usa
compute.disks.use
en el disco. -
Para conectar un disco existente en modo de solo lectura, haz lo siguiente:
compute.disks.useReadOnly
en el disco
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Crea una VM de Flex-start
Para crear una VM de Flex-start, 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:La marca
--request-valid-for-duration
La marca
--provisioning-model=FLEX_START
La marca
--instance-termination-action
La marca
--max-run-duration
La marca
--maintenance-policy=TERMINATE
La marca
--reservation-affinity=none
Para crear una VM de Flex-start, 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
Reemplaza lo siguiente:
VM_NAME
: Es el nombre de tu VM nueva.MACHINE_TYPE
: Es el tipo de máquina que se usará para la VM de inicio flexible. Si especificas un tipo de máquina G2 o N1, ten en cuenta lo siguiente:Para los tipos de máquinas G2, puedes especificar de forma opcional una estación de trabajo virtual (vWS) NVIDIA RTX para usarla en cargas de trabajo con uso intensivo de gráficos. Para ello, incluye la marca
--accelerator
en el comando de la siguiente manera:--accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
Reemplaza
VWS_ACCELERATOR_COUNT
por la cantidad de vWS de NVIDIA RTX que requiere tu carga de trabajo.Para los tipos de máquina N1, debes especificar la cantidad y el tipo de GPU que conectarás a la VM. De lo contrario, la creación de la VM falla. 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
Reemplaza lo siguiente:
NUMBER_OF_ACCELERATORS
: Es la cantidad de GPU que se conectarán a tu VM N1.ACCELERATOR_TYPE
: Un modelo de GPU compatible para las VMs N1.
ZONE
: La zona donde deseas crear la VM. Para verificar que el tipo de máquina especificado esté disponible en la zona en la que deseas crear la VM, consulta Regiones y zonas disponibles.VALID_FOR_DURATION
: Es el tiempo máximo de espera para el aprovisionamiento de los recursos solicitados, con formato de número seguido de una unidad (s
,m
,h
od
). Por ejemplo, un valor de30m
define un tiempo de 30 minutos y un valor de1h2m3s
define un tiempo de una hora, dos minutos y tres segundos. Según los requisitos zonales de tu carga de trabajo, te recomendamos que especifiques una de las siguientes duraciones para aumentar las probabilidades de que se complete tu solicitud de creación de VM:Si tu carga de trabajo requiere que crees la VM en una zona específica, especifica una duración entre 90 segundos (
90s
) y dos horas (2h
). Las duraciones más largas te brindan más posibilidades de obtener recursos.Si la VM puede ejecutarse en cualquier zona dentro de la región, especifica una duración de cero segundos (
0s
). Este valor especifica 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 intentarla en otra zona.
TERMINATION_ACTION
: Indica si se debe detener o borrar la VM al final de su duración de ejecución. Especifica uno de los siguientes valores:Para detener la VM, haz lo siguiente:
STOP
Para borrar la VM, haz lo siguiente:
DELETE
RUN_DURATION
: Es el tiempo máximo que se ejecuta la VM antes de que Compute Engine la borre, con el formato de un número seguido de una unidad (s
,m
,h
od
). El valor debe estar entre 10 minutos y siete días.
REST
Para crear una VM de Flex-start, realiza 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
configurado comoFLEX_START
.El campo
scheduling.instanceTerminationAction
El campo
scheduling.maxRunDuration
El campo
scheduling.onHostMaintenance
configurado comoTERMINATE
.El
reservationAffinity.consumeReservationType
se establece enNO_RESERVATION
.
Para crear una VM de Flex-start, realiza 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" } }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto en el que se creará la VM.ZONE
: La zona donde deseas crear la VM. Para verificar que un tipo de máquina esté disponible en la zona en la que deseas crear la VM, consulta Regiones y zonas disponibles.VM_NAME
: Es el nombre de tu VM nueva.MACHINE_TYPE
: Es el tipo de máquina que se usará para la VM de inicio flexible. Si especificas un tipo de máquina G2 o N1, ten en cuenta lo siguiente:Para los tipos de máquinas G2, puedes especificar de forma opcional una estación de trabajo virtual (vWS) NVIDIA RTX para usarla en cargas de trabajo con uso intensivo de 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" } ]
Reemplaza
VWS_ACCELERATOR_COUNT
por la cantidad de vWS de NVIDIA RTX que requiere tu carga de trabajo.Para los tipos de máquina N1, debes especificar la cantidad y el tipo de GPU que conectarás a la VM. De lo contrario, la creación de la VM falla. Para conectar 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" } ]
Reemplaza lo siguiente:
NUMBER_OF_ACCELERATORS
: Es la cantidad de GPU que se conectarán a tu VM N1.ACCELERATOR_TYPE
: Un modelo de GPU compatible para las VMs N1.
IMAGE_PROJECT
: Es el proyecto de imagen que contiene la imagen, por ejemplo,debian-cloud
. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de 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 de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
VALID_FOR_DURATION
: Es el tiempo máximo en segundos que se espera para que se aprovisione la VM. Según los requisitos zonales de tu carga de trabajo, te recomendamos que especifiques una de las siguientes duraciones para aumentar las probabilidades de que se complete tu solicitud de creación de VM:Si tu carga de trabajo requiere que crees la VM en una zona específica, especifica una duración entre 90 segundos (
90
) y dos horas (7200
). Las duraciones más largas te brindan más posibilidades de obtener recursos.Si la VM puede ejecutarse en cualquier zona dentro de la región, especifica una duración de cero segundos (
0
). Este valor especifica 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 intentarla en otra zona.
TERMINATION_ACTION
: Indica si se debe detener o borrar la VM al final de su duración de ejecución. Especifica uno de los siguientes valores:Para detener la VM, haz lo siguiente:
STOP
Para borrar la VM, haz lo siguiente:
DELETE
RUN_DURATION
: Es el tiempo máximo en segundos que se ejecuta la VM antes de que Compute Engine la borre. Este valor debe estar entre 600 segundos (10 minutos) y 604,800 segundos (siete días).
¿Qué sigue?
Pruébalo tú mismo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Compute Engine en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Probar Compute Engine gratisSalvo 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: 2025-09-23 (UTC)
-