Modificação de um grupo de AS
Função
Essa API é usada para modificar um grupo de AS especificado.
- Quando a configuração de AS de um grupo de AS é alterada, as instâncias existentes criadas usando a configuração de AS original não são afetadas.
- Se nenhuma ação de dimensionamento estiver sendo executada, você poderá modificar suas configurações de sub-rede, ELB e AZ.
- Alterar o número de instâncias esperadas em um grupo de AS acionará uma ação de dimensionamento para adicionar ou remover instâncias de ou para o grupo de AS. O número de instâncias esperadas deve ser maior ou igual ao número mínimo de instâncias e menor ou igual ao número máximo de instâncias.
URI
PUT /autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
Especifica o ID do projeto. |
scaling_group_id |
Sim |
String |
Especifica o ID do grupo de AS. |
Mensagem de solicitação
- Parâmetros de solicitação
Tabela 2 Parâmetros de solicitação Parâmetro
Obrigatório
Tipo
Descrição
scaling_group_name
Não
String
Especifica o nome do grupo de AS. O nome contém apenas letras, dígitos, sublinhados (_) e hifens (-) e não pode exceder 64 caracteres.
desire_instance_number
Não
Integer
Especifica o número esperado de instâncias.
O valor varia desde o número mínimo de instâncias até o número máximo de instâncias.
min_instance_number
Não
Integer
Especifica o número mínimo de instâncias.
max_instance_number
Não
Integer
Especifica o número máximo de instâncias, que é maior ou igual ao número mínimo de instâncias.
cool_down_time
Não
Integer
Especifica o período de resfriamento (em segundos). O valor varia de 0 a 86400 e é de 300 por padrão.
available_zones
Não
Array of strings
Especifica as informações de AZ. As instâncias adicionadas em uma ação de dimensionamento serão criadas em uma AZ especificada. Se você não especificar uma AZ, o sistema especificará uma automaticamente.
Você pode alterar a AZ de um grupo de AS somente quando nenhuma ação de dimensionamento estiver sendo executada no grupo.
networks
Não
Array of networks objects
Especifica as informações da rede. Você pode selecionar até cinco sub-redes. A primeira sub-rede que você selecionar é usada pelas NICs primárias dos ECSs por padrão. Para obter informações sobre a estrutura de dados, consulte Tabela 4.
O valor deste parâmetro só pode ser alterado quando todas as seguintes condições forem atendidas:
- Nenhuma ação de dimensionamento é acionada no grupo de AS.
- O número de instâncias no grupo de AS é 0.
- O grupo de AS não está em serviço.
security_groups
Não
Array of security_groups objects
Especifica o grupo de segurança. Um máximo de um grupo de segurança pode ser selecionado. Para obter informações sobre a estrutura de dados, consulte Tabela 7.
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. O valor deste parâmetro só pode ser alterado quando todas as seguintes condições forem atendidas:
- Nenhuma ação de dimensionamento é acionada no grupo de AS.
- O número de instâncias no grupo de AS é 0.
- O grupo de AS não está em serviço.
lb_listener_id
Não
String
Especifica o ID de um ouvinte do balanceador de carga clássico. O sistema suporta a vinculação de até seis ouvintes do balanceador de carga, cujos IDs são separados usando uma vírgula (,).
O valor deste parâmetro só pode ser alterado quando todas as seguintes condições forem atendidas:
- Nenhuma ação de dimensionamento é acionada no grupo de AS.
- O número de instâncias no grupo de AS é 0.
- O grupo de AS não está em serviço.
lbaas_listeners
Não
Array of lbaas_listeners objects
Especifica informações sobre um balanceador de carga avançado. O sistema suporta a vinculação de até seis balanceadores de carga. Este parâmetro está na estrutura de dados da lista. Para mais detalhes, consulte Tabela 3.
health_periodic_audit_method
Não
String
Especifica o método de verificação de integridade para instâncias no grupo de AS. Os métodos de verificação de integridade incluem ELB_AUDIT e NOVA_AUDIT. Quando o balanceamento de carga é configurado para um grupo de AS, o valor padrão é ELB_AUDIT. Caso contrário, o valor padrão é NOVA_AUDIT.
- ELB_AUDIT: indica a verificação de integridade do ELB, que entra em vigor em um grupo de AS com um ouvinte.
- NOVA_AUDIT: indica a verificação de integridade do ECS, que é o método de verificação de integridade fornecido com o AS.
health_periodic_audit_time
Não
Integer
Especifica o período de verificação de integridade para as instâncias no grupo de AS. O valor pode ser 1, 5, 15, 60 ou 180 na unidade de minutos.
Se o valor for definido como 0, a verificação de integridade é executada a cada 10 segundos.
instance_terminate_policy
Não
String
Especifica a política de remoção de instância.
- OLD_CONFIG_OLD_INSTANCE (padrão): as instâncias criadas anteriormente com base nas configurações de AS criadas anteriormente são removidas primeiro.
- OLD_CONFIG_NEW_INSTANCE: as instâncias criadas posteriormente com base nas configurações de AS criadas anteriormente são removidas primeiro.
- OLD_INSTANCE: as instâncias criadas anteriormente são removidas primeiro.
- NEW_INSTANCE: as instâncias criadas posteriormente são removidas primeiro.
health_periodic_audit_grace_period
Não
Integer
Especifica o período de carência para a verificação de integridade da instância. A unidade é a segunda e o intervalo de valor é 0-86400. O valor padrão é 600.
O período de carência da verificação de integridade começa depois que uma instância é adicionada a um grupo de AS e é habilitada. O grupo de AS começará a verificar o status da instância somente após o término do período de carência.
Esse parâmetro é válido somente quando o método de verificação de integridade da instância do grupo de AS é ELB_AUDIT.
scaling_configuration_id
Não
String
Especifica o ID de configuração de AS, que pode ser obtido usando a API para consulta de configurações de AS. Para mais detalhes, consulte Consulta das configurações do AS.
notifications
Não
Array of strings
Especifica o modo de notificação.
EMAIL refere-se a notificação por e-mail.
Este modo de notificação foi cancelado. É aconselhável configurar a função de notificação para o grupo de AS. Para mais detalhes, consulte Notificações.
delete_publicip
Não
Boolean
Especifica se o EIP vinculado ao ECS deve ser excluído ao excluir o ECS. Se você não quiser excluir o EIP, defina esse parâmetro como false. Em seguida, o sistema apenas desvincula o EIP do ECS e reserva o EIP.
- true: exclui o EIP vinculado ao ECS ao excluir o ECS. Se o EIP for cobrado anualmente/mensalmente, ele não será excluído quando o ECS for excluído.
- false: apenas desvincula o EIP vinculado ao ECS ao excluir o ECS.
delete_volume
Não
Boolean
Especifica se devem ser excluídos os discos de dados anexados a um ECS ao excluir o ECS. O valor pode ser true ou false. O valor padrão é false.
- true: exclui os discos de dados anexados ao ECS ao excluir o ECS. Se os discos de dados forem cobrados anualmente/mensalmente, eles não serão excluídos quando o ECS for excluído.
- false: somente desanexa os discos de dados anexados ao ECS ao excluir o ECS.
enterprise_project_id
Não
String
Especifica o ID do projeto empresarial, que é usado para especificar o projeto empresarial ao qual o grupo de AS pertence.
- Se o valor for 0 ou deixado em branco, o grupo de AS pertence ao projeto empresarial padrão.
- Se o valor for um UUID, o grupo de AS pertence ao projeto empresarial correspondente ao UUID..
Se um projeto empresarial é configurado para um grupo de AS, os ECSs criados neste grupo de AS também pertencem a este projeto empresarial. Caso contrário, será utilizado o projeto empresarial padrão.
multi_az_priority_policy
Não
String
Especifica a política de prioridade usada para selecionar AZs de destino ao ajustar o número de instâncias em um grupo de AS.
- EQUILIBRIUM_DISTRIBUTE (padrão): ao ajustar o número de instâncias, certifique-se de que as instâncias em cada AZ na lista available_zones sejam distribuídas uniformemente. Se as instâncias não puderem ser adicionadas à AZ de destino, selecione outra AZ com base na política PICK_FIRST.
- PICK_FIRST: ao ajustar o número de instâncias, as AZs de destino são determinadas na ordem na lista available_zones.
description
Não
String
Especifica a descrição do grupo de AS. O valor pode conter de 1 a 256 caracteres.
iam_agency_name
Não
String
Especifica o nome da agência, em 1 a 64 caracteres.
- Se iam_agency_name for definido como nulo, você não precisa modificá-lo.
- Se iam_agency_name for deixado em branco ou tiver um valor, você precisará modificá-lo.
Tabela 3 Descrição do campo lbaas_listeners Parâmetro
Obrigatório
Tipo
Descrição
pool_id
Sim
String
Especifica o ID do grupo de ECS de back-end.
O valor deste parâmetro só pode ser alterado quando todas as seguintes condições forem atendidas:
- Nenhuma ação de dimensionamento é acionada no grupo de AS.
- O número de instâncias no grupo de AS é 0.
- O grupo de AS não está em serviço.
protocol_port
Sim
Integer
Especifica o ID do protocolo de back-end, que é a porta na qual um ECS de back-end escuta o tráfego. O ID da porta varia de 1 a 65535.
weight
Sim
Integer
Especifica o peso, que determina a parte das solicitações que um ECS de back-end processa ao ser comparado a outros ECSs de back-end adicionados ao mesmo ouvinte. O valor deste parâmetro varia de 0 a 100.
Tabela 4 Descrição do campo networks Parâmetro
Obrigatório
Tipo
Descrição
id
Sim
String
Especifica o ID da sub-rede.
ipv6_enable
Não
Boolean
Especifica se deve ser compatível com endereços IPv6.
true: indica que a NIC suporta endereços IPv6.
false: indica que a NIC não suporta endereços IPv6. O valor padrão é false.
ipv6_bandwidth
Não
ipv6_bandwidth object
Especifica a largura de banda compartilhada de um endereço IPv6. Esse parâmetro é deixado em branco por padrão, indicando que nenhuma largura de banda IPv6 compartilhada está vinculada.
allowed_address_pairs
Não
Array of allowed_address_pairs objects
Especifica se deve permitir que o sistema verifique os endereços de origem e de destino.
Tabela 5 Descrição do campo ipv6_bandwidth Parâmetro
Obrigatório
Tipo
Descrição
id
Sim
String
Especifica o ID da largura de banda compartilhada de um endereço IPv6.
Tabela 6 Descrição do campo allowed_address_pairs Parâmetro
Tipo
Descrição
ip_address
String
Especifica se deve permitir que o sistema verifique os endereços de origem e de destino.
Essa função está ativada por padrão. Este parâmetro não pode ser deixado vazio.
- Para desativar esta função, defina o valor para 1.1.1.1/0.
- Para ativar esta função, defina um valor diferente de 1.1.1.1/0.
- Exemplo de solicitação
Este exemplo mostra como alterar o nome, a configuração de AS, projeto corporativo, o número esperado de instâncias, o número mínimo de instâncias, o número máximo de instâncias e período de resfriamento do grupo de AS com ID a8327883-6b07-4497-9c61-68d03ee193a1.
PUT https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group/a8327883-6b07-4497-9c61-68d03ee193a1 { "scaling_group_name": "group_1", "scaling_configuration_id": "f8327883-6a07-4497-9a61-68c03e8e72a2", "enterprise_project_id": "c92b1a5d-6f20-43f2-b1b7-7ce35e58e413", "desire_instance_number": 1, "min_instance_number": 1, "max_instance_number": 3, "cool_down_time": 200, "multi_az_priority_policy": "PICK_FIRST" ":"test" }
Mensagem de resposta
- Parâmetros de resposta
Tabela 8 Parâmetros de resposta Parâmetro
Type
Descrição
scaling_group_id
String
Especifica o ID do grupo de AS.
- Exemplo de resposta
{ "scaling_group_id": "a8327883-6b07-4497-9c61-68d03ee193a1" }
Valores retornados
- Normal
- 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.