Creación de una configuración de AS
Función
Esta API se utiliza para crear una configuración AS.
- Una configuración de AS es una plantilla que especifica las especificaciones para las instancias que se agregarán a un grupo de AS.
- La configuración AS se desacopla del grupo AS. Una configuración de AS puede ser utilizada por varios grupos de AS.
- Se pueden crear hasta 100 configuraciones AS para cada usuario.
URI
POST /autoscaling-api/v1/{project_id}/scaling_configuration
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_configuration_name
Sí
String
Especifica el nombre de configuración de AS. El nombre solo contiene letras, dígitos, guiones bajos (_), y guiones (-) y no puede superar los 64 caracteres.
instance_config
Sí
Object
Especifica la configuración de ECS. Para más detalles, consulte Tabla 3.
Tabla 3 Descripción del campo instance_config Parámetro
Obligatorio
Tipo
Descripción
instance_id
No
String
Especifica el ID de ECS. Cuando desee crear una configuración AS a partir de un ECS, especifique este parámetro. En este caso, los campos flavorRef, imageRef, disk, tenancy, dedicated_host_id y security_groups no tienen efecto.
Si no se especifica el campo instance_id, los campos flavorRef, imageRef y disk son obligatorios.
flavorRef
No
String
Especifica el identificador de tipo ECS. Se puede seleccionar un máximo de 10 variantes. Utilice una coma (,) para separar varios identificadores de variante. Para obtener un ID de variante ECS, consulte Consulta de detalles sobre informaciones de variantes y variantes extendidas.
imageRef
No
String
Especifica el ID de imagen. Su valor es el mismo que el de image_id para especificar la imagen seleccionada durante la creación de ECS. Para obtener información sobre las imágenes, consulte Consulta de imágenes.
disk
No
Array of disk objects
Especifica la información del grupo de discos. Los discos del sistema son obligatorios y los discos de datos son opcionales. Para más detalles, consulte Tabla 4.
key_name
No
String
Especifica el nombre del par de claves SSH que se utiliza para iniciar sesión en el ECS.
Para obtener más información sobre cómo obtener un par de claves, consulte Creación e importación de un par de claves SSH.
NOTA:Si se especifican key_name y user_data, user_data solo inyecta datos de usuario.
personality
No
Array of personality objects
Especifica información sobre el archivo inyectado. Solo se pueden inyectar archivos de texto. Se pueden inyectar un máximo de cinco archivos a la vez y el tamaño máximo de cada archivo es de 1 KB. Para más detalles, consulte Tabla 6.
public_ip
No
public_ip object
Especifica el EIP del ECS. El EIP se puede configurar de dos maneras. Para más detalles, consulte Tabla 7.
- No utilice un EIP. En este caso, este parámetro no está disponible.
- Asigne automáticamente un EIP. Es necesario especificar la información sobre el nuevo EIP.
NOTA:
Si habilita la política de grano fino y asocia la configuración de AS con un EIP especificado a un grupo de AS, la política de grano fino otorgada a usted debe contener el elemento de autorización que permite la acción vpc:publicIps:create.
user_data
No
String
Especifica los datos de usuario que se inyectarán durante el proceso de creación de ECS. Se pueden inyectar texto, archivos de texto y archivos gzip. Para obtener más información, vea Pasar datos de usuario a ECS.
Restricciones:
- El contenido que se va a inyectar debe estar codificado con base64. El tamaño máximo del contenido a inyectar (antes de la codificación) es de 32 KB.
- Si no se especifica key_name, los datos inyectados por user_data son la contraseña del usuario root para iniciar sesión en ECS de forma predeterminada.
- Este parámetro es obligatorio cuando se crea un ECS de Linux utilizando el modo de autenticación de contraseña. Su valor es la contraseña inicial de usuario root.
Requerimientos de complejidad de la contraseña:
- Consta de 8 a 26 caracteres.
- Debe contener al menos tres de los siguientes tipos de caracteres: mayúsculas, minúsculas, dígitos y caracteres especiales (!@$%^-_=+[{}]:,./?).
Ejemplos:
- Utilice una contraseña de texto sin formato (riesgo en la seguridad), por ejemplo, Cloud.1234.
#! /bin/bash echo 'root:Cloud.1234' | chpasswd ;
- Usar una contraseña de texto cifrado (recomendado)
#! /bin/bash echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig' | chpasswd -e
En el resultado del comando anterior, $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig es la contraseña de texto cifrado, que puede generarse de la siguiente manera:
1. Genere un valor de sal cifrado.
[root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()" $6$V6azyeLwcD3CHlpY
2. Genere una contraseña de texto cifrado basada en el valor salt.
[root@test linux]# python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')" $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig
Ejemplos:
- Linux
#! /bin/bash echo user_test >> /home/user.txt
- Windows
rem cmd echo 111 > c:\aaa.txt
NOTA:La inyección de datos no es compatible con los ECS que utilizan una imagen de Linux y el modo de inicio de sesión con contraseña.
metadata
No
metadata object
Especifica los metadatos de ECS. Para más detalles, consulte Tabla 10.
NOTA:- Este parámetro es obligatorio cuando se crea un ECS de Windows con autenticación de contraseña.
- Este parámetro no permite a los usuarios escribir datos. Es obligatorio cuando el ECS se va a crear con una imagen de Windows.
security_groups
No
Array of security_groups objects
Especifica los grupos de seguridad. Para más detalles, consulte Tabla 11. Para obtener información acerca de los grupos de seguridad que usan los ID de VPC, consulte Consulta de grupos de seguridad en la Referencia de la API de Virtual Private Cloud.
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.
server_group_id
No
String
Especifica el ID de grupo ECS. Para obtener más información, consulte Consulta de grupos de ECS.
tenancy
No
String
Especifica que los ECS se crean en el DeHs. Opciones:
- dedicated: Especifica que los ECS se crean en el DeHs.
- This parameter is not specified.
dedicated_host_id
No
String
Especifica el ID de un DeH.
NOTA:- Este parámetro solo es válido cuando tenancy se establece en dedicated.
- Si se especifica este parámetro, los ECS se crearán en un DeH especificado.
- Si no se especifica este parámetro, el sistema selecciona automáticamente el DeH con el tamaño de memoria máximo disponible del DeHs que cumple con los requisitos de especificaciones para crear los ECS, equilibrando así la carga del DeHs.
multi_flavor_priority_policy
No
String
Especifica la política de prioridad que se utiliza cuando hay varias variantes e instancias que se van a crear con una configuración AS.
- PICK_FIRST (predeterminado): Cuando se agrega un ECS para la expansión de la capacidad, la variante de destino se determina en el orden en la lista flavorRef.
- COST_FIRST: Cuando se agrega un ECS para la expansión de la capacidad, se determina el tipo de destino para gastos mínimos.
market_type
No
String
Especifica un modo de facturación para un ECS. Las opciones son las siguientes:
- Pago por uso, que no está especificado
- Precios de spot
Para un ECS de Linux, su contraseña solo se puede inyectar usando userdata. Para un ECS de Windows, su contraseña solo se puede inyectar mediante metadatos admin_pass.
Tabla 4 Descripción del campo disk Parámetro
Obligatorio
Tipo
Descripción
size
Sí
Integer
Especifica el tamaño del disco. La unidad es GB.
El tamaño del disco del sistema varía de 1 a 1024 y debe ser mayor o igual que el tamaño mínimo (valor min_disk) del disco del sistema especificado en la imagen.
El tamaño del disco de datos varía de 10 a 32768.
volume_type
Sí
String
Especifica el tipo de disco del sistema ECS. El tipo de disco debe coincidir con el tipo de disco disponible.
- SATA: tipo de disco de E/S común
- SAS: tipo de disco de E/S alta
- SSD: tipo de disco de E/S ultra-alta
- GPSSD: tipo de disco SSD de uso general
- co-p1: tipo de disco de alta E/S (I de rendimiento optimizado)
- uh-l1: tipo de disco de E/S (latencia optimizada) ultra alta
Si el tipo de disco especificado no está disponible en AZ, el disco no se creará.
NOTA:Para los ECS de HANA, HL1 y HL2, use discos co-p1 y uh-l1. Para otros ECS, no utilice discos co-p1 o uh-l1.
Para obtener más información acerca de los tipos de disco, consulte Tipos de disco y rendimiento de disco.
disk_type
Sí
String
Especifica un tipo de disco. Las opciones son las siguientes:
- DATA: indica un disco de datos.
- SYS: indica un disco del sistema.
NOTA:
No se admite la encriptación del disco del sistema.
dedicated_storage_id
No
String
Especifica un ID de dispositivo DSS para crear un disco ECS.
NOTA:Especifique los dispositivos DSS para todos los discos en una configuración de AS o no. Si se especifican dispositivos DSS, todos los almacenes de datos deben pertenecer al mismo AZ, y los tipos de disco admitidos por un dispositivo DSS para un disco deben ser los mismos que el valor volume_type.
data_disk_image_id
No
String
Especifica el ID de una imagen de disco de datos utilizada para exportar discos de datos de un ECS.
snapshot_id
No
String
Especifica el ID de instantánea de copia de seguridad de disco para restaurar el disco del sistema y los discos de datos mediante una copia de seguridad de ECS completa cuando se utiliza una imagen de ECS completa.
NOTA:Puede obtener el ID de instantánea de copia de seguridad de disco mediante el ID de copia de seguridad completo de ECS en Consulta de un único respaldo. Cada disco en una configuración de AS debe corresponder a una copia de seguridad de disco en la copia de seguridad de ECS completa por snapshot_id.
metadata
No
metadata object
Especifica los metadatos para crear discos. Para más detalles, consulte Tabla 5.
Tabla 5 Descripción del campo metadata para crear discos Parámetro
Obligatorio
Tipo
Descripción
__system__encrypted
No
String
Especifica el encriptación en metadata. El valor puede ser 0 (encriptación desactivada) o 1 (encriptación activada).
Si este parámetro no existe, el disco no se cifrará de forma predeterminada.
NOTA:No se admite la encriptación del disco del sistema.
__system__cmkid
No
String
Especifica el ID de CMK, que indica la encriptación en metadata. Este parámetro se utiliza con __system__encrypted.
NOTA:- No se admite la encriptación del disco del sistema.
- Para obtener más información sobre cómo obtener el ID de CMK, consulte Consulta de la lista de CMK.
Tabla 6 Descripción del campo personality Parámetro
Obligatorio
Tipo
Descripción
path
Sí
String
Especifica la ruta de acceso del archivo inyectado.
- Para los SO de Linux, especifique la ruta, por ejemplo, /etc/foo.txt, para almacenar el archivo inyectado.
- Para Windows, el archivo inyectado se almacena automáticamente en el directorio root de la unidad C. Solo tiene que especificar el nombre del archivo, por ejemplo, foo. El nombre del archivo contiene solo letras y dígitos.
content
Sí
String
Especifica el contenido del archivo inyectado.
El valor debe ser la información después de que el contenido del archivo inyectado se codifique con Base64.
Tabla 7 Descripción del campo public_ip Parámetro
Obligatorio
Tipo
Descripción
eip
Sí
eip object
Especifica el EIP asignado automáticamente al ECS. Para más detalles, consulte Tabla 8.
Tabla 8 Descripción del campo eip Parámetro
Obligatorio
Tipo
Descripción
ip_type
Sí
String
Especifica el tipo de EIP.
Valores enumerados del tipo de dirección IP:
- 5_bgp: indica el BGP dinámico.
- 5_sbgp: indica el BGP estático.
Para obtener más información, consulte el campo Public IP en Asignar una EIP en la Referencia de la API de Virtual Private Cloud.
bandwidth
Sí
bandwidth object
Especifica el ancho de banda de una dirección IP. Para más detalles, consulte Tabla 9.
Tabla 9 Descripción del campo bandwidth Parámetro
Obligatorio
Tipo
Descripción
size
No
Integer
Especifica el ancho de banda (Mbit/s). El intervalo de valores para el ancho de banda facturado por duración es de 1 a 2000 y para el ancho de banda facturado por tráfico es de 1 a 300.
NOTA:- Si share_type se establece en PER, este parámetro es obligatorio. Si share_type se establece en WHOLE, este parámetro no es válido.
- El intervalo específico puede variar dependiendo de la configuración en cada región. Puede ver el rango de ancho de banda de cada región en la consola de gestión.
- La unidad mínima para el ancho de banda varía dependiendo del rango de ancho de banda.
- La unidad mínima es de 1 Mbit/s si el tamaño de ancho de banda permitido varía de 0 a 300 Mbit/s (con 300 Mbit/s incluidos).
- La unidad mínima es de 50 Mbit/s si el tamaño de ancho de banda permitido oscila entre 300 Mbit/s y 1000 Mbit/s (con 1000 Mbit/s incluidos).
- La unidad mínima es de 500 Mbit/s si el tamaño de ancho de banda permitido es mayor que 1000 Mbit/s.
share_type
Sí
String
Especifica el tipo de uso compartido de ancho de banda.
Valores enumerados del tipo de uso compartido:
- PER: dedicado
- WHOLE: compartido
charging_mode
No
String
Especifica el modo de facturación del ancho de banda.
Las opciones son las siguientes:
- bandwidth: facturado por ancho de banda.
- traffic: facturado por tráfico.
Si el valor del parámetro está fuera de las opciones anteriores, se producirá un error al crear el ECS.NOTA:- Si share_type se establece en PER, este parámetro es obligatorio.
- Si share_type se establece en WHOLE, este parámetro no es válido.
id
No
String
Especifica el ID de ancho de banda. Al utilizar un ancho de banda compartido, puede seleccionar un ancho de banda compartido existente para crear un EIP. Para obtener más información, consulte Consulta de anchos de banda.
NOTA:- Si share_type se establece en PER, este parámetro no es válido.
- Si share_type se establece en WHOLE, este parámetro es obligatorio.
Tabla 10 Descripción del campo metadata Parámetro
Obligatorio
Tipo
Descripción
admin_pass
No
String
Especifica la contraseña de inicio de sesión inicial de la cuenta de administrador para iniciar sesión en un ECS mediante autenticación de contraseña. El administrador de Linux es root y el administrador de Windows es Administrator.
Requerimientos de complejidad de la contraseña:- Consta de 8 a 26 caracteres.
- Contiene al menos tres de los siguientes tipos de caracteres: letras mayúsculas, minúsculas, dígitos y characters especiales !@$%^-_=+[{}]:,./?
- La contraseña no puede contener el nombre de usuario o el nombre de usuario en orden inverso.
- La contraseña de Windows ECS no puede contener el nombre de usuario, el nombre de usuario en orden inverso o más de dos caracteres consecutivos en el nombre de usuario.
- Ejemplo de la solicitud
Este ejemplo muestra cómo crear una configuración de AS con el nombre as-config-tlzp, ID de imagen 627a1223-2ca3-46a7-8d5f-7aef22c74ee6, ID de variante s3.xlarge.4, Disco del sistema SATA de 40 GB y nombre de clave SSH 100vm_key.
POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_configuration { "scaling_configuration_name": "as-config-tlzq", "instance_config": { "flavorRef": "s3.xlarge.4", "imageRef": "627a1223-2ca3-46a7-8d5f-7aef22c74ee6", "disk": [ { "size": 40, "volume_type": "SATA", "disk_type": "SYS" } ], "key_name": "100vm_key" , "security_groups": [{ "id": "6c22a6c0-b5d2-4a84-ac56-51090dcc33be" }], "multi_flavor_priority_policy": "PICK_FIRST" } }
Mensaje de la respuesta
- Parámetros de respuesta
Tabla 12 Parámetros de respuesta Parámetro
Tipo
Descripción
scaling_configuration_id
String
Especifica el ID de configuración de AS.
- Ejemplo de la respuesta
{ "scaling_configuration_id": "f8327883-6a07-4497-9a61-68c03e8e72a2" }
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