Este tópico explica como definir regras de nomenclatura em uma configuração de dimensionamento. Essas regras geram nomes ou nomes de host sequenciais e exclusivos para novas instâncias do Elastic Compute Service (ECS) durante um scale-out. Isso ajuda a gerenciar melhor suas instâncias ECS.
Informações básicas
Um grupo de dimensionamento pode usar regras de dimensionamento para realizar scale-out de uma ou mais instâncias ECS por vez. Várias atividades de scale-out podem criar muitas instâncias ECS. Defina as regras de nomenclatura para nomes de instâncias ou nomes de host em uma configuração de dimensionamento ou em um modelo de inicialização.
O método de definição de regras de nomenclatura depende do cenário, conforme mostrado na tabela a seguir. Este tópico aborda o método para o Cenário 1.
Descrição do cenário
Soluções
Links relacionados
Cenário 1: Todas as instâncias ECS criadas em um grupo de dimensionamento durante scale-outs têm nomes de instâncias ou nomes de host exclusivos e sequenciais.
Defina o nome da instância ou nome do host na configuração de dimensionamento de acordo com as regras especificadas. Não use um modelo de inicialização para essa configuração.
ImportanteOs nomes de instâncias ou nomes de host em um grupo de dimensionamento são incrementados sequencialmente, mas nem sempre de forma consecutiva. Por exemplo, se os nomes de host das instâncias criadas durante o scale-out forem ess-node-0999, ess-node-1000 e ess-node-1002, isso indica que a instância ECS com o nome de host ess-node-1001 falhou ao iniciar. O grupo de dimensionamento considera essa instância não íntegra, a remove e, em seguida, realiza scale-out de uma nova instância ECS com o nome de host ess-node-1002.
Cenário 2: Os nomes de instâncias ou nomes de host são exclusivos e sequenciais apenas para instâncias ECS criadas em um único scale-out. Os nomes não precisam ser exclusivos em todas as instâncias ECS do grupo de dimensionamento.
Configure usando o método de regra de ordenação especificado.
Definir nomes de instâncias ou nomes de host sequenciais em lote
Cenário 3: Não há requisitos específicos para os nomes de instâncias ou nomes de host das instâncias ECS criadas durante o scale-out.
Não configure regras de nomenclatura conforme descrito no Cenário 1 ou no Cenário 2. Em vez disso, defina um nome comum.
Por exemplo, se você definir o nome do host como `hostname`, todas as instâncias ECS criadas durante o scale-out terão o nome de host `hostname`.
Nenhum
Método 1: Configurar nomes de instâncias ou nomes de host sequenciais e exclusivos no console
Crie um grupo de dimensionamento.
Para mais informações, consulte Criar um grupo de dimensionamento.
Crie uma configuração de dimensionamento e ative-a.
Para mais informações, consulte Criar uma configuração de dimensionamento (instâncias ECS). Em Advanced Settings, especifique as regras de nomenclatura para Instance Name e Host Name.
Por exemplo, defina Instance Name como
ess-node-(AUTO_INCREMENT)[0,3]e Host Name comoess-node-(AUTO_INCREMENT)[0,3]-ecshost.NotaEste exemplo usa a regra de ordenação com incremento fixo. Para mais informações, consulte (Recomendado) Ordenação com incremento fixo. Se você quiser gerar nomes de instâncias ou nomes de host com uma regra de ordenação dinâmica, consulte Ordenação com extensão dinâmica.
Ative o grupo de dimensionamento.
Para mais informações, consulte Ativar um grupo de dimensionamento.
Crie e execute uma regra de dimensionamento.
Crie uma regra de dimensionamento.
Para mais informações, consulte Criar uma regra de dimensionamento.
Esta etapa usa uma regra de dimensionamento simples como exemplo. Por exemplo, crie uma regra que aumente o número de instâncias ECS no grupo de dimensionamento em três após a execução da regra.
Execute a regra de dimensionamento.
Para mais informações, consulte Executar uma regra de dimensionamento.
Após a conclusão da atividade de dimensionamento, os nomes de instâncias e nomes de host das três novas instâncias ECS são os seguintes:
Nomes de instâncias: ess-node-000, ess-node-001, ess-node-002
Nomes de host: ess-node-000-ecshost, ess-node-001-ecshost, ess-node-002-ecshost
Método 2: Configurar nomes de instâncias ou nomes de host sequenciais e exclusivos chamando uma API
Chame a operação da API CreateScalingGroup para criar um grupo de dimensionamento.
Para mais informações, consulte CreateScalingGroup - Criar um grupo de dimensionamento.
Chame a operação da API CreateScalingConfiguration para criar uma configuração de dimensionamento.
Para mais informações, consulte CreateScalingConfiguration - Criar uma configuração de dimensionamento do tipo ECS. Na seção Request parameters, defina os parâmetros InstanceName e HostName.
Por exemplo, defina InstanceName como
ess-node-(AUTO_INCREMENT)[0,3]e HostName comoess-node-(AUTO_INCREMENT)[0,3]-ecshost.NotaEste exemplo usa a regra de ordenação com incremento fixo. Para mais informações, consulte (Recomendado) Ordenação com incremento fixo. Se você quiser gerar nomes de instâncias ou nomes de host com uma regra de ordenação dinâmica, consulte Ordenação com extensão dinâmica.
Chame a operação da API EnableScalingGroup para ativar o grupo de dimensionamento.
Para mais informações, consulte EnableScalingGroup - Ativar um grupo de dimensionamento.
Crie e execute uma regra de dimensionamento.
Chame a operação da API CreateScalingRule para criar uma regra de dimensionamento.
Para mais informações, consulte CreateScalingRule - Criar uma regra de dimensionamento.
Esta etapa usa uma regra de dimensionamento simples como exemplo. Por exemplo, crie uma regra que aumente o número de instâncias ECS no grupo de dimensionamento em três após a execução da regra.
Chame a operação da API ExecuteScalingRule para executar a regra de dimensionamento.
Para mais informações, consulte ExecuteScalingRule - Executar uma regra de dimensionamento.
Após a conclusão da execução, os nomes de instâncias e nomes de host das três novas instâncias ECS são os seguintes:
Nomes de instâncias: ess-node-000, ess-node-001, ess-node-002
Nomes de host: ess-node-000-ecshost, ess-node-001-ecshost, ess-node-002-ecshost
(Recomendado) Ordenação com incremento fixo
Formato: name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix.
Como as regras e a lógica para definir nomes de instâncias e nomes de host são iguais, o conteúdo a seguir usa regras de nome de host como exemplo.
Nome do campo | Obrigatório | Descrição da configuração | Exemplo |
name_prefix | Sim | O prefixo do nome do host. | ess-node- |
(AUTO_INCREMENT) | Sim | Um valor fixo que identifica este método de ordenação. | (AUTO_INCREMENT) |
[begin_number,bits] | Sim | O número sequencial do nome do host. Após essa configuração, o número sequencial do nome do host é incrementado. Importante O campo [begin_number,bits] não pode conter espaços. O sistema incrementa o número sequencialmente por padrão. No entanto, se uma instância ECS criada durante o scale-out falhar ao iniciar, o grupo de dimensionamento a remove e realiza scale-out de uma nova instância. Portanto, os nomes de host das instâncias ECS no grupo de dimensionamento podem ser incrementados de forma não consecutiva.
Nota Defina bits com pelo menos 3. Caso contrário, o limite superior do número sequencial pode ser facilmente atingido. Após o limite ser atingido, se mais scale-outs forem necessários, a atividade de dimensionamento reportará um erro e será interrompida. Você deverá então redefinir a regra de geração de nomes de host. | [0,6] |
name_suffix | Não | O sufixo do nome do host. | -ecshost |
Exemplo de nomenclatura | Nome de host existente com o número sequencial máximo no grupo de dimensionamento | Nomes de host (exemplo de scale-out de 3 instâncias ECS) | Descrição |
ess-node-(AUTO_INCREMENT)[0,3]-ecshost | Nenhum | ess-node-000-ecshost, ess-node-001-ecshost, ess-node-002-ecshost | Para o primeiro scale-out, o número de dígitos do número sequencial é o valor de bits. O número sequencial começa em begin_number e é incrementado com base no número de instâncias ECS criadas durante o scale-out. |
| Nenhum | ess-node-000000-ecshost, ess-node-000001-ecshost, ess-node-000002-ecshost | Se begin_number ou bits não for configurado, begin_number assume o padrão 0, e bits assume o padrão 6. |
ess-node-(AUTO_INCREMENT)[99,1]-ecshost | ess-node-000099-ecshost | ess-node-000100-ecshost, ess-node-000101-ecshost, ess-node-000102-ecshost |
|
ess-node-(AUTO_INCREMENT)[0,2]-ecshost | ess-node-99-ecshost | A atividade de dimensionamento reporta um erro e interrompe o scale-out. |
|
ess-node-(AUTO_INCREMENT)[0,4] | ess-node-0998-ecshost | ess-node-0999, ess-node-1000, ess-node-1002 |
|
Ordenação com extensão dinâmica
Formato: name_prefix(ess_extend_begin,ess_extend_bits)[begin_number,bits]name_suffix.
Como as regras e a lógica para definir nomes de instâncias e nomes de host são iguais, o conteúdo a seguir usa regras de nome de host como exemplo.
Nome do campo | Obrigatório | Descrição da configuração | Exemplo |
name_prefix | Sim | O prefixo do nome do host. | ess-node- |
(ess_extend_begin,ess_extend_bits) | Sim | O número sequencial estendido do nome do host. Quando o número sequencial base de um nome de host existente no grupo de dimensionamento atinge seu valor máximo, este parâmetro é incrementado em um, e o número sequencial base é reiniciado a partir de 0. Esse ciclo continua até o limite superior ser atingido.
Importante Se o número sequencial estendido e o número sequencial base atingirem seus limites superiores e mais scale-outs forem necessários, a atividade de dimensionamento reporta um erro e é interrompida. Você deverá então redefinir a regra de geração de nomes de host. O campo (ess_extend_begin,ess_extend_bits) não pode conter espaços. Se o número de dígitos do ess_extend_begin especificado for maior que o valor de bits, bits assume o padrão 3. | (0,3) |
[begin_number,bits] | Sim | O número sequencial base do nome do host. Após essa configuração, este parâmetro é incrementado até seu valor máximo. No próximo scale-out, o parâmetro estendido é incrementado em um, e este parâmetro é reiniciado a partir de 0. Esse ciclo continua até o limite superior ser atingido. Importante O sistema incrementa o número sequencialmente por padrão. No entanto, se uma instância ECS criada durante o scale-out falhar ao iniciar, o grupo de dimensionamento a remove e realiza scale-out de uma nova instância. Portanto, os nomes de host das instâncias ECS no grupo de dimensionamento podem ser incrementados de forma não consecutiva.
Importante
O campo [begin_number,bits] não pode conter espaços. Se o número de dígitos do begin_number especificado for maior que o valor de bits, bits assume o padrão 6. | [0,6] |
name_suffix | Não | O sufixo do nome do host. | -ecshost |
Exemplo de nomenclatura | Nome de host existente com o nome máximo no grupo de dimensionamento | Nomes de host (exemplo de scale-out de 3 instâncias ECS) | Descrição |
ess-node-(0,3)[0,3]-ecshost | Nenhum | ess-node-000000-ecshost, ess-node-000001-ecshost, ess-node-000002-ecshost | Para o primeiro scale-out:
|
| Nenhum | ess-node-000000000-ecshost, ess-node-000000001-ecshost, ess-node-000000002-ecshost |
|
ess-node-(0,1)[0,1]-ecshost | ess-node-08-ecshost | ess-node-10-ecshost, ess-node-11-ecshost, ess-node-12-ecshost |
|
ess-node-(0,1)[0,1]-ecshost | ess-node-Z9-ecshost | A atividade de dimensionamento reporta um erro e interrompe o scale-out. |
|
ess-node-(0,1)[0,3] | ess-node-0099-ecshost | ess-node-0100, ess-node-0101, ess-node-0103 |
|
ess-node-(0,1)[99,1]-ecshost | ess-node-0000099-ecshost | ess-node-0000100-ecshost, ess-node-0000101-ecshost, ess-node-0000102-ecshost |
|