Skip to main content
POST
Crear un grupo de instancias
Requiere la acción de IAM compute:CreateInstancePool. Consulte permisos de computación para obtener la lista completa, lo que cubre cada una y un ejemplo de directiva.

Autorizaciones

Authorization
string
header
requerido

Un token bearer de OAuth 2.0, enviado como Authorization: Bearer <token>. Esta es la forma recomendada de autenticación.

Obtén el token intercambiando el par de claves de acceso de una cuenta de servicio en POST /v1/oauth/token con grant_type=client_credentials. Es el flujo estándar de credenciales de cliente; las bibliotecas compatibles con OAuth pueden obtener y renovar el token por ti.

Los tokens duran una hora por defecto. El mismo par de claves de acceso también sirve como credencial AWS SigV4 para el endpoint de objetos compatible con S3, que solo acepta ese método de autenticación.

Encabezados

Idempotency-Key
string

Clave opcional generada por el cliente que hace que una creación sea segura para la reproducción. Al volver a intentar una solicitud con la misma clave, se devuelve el resultado original literalmente en lugar de crear un recurso duplicado. Se rechaza la reutilización de una clave con un cuerpo de solicitud diferente (422); una solicitud cuya clave todavía se está procesando devuelve 409. Los registros se mantienen durante 24 horas. Usa un UUID o un token único similar.

Maximum string length: 255

Cuerpo

application/json

template es la configuración de lanzamiento — los mismos campos que toma la instancia create. Los campos propios del grupo (descripción, etiquetas, tamaño) permanecen en el nivel superior, porque describen el grupo en lugar de las instancias en él. Se requiere un flavor y una subred primaria, como template.flavor + template.networks[0].subnet. En crear solamente, omitió min_count y max_count por defecto a desired_count.

name
string
requerido

Los nombres de los recursos no deben comenzar con el prefijo literal crn: ni ser UUID (en cualquier caso, en las formas canónica, compacta, entre corchetes o urn:uuid:).

Ejemplo:

"web-asg"

template
object
requerido

La configuración de inicio del grupo, en la forma que toma la creación de una instancia independiente: los mismos nombres de campo, los mismos tipos, los mismos significados, de modo que un cliente que puede crear una instancia puede crear un grupo de ellos sin un segundo contrato más estrecho para aprender. Pertenece a la agrupación. No hay un recurso de plantilla de lanzamiento separado para crear, crear versiones o compartir entre grupos. Networking es una lista ordenada de networks, siendo el índice 0 la NIC primaria. ip_address y mac son parte de esa forma de NIC compartida pero son rechazados aquí: cada réplica se inicia desde esta plantilla, por lo que una dirección fija haría que la segunda réplica pida una que la primera ya tenga.

autoscaling
object

Seguimiento de objetivos compartido por grupos de instancias y balanceadores de carga. Las actualizaciones reemplazan la política. Establezca enabled=false para conservar la configuración y usar el dimensionamiento manual. Cada métrica recomienda un recuento deseado; la recomendación más grande gana. Las observaciones faltantes, obsoletas o incompletas impiden la escalada interna, pero no bloquean la escalada externa recomendada por otra métrica válida. Las decisiones obedecen a los valores min_count/max_count, calentamiento, enfriamiento, estabilización, límites de pasos y cuotas del recurso. El estado sobrevive al reinicio del controlador. Las políticas activas poseen desired_count; se aceptan los cambios manuales y la evaluación automática se reanuda después del tiempo de reutilización. La telemetría personalizada requiere telemetry:ReadMetrics en la misma cuenta.

description
string
tags
object

Etiquetas en el recurso de grupo, para las condiciones de IAM (basalt:RequestTag/<key> aquí, basalt:ResourceTag/<key> en operaciones posteriores) y atribución de costos. No se propagan a las instancias que el pool lanza; template.tags es ese conjunto. Un campo de pool, enviado junto a template. Las etiquetas de réplica solo son accesibles a través de template.tags.

Ejemplo:
desired_count
integer
Rango requerido: 0 <= x <= 100
Ejemplo:

2

min_count
integer
Rango requerido: 0 <= x <= 100
Ejemplo:

1

max_count
integer

Un valor de 0 significa que el grupo no tiene miembros hasta que se aumente max_count.

Rango requerido: 0 <= x <= 100
Ejemplo:

3

Respuesta

Se creó el grupo; se generaron las instancias iniciales.

instance_pool
object

Una plantilla de lanzamiento más un recuento deseado. La creación de un grupo genera instancias de desired_count; un conciliador converge member_count hacia desired_count a medida que cambia. member_count es el número de miembros que tiene el grupo; live_count es el número de ellos que se están ejecutando. Un grupo lleva dos conjuntos de etiquetas y responden a diferentes preguntas. tags etiqueta el recurso de la agrupación, que es lo que una condición de IAM lee como basalt:ResourceTag/<key> y lo que un informe de costos agrupa, y no llega a ninguna instancia. template.tags es el conjunto estampado en cada réplica que lanza el pool.