Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-08 GMT+08:00

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

Tabla 1 Descripción del parámetro

Parámetro

Obligatorio

Tipo

Descripción

project_id

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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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.
    Tabla 11 Descripción del campo security_groups

    Parámetro

    Obligatorio

    Tipo

    Descripción

    id

    String

    Especifica el ID del grupo de seguridad.

  • 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

    200

  • 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