Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> Auto Scaling> Referência de API> APIs> Configurações de AS> Criação de uma configuração de AS
Atualizado em 2023-07-04 GMT+08:00

Criação de uma configuração de AS

Função

Esta API é usada para criar uma configuração de AS.

  • Uma configuração de AS é um modelo que especifica especificações para as instâncias a serem adicionadas a um grupo de AS.
  • A configuração de AS é desacoplada do grupo de AS. Uma configuração de AS pode ser usada por vários grupos de AS.
  • Até 100 configurações de AS podem ser criadas para cada usuário.

URI

POST /autoscaling-api/v1/{project_id}/scaling_configuration

Tabela 1 Descrição do parâmetro

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

Especifica o ID do projeto.

Mensagem de solicitação

  • Parâmetros de solicitação
    Tabela 2 Parâmetros de solicitação

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    scaling_configuration_name

    Sim

    String

    Especifica o nome da configuração de AS. O nome contém apenas letras, dígitos, sublinhados (_) e hifens (-) e não pode exceder 64 caracteres.

    instance_config

    Sim

    Object

    Especifica a configuração do ECS. Para mais detalhes, consulte Tabela 3.

    Tabela 3 Descrição do campo instance_config

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    instance_id

    Não

    String

    Especifica o ID de ECS. Quando quiser criar uma configuração de AS a partir de um ECS, especifique este parâmetro. Neste caso, os campos flavorRef, imageRef, disk, tenancy, dedicated_host_id e security_groups não entram em vigor.

    Se o campo instance_id não for especificado, os campos flavorRef, imageRef e disk serão obrigatórios.

    flavorRef

    Não

    String

    Especifica o ID de flavor do ECS. Um máximo de 10 flavors podem ser selecionados. Use uma vírgula (,) para separar vários IDs de flavor. Para saber como obter um ID de flavor de ECS, consulte .

    imageRef

    Não

    String

    Especifica o ID da imagem. Seu valor é o mesmo de image_id para especificar a imagem selecionada durante a criação do ECS. Para obter informações sobre imagens, consulte Consulta de imagens.

    disk

    Não

    Array of disk objects

    Especifica as informações do grupo de discos. Discos de sistema são obrigatórios e discos de dados são opcionais. Para mais detalhes, consulte Tabela 4.

    key_name

    Não

    String

    Especifica o nome do par de chaves SSH usado para efetuar logon no ECS.

    Para obter detalhes sobre como obter um par de chaves, consulte Criação e importação de um par de chaves SSH.

    NOTA:

    Se ambos key_name e user_data forem especificados, user_data somente injetará dados do usuário.

    personality

    Não

    Array of personality objects

    Especifica informações sobre o arquivo injetado. Somente arquivos de texto podem ser injetados. Um máximo de cinco arquivos podem ser injetados por vez e o tamanho máximo de cada arquivo é de 1 KB. Para mais detalhes, consulte Tabela 6.

    public_ip

    Não

    public_ip object

    Especifica o EIP do ECS. O EIP pode ser configurado de duas maneiras. Para mais detalhes, consulte Tabela 7.

    • Não use um EIP. Nesse caso, esse parâmetro não está disponível.
    • Atribua automaticamente um EIP. Você precisa especificar as informações sobre o novo EIP.
      NOTA:

      Se você ativar a política refinada e associar a configuração de AS a um EIP especificado a um grupo de AS, a política refinada concedida a você deverá conter o item de autorização que permite a ação vpc:publicIps:create.

    user_data

    Não

    String

    Especifica os dados do usuário a serem injetados durante o processo de criação do ECS. Texto, arquivos de texto e arquivos gzip podem ser injetados.

    Restrições:

    • O conteúdo a ser injetado deve ser codificado com base64. O tamanho máximo do conteúdo a ser injetado (antes da codificação) é de 32 KB.
    • Se key_name não for especificado, os dados injetados por user_data são a senha do usuário root para efetuar logon no ECS por padrão.
    • Este parâmetro é obrigatório quando você cria um ECS de Linux usando o modo de autenticação de senha. Seu valor é a senha inicial do usuário root.

    Requisitos de complexidade de senha:

    • Consiste de 8 a 26 caracteres.
    • Contém pelo menos três dos seguintes tipos de caracteres: letras maiúsculas, minúsculas, dígitos e caracteres especiais (!@$%^-_=+[{}]:,./?).

    Exemplos:

    • Use uma senha de texto não criptografado (arriscada em segurança), por exemplo, Cloud.1234.
      #! /bin/bash
      echo 'root:Cloud.1234' | chpasswd ;
    • Use uma senha de texto cifrado (recomendado)
      #! /bin/bash
      echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig' | chpasswd -e

    Na saída do comando anterior, $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig é a senha do texto cifrado, que podem ser geradas da seguinte forma:

    1. Gerar um valor de sal criptografado.

    [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()"  $6$V6azyeLwcD3CHlpY

    2. Gerar uma senha de texto cifrado com base no valor de sal.

    [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')"   $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig

    Exemplos:

    • Linux
      #! /bin/bash
      echo user_test >> /home/user.txt
    • Windows
      rem cmd
      echo 111 > c:\aaa.txt
    NOTA:

    A injeção de dados não é compatível com ECSs que usam uma imagem do Linux e o modo de logon com senha.

    metadata

    Não

    metadata object

    Especifica os metadados do ECS. Para mais detalhes, consulte Tabela 10.

    NOTA:
    • Este parâmetro é obrigatório quando um ECS do Windows com autenticação de senha é criado.
    • Este parâmetro não permite que os usuários gravem dados. É obrigatório quando o ECS deve ser criado usando uma imagem do Windows.

    security_groups

    Não

    Array of security_groups objects

    Especifica grupos de segurança. Para mais detalhes, consulte Tabela 11.

    Se o grupo de segurança for especificado tanto na configuração do AS como no grupo de AS, instâncias de ECS dimensionadas serão adicionadas ao grupo de segurança especificado na configuração do AS. Se o grupo de segurança não for especificado em nenhuma delas, instâncias de ECS dimensionadas serão adicionadas ao grupo de segurança padrão. Para sua conveniência, é aconselhável especificar o grupo de segurança na configuração do AS.

    server_group_id

    Não

    String

    Especifica o ID do grupo de ECS. Para obter mais informações, consulte .

    tenancy

    Não

    String

    Especifica que os ECSs são criados no DeHs. Opções:

    • dedicated: especifica que os ECSs são criados no DeHs.
    • Este parâmetro não é especificado.

    dedicated_host_id

    Não

    String

    Especifica o ID de um DeH.

    NOTA:
    • Este parâmetro é válido somente quando tenancy é definida como dedicated.
    • Se esse parâmetro for especificado, os ECSs serão criados em um DeH especificado.
    • Se esse parâmetro não for especificado, o sistema seleciona automaticamente o DeH com o tamanho máximo de memória disponível nos DeHs que atendem aos requisitos de especificação para criar os ECSs, equilibrando a carga do DeHs.

    multi_flavor_priority_policy

    Não

    String

    Especifica a política de prioridade usada quando há vários flavors e instâncias a serem criados usando uma configuração de AS.

    • PICK_FIRST (padrão): quando um ECS é adicionado para expansão de capacidade, o flavor de destino é determinado na ordem na lista flavorRef.
    • COST_FIRST: quando um ECS é adicionado para expansão de capacidade, o flavor de destino é determinado para despesas mínimas.

    market_type

    Não

    String

    Especifica um modo de cobrança para um ECS. As opções são as seguintes:

    • Pay-per-use, que não é especificado
    • Spot pricing

    Para um ECS de Linux, sua senha pode ser injetada apenas usando userdata. Para um ECS de Windows, sua senha pode ser injetada apenas usando metadados admin_pass.

    Tabela 4 Descrição do campo disk

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    size

    Sim

    Integer

    Especifica o tamanho do disco. A unidade é GB.

    O tamanho do disco do sistema varia de 1 a 1024 e deve ser maior ou igual ao tamanho mínimo (valor min_disk) do disco do sistema especificado na imagem.

    O tamanho do disco de dados varia de 10 a 32768.

    volume_type

    Sim

    String

    Especifica o tipo de disco do sistema de ECS. O tipo de disco deve corresponder ao tipo de disco disponível.

    • SATA: tipo de disco de I/O comum
    • SAS: tipo de disco de alta I/O
    • SSD: tipo de disco de I/O ultra-alta
    • GPSSD: tipo de disco SSD de uso geral
    • co-p1: tipo de disco de alta I/O (desempenho otimizado I)
    • uh-l1: tipo de disco de I/O ultra-alta (latência otimizada)

    Se o tipo de disco especificado não estiver disponível na AZ, haverá falha na criação do disco.

    NOTA:

    Para ECSs HANA, HL1 e HL2, use discos co-p1 e uh-l1. Para outros ECSs, não use discos co-p1 ou uh-l1.

    Para obter detalhes sobre tipos de disco, consulte Tipos de disco e desempenho de disco.

    disk_type

    Sim

    String

    Especifica um tipo de disco. As opções são as seguintes:

    • DATA: indica um disco de dados.
    • SYS: indica um disco do sistema.
      NOTA:

      A criptografia de disco do sistema não é suportada.

    dedicated_storage_id

    Não

    String

    Especifica um ID de dispositivo DSS para criar um disco de ECS.

    NOTA:

    Especifique dispositivos DSS para todos os discos em uma configuração de AS ou não. Se os dispositivos DSS são especificados, todos os armazenamentos de dados devem pertencer à mesma AZ, e os tipos de disco suportados por um dispositivo DSS para um disco devem ser os mesmos que o valor volume_type.

    data_disk_image_id

    Não

    String

    Especifica o ID de uma imagem de disco de dados usada para exportar discos de dados de um ECS.

    snapshot_id

    Não

    String

    Especifica o ID do snapshot de backup em disco para restaurar o disco do sistema e os discos de dados usando um backup de ECS completo quando uma imagem de ECS completa é usada.

    NOTA:

    Você pode obter o ID do snapshot de backup em disco usando o ID de backup de ECS completo em . Cada disco em uma configuração de AS deve corresponder a um backup em disco no backup de ECS completo por snapshot_id.

    metadata

    Não

    metadata object

    Especifica os metadados para a criação de discos. Para mais detalhes, consulte Tabela 5.

    Tabela 5 Descrição do campo metadata para a criação de discos

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    __system__encrypted

    Não

    String

    Especifica a criptografia em metadata. O valor pode ser 0 (criptografia desativada) ou 1 (criptografia ativada).

    Se este parâmetro não existir, o disco não será criptografado por padrão.

    NOTA:

    A criptografia de disco do sistema não é suportada.

    __system__cmkid

    Não

    String

    Especifica o ID de CMK, que indica criptografia nos metadata. Este parâmetro é usado com __system__encrypted.

    NOTA:
    • A criptografia de disco do sistema não é suportada.
    • Para obter detalhes sobre como obter o ID de CMK, consulte Consulta da lista de CMKs.
    Tabela 6 Descrição do campo personality

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    path

    Sim

    String

    Especifica o caminho do arquivo injetado.

    • Para sistemas operacionais de Linux, especifique o caminho, por exemplo, /etc/foo.txt, para armazenar o arquivo injetado.
    • Para o Windows, o arquivo injetado é armazenado automaticamente no diretório raiz da unidade C. Você só precisa especificar o nome do arquivo, por exemplo, foo. O nome do arquivo contém apenas letras e dígitos.

    content

    Sim

    String

    Especifica o conteúdo do arquivo injetado.

    O valor deve ser a informação após o conteúdo do arquivo injetado ser codificado usando Base64.

    Tabela 7 Descrição do campo public_ip

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    eip

    Sim

    eip object

    Especifica o EIP atribuído automaticamente ao ECS. Para mais detalhes, consulte Tabela 8.

    Tabela 8 Descrição do campo eip

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    ip_type

    Sim

    String

    Especifica o tipo de EIP.

    Valores enumerados do tipo de endereço IP:

    • 5_bgp: indica BGP dinâmico.
    • 5_sbgp: indica o BGP estático.

    bandwidth

    Sim

    bandwidth object

    Especifica a largura de banda de um endereço IP. Para mais detalhes, consulte Tabela 9.

    Tabela 9 Descrição do campo bandwidth

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    size

    Não

    Integer

    Especifica a largura de banda (Mbit/s). O intervalo de valor para a largura de banda faturada por duração é de 1 a 2000 e para a largura de banda faturada por tráfego é de 1 a 300.

    NOTA:
    • Se share_type for definido como PER, este parâmetro é obrigatório. Se share_type for definido como WHOLE, esse parâmetro é inválido.
    • O intervalo específico pode variar dependendo da configuração em cada região. Você pode ver o intervalo de largura de banda de cada região no console de gerenciamento.
    • A unidade mínima para largura de banda varia dependendo de intervalo de largura de banda.
      • A unidade mínima é de 1 Mbit/s se o tamanho da largura de banda permitida varia de 0 a 300 Mbit/s (com 300 Mbit/s incluídos).
      • A unidade mínima é de 50 Mbit/s se o tamanho da largura de banda permitida varia de 300 Mbit/s a 1000 Mbit/s (com 1000 Mbit/s incluídos).
      • A unidade mínima é de 500 Mbit/s se o tamanho de largura de banda permitido for maior que 1000 Mbit/s.

    share_type

    Sim

    String

    Especifica o tipo de compartilhamento de largura de banda.

    Valores enumerados do tipo de compartilhamento:

    • PER: dedicado
    • WHOLE: partilhado

    charging_mode

    Não

    String

    Especifica o modo de faturamento da largura de banda.

    As opções são as seguintes:

    • bandwidth: cobrado pela largura de banda.
    • traffic: cobrado pelo tráfego.
    Se o valor do parâmetro estiver fora das opções anteriores, a criação do ECS falhará.
    NOTA:
    • Se share_type for definido como PER, este parâmetro é obrigatório.
    • Se share_type for definido como WHOLE, esse parâmetro é inválido.

    id

    Não

    String

    Especifica o ID da largura de banda. Ao usar uma largura de banda compartilhada, você pode selecionar uma largura de banda compartilhada existente para criar um EIP.

    NOTA:
    • Se share_type for definido como PER, esse parâmetro é inválido.
    • Se share_type for definido como WHOLE, este parâmetro é obrigatório.
    Tabela 10 Descrição do campo metadata

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    admin_pass

    Não

    String

    Especifica a senha de logon inicial da conta de administrador para fazer logon em um ECS usando autenticação de senha. O administrador do Linux é root e o administrador do Windows é Administrator.

    Requisitos de complexidade de senha:
    • Consiste de 8 a 26 caracteres.
    • Contém pelo menos três dos seguintes tipos de caracteres: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais !@$%^-_=+[{}]:,./?
    • A senha não pode conter o nome de usuário ou o nome de usuário na ordem inversa.
    • A senha do ECS de Windows não pode conter o nome de usuário, o nome de usuário em ordem inversa ou mais de dois caracteres consecutivos no nome de usuário.
    Tabela 11 Descrição do campo security_groups

    Parâmetro

    Obrigatório

    Tipo

    Descrição

    id

    Sim

    String

    Especifica o ID do grupo de segurança.

  • Exemplo de solicitação
    Este exemplo mostra como criar uma configuração de AS com o nome as-config-tlzp, ID de imagem 627a1223-2ca3-46a7-8d5f-7aef22c74ee6, ID de flavor s3.xlarge.4, disco do sistema SATA de 40 GB e nome da chave 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"
        } 
    }
    

Mensagem de resposta

  • Parâmetros de resposta
    Tabela 12 Parâmetros de resposta

    Parâmetro

    Tipo

    Descrição

    scaling_configuration_id

    String

    Especifica o ID de configuração de AS.

  • Exemplo de resposta
    {
        "scaling_configuration_id": "f8327883-6a07-4497-9a61-68c03e8e72a2"
    }

Valores retornados

  • Normal

    200

  • Anormal

    Valores retornados

    Descrição

    400 Bad Request

    O servidor falhou ao processar a solicitação.

    401 Unauthorized

    Você deve digitar o nome de usuário e a senha para acessar a página solicitada.

    403 Forbidden

    Você está proibido de acessar a página solicitada.

    404 Not Found

    O servidor não conseguiu encontrar a página solicitada.

    405 Method Not Allowed

    Você não tem permissão para usar o método especificado na solicitação.

    406 Not Acceptable

    A resposta gerada pelo servidor não poderia ser aceita pelo cliente.

    407 Proxy Authentication Required

    Você deve usar o servidor proxy para autenticação para que a solicitação possa ser processada.

    408 Request Timeout

    A solicitação expirou o tempo limite.

    409 Conflict

    A solicitação não pôde ser processada devido a um conflito.

    500 Internal Server Error

    Falhou ao concluir a solicitação porque ocorre um erro de serviço interno.

    501 Not Implemented

    Falhou ao concluir a solicitação porque o servidor não suporta a função solicitada.

    502 Bad Gateway

    Falhou ao concluir a solicitação porque a solicitação é inválida.

    503 Service Unavailable

    Falhou ao concluir a solicitação porque o sistema não está disponível.

    504 Gateway Timeout

    Ocorreu um erro de tempo limite de gateway.

Códigos de erro

Consulte Códigos de erro.