En este documento, se explica cómo crear un grupo de instancias administrado (MIG) que use VMs Spot.
Las VMs Spot son instancias de máquina virtual (VM) que puedes obtener a un precio con un gran descuento. Sin embargo, Compute Engine puede detener o borrar las VMs Spot en cualquier momento para recuperar capacidad. Usa VMs Spot para ejecutar cargas de trabajo tolerantes a errores, como trabajos de procesamiento por lotes o aplicaciones sin estado, a un bajo costo.
Para conocer otros métodos que puedes usar para crear MIG, consulta Situaciones básicas para crear un MIG.
Antes de comenzar
- Verifica que tengas suficiente cuota para los recursos que deseas solicitar. Para obtener más información, consulta Cuotas de asignación.
- Verifica la disponibilidad de recursos en la región o zona en la que deseas crear VMs Spot. Verificar la disponibilidad de los recursos ayuda a reducir las probabilidades de que se produzcan errores de disponibilidad de recursos cuando creas VMs. Para obtener instrucciones, consulta Cómo ver la disponibilidad de las VMs Spot.
-
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 Cloud de Confiance by S3NS . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:
gcloud init
-
- Configura una región y una zona predeterminadas.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI y, luego, accede 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 Cloud de Confiance .
Roles obligatorios
Para obtener los permisos que necesitas para crear MIGs que usen VMs Spot, 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 MIGs que usen VMs Spot. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear MIGs que usen VMs Spot:
-
Para crear una plantilla de instancias:
compute.instanceTemplates.createen el proyecto -
Para crear un MIG, haz lo siguiente:
compute.instanceGroupManagers.createen el proyecto
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Crea un MIG que use VMs Spot
Para crear un MIG que use VMs Spot, debes completar los siguientes pasos:
Crea una plantilla de instancias configurada para crear VMs Spot
Para crear una plantilla de instancias configurada para crear VMs Spot, selecciona una de las siguientes opciones:
Console
En la consola de Cloud de Confiance , ve a la página Plantillas de instancias.
Haz clic en Crear plantilla de instancias. Aparecerá la página Crear una plantilla de instancias.
En el campo Nombre, ingresa un nombre para la plantilla de instancias.
En la sección Ubicación, selecciona el tipo de plantilla de instancias que deseas crear:
Para una plantilla de instancias regional, selecciona Regional y, luego, la región en la que deseas crear la plantilla. Según el tipo de máquina que quieras que usen tus VMs Spot, especifica una región compatible.
Para una plantilla de instancias global, selecciona Global.
En la sección Configuración de la máquina, selecciona una serie de máquinas compatible para las VMs Spot.
En la sección Modelo de aprovisionamiento, haz lo siguiente:
En la lista Modelo de aprovisionamiento de VM, selecciona Spot.
Para especificar si se deben detener o borrar las VMs Spot en caso de interrupción, en la lista Al finalizar las VMs, selecciona una de las siguientes opciones:
Para detener las VMs Spot, selecciona Detener.
Para borrar VMs Spot, selecciona Borrar.
Opcional: Para cambiar el valor o la imagen de disco de arranque predeterminados, en la sección Disco de arranque, haz clic en Cambiar. Luego, sigue las instrucciones para cambiar el disco de arranque.
Haz clic en Crear.
gcloud
Para crear una plantilla de instancias configurada para crear VMs Spot, usa el comando gcloud compute instance-templates create.
El siguiente comando crea una plantilla de instancias regional. Si deseas crear una plantilla de instancias global, usa el mismo comando sin la marca --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--instance-template-region=REGION \
--instance-termination-action=TERMINATION_ACTION \
--machine-type=MACHINE_TYPE \
--provisioning-model=SPOT
Reemplaza lo siguiente:
INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias que se creará.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 compatibles, consulta Imágenes públicas.IMAGE_FAMILY: Es una familia de imágenes. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasdebian-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.REGION: Es la región en la que se creará la plantilla de instancias. Según el tipo de máquina que deseas que usen las VMs de Spot, especifica una región admitida.TERMINATION_ACTION: Indica si Compute Engine detiene o borra las VMs Spot cuando se produce la interrupción. Debes especificar si detienes (STOP) o borras (DELETE) las VMs.MACHINE_TYPE: Es un tipo de máquina compatible con las VMs de Spot. Si especificas un tipo de máquina N1, debes incluir la marca--acceleratorpara definir la cantidad y el tipo de GPU que conectarás a las VMs.
REST
Para crear una plantilla de instancias configurada para crear VMs Spot, realiza una de las siguientes solicitudes POST:
Para crear una plantilla de instancias regional: método
regionInstanceTemplates.insertPara crear una plantilla de instancias global: método
instanceTemplates.insert
Por ejemplo, para crear una plantilla de instancias regional, realiza una solicitud de la siguiente manera:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"instanceTerminationAction": "TERMINATION_ACTION",
"provisioningModel": "SPOT"
}
}
}
Reemplaza lo siguiente:
PROJECT_ID: el ID del proyecto en el que se creará la plantilla de instancias.REGION: Es la región en la que se creará la plantilla de instancias. Según el tipo de máquina que deseas que usen las VMs de Spot, especifica una región admitida.INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.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 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. Esto especifica 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.
MACHINE_TYPE: Es un tipo de máquina compatible con las VMs interrumpibles. Si especificas un tipo de máquina N1, debes incluir el campoguestAcceleratorspara definir la cantidad y el tipo de GPU que se conectarán a tus VMs.TERMINATION_ACTION: Indica si Compute Engine detiene o borra las VMs Spot cuando se produce la interrupción. Debes especificar si detienes (STOP) o borras (DELETE) las VMs.
Después de crear la plantilla de instancias, puedes ver sus detalles para revisar sus propiedades.
Crea un MIG regional o zonal
Para crear un MIG regional o zonal, selecciona una de las siguientes opciones:
Console
En la consola de Cloud de Confiance , ve a la página Grupos de instancias.
Haz clic en Crear grupo de instancias. Se abre la página Crear grupo de instancias.
En el campo Nombre, ingresa un nombre para el MIG.
En la lista Plantilla de instancias, selecciona la plantilla de instancias que creaste en la sección anterior.
En el campo Cantidad de instancias, ingresa la cantidad de VMs de Spot que se crearán en el MIG. Si tu carga de trabajo requiere VMs con nombres específicos, ingresa
0para omitir la creación de VMs en esta etapa. Después de crear el MIG, agrégale VMs con nombres específicos.En la sección Ubicación, especifica si deseas crear un MIG zonal o regional de la siguiente manera:
Para crear un MIG zonal, selecciona Una sola zona. Para crear un MIG regional, selecciona Varias zonas.
Selecciona la región y las zonas del MIG.
Haz clic en Crear.
gcloud
Para crear un MIG, usa el comando gcloud compute instance-groups managed create.
Según el tipo de MIG que desees crear, incluye las siguientes marcas en el comando:
Para crear un MIG zonal, incluye la marca
--zone:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONEPara crear un MIG regional, incluye la marca
--region:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION
Reemplaza lo siguiente:
INSTANCE_GROUP_NAME: Es el nombre del MIG.INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que creaste en la sección anterior. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:Para una plantilla de instancias regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDPara una plantilla de instancias global:
INSTANCE_TEMPLATE_ID
SIZE: Es la cantidad de VMs Spot que se crearán en el MIG. Si tu carga de trabajo requiere nombres de VM específicos, especifica0para omitir la creación de VMs en esta etapa. Después de crear el MIG, agrégale VMs con nombres específicos.ZONE: La zona en la que se creará el MIG zonal. Si usas una plantilla de instancias regional para crear el MIG, debes especificar una zona dentro de la misma región que la plantilla.REGION: Es la región en la que se creará el MIG regional. Si usas una plantilla de instancias regional para crear el MIG, debes especificar la misma región que la de la plantilla.
REST
Para crear un MIG, realiza una solicitud POST a uno de los siguientes métodos:
Para crear un MIG zonal, realiza una solicitud
POSTal métodoinstanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "targetSize": SIZE }Para crear un MIG regional, realiza una solicitud
POSTal métodoregionInstanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": SIZE }
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto en el que se creará el MIG regional o zonal.ZONE: La zona en la que se creará el MIG zonal. Si usas una plantilla de instancias regional para crear el MIG, debes especificar una zona dentro de la misma región que la plantilla.REGION: Es la región en la que se creará el MIG regional. Si usas una plantilla de instancias regional para crear el MIG, debes especificar la misma región que la de la plantilla.INSTANCE_GROUP_NAME: Es el nombre del MIG.INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que creaste en la sección anterior. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:Para una plantilla de instancias regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDPara una plantilla de instancias global:
INSTANCE_TEMPLATE_ID
SIZE: Es la cantidad de VMs Spot que se crearán en el MIG. Si tu carga de trabajo requiere nombres de VM específicos, especifica0para omitir la creación de VMs en esta etapa. Después de crear el MIG, agrégale VMs con nombres específicos.
Después de crear el MIG, puedes ver sus detalles para revisar sus propiedades.
¿Qué sigue?
Obtén más información sobre las prácticas recomendadas para las VMs Spot.
Obtén más información para reparar VMs para alta disponibilidad en MIGs.
Obtén más información para ajustar la escala automáticamente de las VMs en los MIGs.
Obtén más información sobre los MIG con estado.