Creación de un grupo de AS
Función
Un grupo AS consta de una colección de instancias que se aplican al mismo escenario. Es la base para habilitar o deshabilitar políticas de AS y realizar acciones de ajuste de capacidad. Un grupo AS especifica parámetros, como el número máximo de instancias, el número esperado de instancias, el número mínimo de instancias, la VPC, la subred y el equilibrio de carga.
- Cada usuario puede crear un máximo de 10 grupos AS por defecto.
- Si se configura ELB, AS enlaza o desvincula automáticamente un balanceador de carga a o desde una instancia cuando la instancia se agrega al grupo AS o se elimina del mismo.
- Si un grupo AS utiliza la comprobación de estado ELB, los puertos de escucha en los balanceadores de carga deben estar habilitados para las instancias del grupo AS. Habilite los puertos de escucha en los grupos de seguridad. Para obtener más información, consulte Adición de un grupo de seguridad.
URI
POST /autoscaling-api/v1/{project_id}/scaling_group
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
Mensaje de solicitud
- Parámetros de solicitud
Tabla 2 Parámetros de solicitud Parámetro
Obligatorio
Tipo
Descripción
scaling_group_name
Sí
String
Especifica el nombre del grupo AS. El nombre solo contiene letras, dígitos, guiones bajos (_), y guiones (-) y no puede superar los 64 caracteres.
scaling_configuration_id
Sí
String
Especifica el ID de configuración de AS, que se puede obtener mediante la API para consultar configuraciones de AS. Para más detalles, consulte Consulta de configuraciones de AS.
desire_instance_number
No
Integer
Especifica el número esperado de instancias. El valor predeterminado es el número mínimo de instancias.
El valor varía desde el número mínimo de instancias hasta el número máximo de instancias.
min_instance_number
No
Integer
Especifica el número mínimo de instancias. El valor predeterminado es 0.
max_instance_number
No
Integer
Especifica el número máximo de instancias. El valor predeterminado es 0.
cool_down_time
No
Integer
Especifica el período de enfriamiento (en segundos). El valor oscila entre 0 y 86400 y es 300 de forma predeterminada.
Después de activar una acción de ajuste, el sistema inicia el período de enfriamiento. Durante el período de recuperación, las acciones de escalado activadas por las alarmas se denegarán. Las acciones de ajuste programadas, periódicas y manuales no se ven afectadas.
lb_listener_id
No
String
Especifica el ID de un oyente de balanceador de carga clásico. Puede enlazar hasta seis oyentes de balanceador de carga. Separe los ID de oyente con comas (,). Para obtener más información sobre cómo obtener el ID de oyente, consulte Consulta de balanceadores de carga.
Este parámetro es alternativo a lbaas_listeners.
lbaas_listeners
No
Array of lbaas_listeners objects
Especifica información sobre un balanceador de carga mejorado. Puede enlazar hasta seis balanceadores de carga. Este parámetro está en la estructura de datos de lista. Para más detalles, consulte Tabla 3. Para obtener información sobre un balanceador de carga mejorado, consulte Consulta de grupos de servidores backend.
Este parámetro es alternativo a lb_listener_id.
available_zones
No
Array of strings
Especifica la información de AZ. Las instancias agregadas en una acción de ajuste se crearán en un AZ especificado. Si no especifica una AZ, el sistema la especifica automáticamente. Para obtener más información, consulte Regiones y endpoint.
networks
Sí
Array of networks objects
Especifica la información de red. Puede seleccionar hasta cinco subredes. La primera subred que seleccione es utilizada por las NIC primarias de los ECS de forma predeterminada. Para obtener información acerca de las subredes, consulte Consulta de subredes. Para obtener información sobre la estructura de datos, consulte Tabla 4.
security_groups
No
Array of security_groups objects
Especifica el grupo de seguridad. Se puede seleccionar un máximo de un grupo de seguridad. Para obtener información sobre grupos de seguridad, consulte Consulta de grupos de seguridad. Para obtener información sobre la estructura de datos, consulte Tabla 7.
Si el grupo de seguridad se especifica tanto en la configuración de AS como en el grupo de AS, las instancias de ECS escaladas se agregarán al grupo de seguridad especificado en la configuración de AS. Si el grupo de seguridad no se especifica en ninguno de ellos, las instancias de ECS escaladas se agregarán al grupo de seguridad predeterminado. Para su comodidad, se recomienda especificar el grupo de seguridad en la configuración AS.
vpc_id
Sí
String
Especifica el ID de VPC, que se puede obtener mediante la API para consultar las VPC. Para obtener más información, consulte "Consultar VPCs" en la Referencia de la API de Virtual Private Network.
health_periodic_audit_method
No
String
Especifica el método de comprobación de estado para las instancias del grupo AS. Los métodos de comprobación de estado incluyen ELB_AUDIT y NOVA_AUDIT. Cuando se configura el equilibrio de carga para un grupo AS, el valor predeterminado es ELB_AUDIT. De lo contrario, el valor predeterminado es NOVA_AUDIT.
- ELB_AUDIT: indica la comprobación de estado ELB, que tiene efecto en un grupo AS con un oyente.
- NOVA_AUDIT: indica la comprobación de estado de la instancia ECS, que es el método de comprobación de estado entregado con AS.
health_periodic_audit_time
No
Integer
Especifica el período de comprobación de estado de la instancia. El valor puede ser 1, 5, 15, 60 o 180 en la unidad de minutos. Si no se especifica este parámetro, el valor predeterminado es 5.
Si el valor se establece en 0, la comprobación de estado se realiza cada 10 segundos.
health_periodic_audit_grace_period
No
Integer
Especifica el período de gracia de la comprobación de estado de las instancias. La unidad es segunda y el valor varía de 0 a 86400. El valor predeterminado es 600.
El período de gracia de comprobación de estado comienza después de agregar una instancia a un grupo AS y está habilitado. El grupo AS comenzará a comprobar el estado de la instancia solo después de que finalice el período de gracia.
Este parámetro sólo es válido cuando el método de comprobación de estado de instancia del grupo AS es ELB_AUDIT.
instance_terminate_policy
No
String
Especifica la política de eliminación de instancia.
- OLD_CONFIG_OLD_INSTANCE (predeterminado): Las instancias creadas anteriormente basadas en las configuraciones de AS creadas anteriormente se eliminan primero.
- OLD_CONFIG_NEW_INSTANCE: Las instancias creadas más tarde basadas en las configuraciones de AS creadas anteriormente se eliminan primero.
- OLD_INSTANCE: Las instancias creadas anteriormente se eliminan primero.
- NEW_INSTANCE: Las instancias creadas posteriormente se eliminan primero.
notifications
No
Array of strings
Especifica el modo de notificación.
EMAIL se refiere a la notificación por correo electrónico.
Este modo de notificación ha sido cancelado. Se recomienda configurar la función de notificación para el grupo AS. Para más detalles, consulte Notificaciones.
delete_publicip
No
Boolean
Especifica si se eliminará el EIP enlazado al ECS al eliminar el ECS. El valor puede ser true o false. El valor predeterminado es false.- true: elimina el EIP enlazado al ECS al eliminar el ECS. Si el EIP se factura anualmente/mensualmente, no se eliminará cuando se suprima el ECS.
- false: solo desvincula el EIP vinculado al ECS al eliminar el ECS.
delete_volume
No
Boolean
Especifica si se eliminarán los discos de datos adjuntos al ECS al eliminar el ECS. El valor puede ser true o false. El valor predeterminado es false.- true: elimina los discos de datos conectados al ECS al eliminar el ECS. Si los discos de datos se facturan anualmente/mensualmente, no se eliminarán cuando se elimine el ECS.
- false: solo separa los discos de datos conectados al ECS al eliminar el ECS.
enterprise_project_id
No
String
Especifica el ID del proyecto de empresa, que se utiliza para especificar el proyecto de empresa al que pertenece el grupo AS.
- Si el valor es 0 o se deja en blanco, el grupo AS pertenece al proyecto de empresa predeterminado.
- Si el valor es un UUID, el grupo AS pertenece al proyecto de empresa correspondiente al UUID. Para obtener un ID de proyecto de empresa, consulte Consulta de proyectos de empresa.
Si se configura un proyecto de empresa para un grupo AS, los ECS creados en este grupo AS también pertenecen a este proyecto de empresa. De lo contrario, se utilizará el proyecto de empresa predeterminado.
NOTA:Para obtener más información acerca de las características del proyecto de empresa, consulte Guía del usuario de Enterprise Project Management.
multi_az_priority_policy
No
String
Especifica la política de prioridad utilizada para seleccionar AZ de destino al ajustar el número de instancias de un grupo AS.
- EQUILIBRIUM_DISTRIBUTE (predeterminado): Al ajustar el número de instancias, asegúrese de que las instancias en cada AZ de la lista available_zones estén distribuidas uniformemente. Si no se pueden agregar instancias en el AZ de destino, seleccione otra AZ basada en la política PICK_FIRST.
- PICK_FIRST: Al ajustar el número de instancias, los AZ de destino se determinan en el orden en la lista available_zones.
description
No
String
Especifica la descripción del grupo AS. El valor puede contener de 1 a 256 caracteres.
iam_agency_name
No
String
Specifies the agency name, in 1 to 64 characters.
- iam_agency_name is not transferred if it is set to null.
- iam_agency_name is transferred if it is left blank or has a value.
Tabla 3 Descripción del campo lbaas_listeners Parámetro
Obligatorio
Tipo
Descripción
pool_id
Sí
String
Especifica el ID del grupo ECS backend.
protocol_port
Sí
Integer
Especifica el ID de protocolo de backend, que es el puerto en el que un ECS de backend escucha el tráfico. El ID de puerto oscila entre 1 y 65535.
weight
Sí
Integer
Especifica el peso, que determina la porción de solicitudes que un ECS backend procesa cuando se compara con otros ECS backend agregados al mismo oyente. El valor de este parámetro varía de 0 a 100.
Tabla 4 Descripción del campo networks Parámetro
Obligatorio
Tipo
Descripción
id
Sí
String
Especifica el ID de subred.
ipv6_enable
No
Boolean
Especifica si se admiten direcciones IPv6.
true: indica que la NIC admite direcciones IPv6.
false: indica que la NIC no admite direcciones IPv6. El valor predeterminado es false.
ipv6_bandwidth
No
ipv6_bandwidth object
Especifica el ancho de banda compartido de una dirección IPv6. Este parámetro se deja en blanco de forma predeterminada, lo que indica que no hay ningún ancho de banda IPv6 compartido.
allowed_address_pairs
No
Array of allowed_address_pairs objects
Especifica si se permite al sistema comprobar las direcciones de origen y destino.
Tabla 5 Descripción del campo ipv6_bandwidth Parámetro
Obligatorio
Tipo
Descripción
id
Sí
String
Especifica el ID del ancho de banda compartido de una dirección IPv6.
Tabla 6 Descripción del campo allowed_address_pairs Parámetro
Obligatorio
Tipo
Descripción
ip_address
No
String
Especifica si se permite al sistema comprobar las direcciones de origen y destino.
Esta función está habilitada por defecto. Este parámetro no se puede dejar vacío.
- Para deshabilitar esta función, establezca el valor en 1.1.1.1/0.
- Para habilitar esta función, establezca un valor distinto de 1.1.1.1/0.
- Ejemplo de la solicitud
En el ejemplo siguiente se muestra cómo crear un grupo AS:
- El grupo AS se denomina GroupNameTest.
- El ID de configuración de AS es 47683a91-93ee-462a-a7d7-484c006f4440.
- El ID de VPC es a8327883-6b07-4497-9c61-68d03ee193a, y el ID de red es 3cd35bca-5a10-416f-8994-f79169559870.
- El número máximo de instancias es 10, el número esperado de instancias es 0, y el número mínimo de instancias es 0.
- El método de comprobación de estado es la comprobación de estado de ECS.
- Se establece un proyecto de empresa específico.
- Al ajustar el número de instancias, seleccione AZ de destino según la política PICK FIRST.
El ejemplo de solicitud es el siguiente:
{ "scaling_group_name": "GroupNameTest", "scaling_configuration_id": "47683a91-93ee-462a-a7d7-484c006f4440", "desire_instance_number": 0, "min_instance_number": 0, "max_instance_number": 10, "health_periodic_audit_method": "NOVA_AUDIT", "vpc_id": "a8327883-6b07-4497-9c61-68d03ee193a", "available_zones": ["XXXa","XXXb"], "networks": [ { "id": "3cd35bca-5a10-416f-8994-f79169559870" } ], "enterprise_project_id": "c92b1a5d-6f20-43f2-b1b7-7ce35e58e413", "multi_az_priority_policy": "PICK_FIRST", "iam_agency_name":"test" }
Mensaje de la respuesta
- Parámetros de respuesta
Tabla 8 Parámetro de respuesta Parámetro
Tipo
Descripción
scaling_group_id
String
Especifica el ID de grupo AS.
- Ejemplo de la respuesta
{ "scaling_group_id": "a8327883-6b07-4497-9c61-68d03ee193a1" }
Valores devueltos
- Normal
- Anormal
Valor devuelto
Descripción
400 Bad Request
Se produjo un error en el servidor al procesar la solicitud.
401 Unauthorized
Debe introducir el nombre de usuario y la contraseña para acceder a la página solicitada.
403 Forbidden
Está prohibido el acceso a la página solicitada.
404 Not Found
No se pudo encontrar la página solicitada.
405 Method Not Allowed
No se le permite utilizar el método especificado en la solicitud.
406 Not Acceptable
El cliente no pudo aceptar la respuesta generada por el servidor.
407 Proxy Authentication Required
Debe utilizar el servidor proxy para la autenticación para que la solicitud pueda procesarse.
408 Request Timeout
Se agotó el tiempo de espera de la solicitud.
409 Conflict
La solicitud no se pudo procesar debido a un conflicto.
500 Internal Server Error
Se produjo un error al completar la solicitud debido a un problema de servicio interno.
501 Not Implemented
Error al completar la solicitud porque el servidor no admite la función solicitada.
502 Bad Gateway
Error al completar la solicitud porque la solicitud no es válida.
503 Service Unavailable
Error al completar la solicitud porque el sistema no está disponible.
504 Gateway Timeout
Se ha producido un error de tiempo de espera de la puerta de enlace.
Códigos de error
Consulte Códigos de error