Este tópico descreve como configurar regras de nomenclatura para gerar nomes de instância ou hostnames sequenciais e exclusivos do Elastic Compute Service (ECS) durante o dimensionamento horizontal. O uso desses nomes permite gerenciar as instâncias ECS com maior eficiência.
Informações básicas
O Auto Scaling executa regras de dimensionamento para criar uma ou mais instâncias ECS simultaneamente ou em lotes distintos. Defina regras de nomenclatura para as instâncias ECS criadas durante o scale-out em modelos de inicialização ou configurações de dimensionamento.
-
A forma de configurar as regras de nomenclatura varia conforme o cenário. Neste tópico, utiliza-se o método adequado ao Cenário 1 para demonstrar a configuração dessas regras.
Cenário
Método
Referências
Cenário 1: Todas as instâncias ECS criadas em um grupo de dimensionamento durante o scale-out devem ter nomes ou hostnames sequenciais e exclusivos.
Configure o formato de nomenclatura com base nas regras das configurações de dimensionamento. Neste cenário, não é possível usar um modelo de inicialização para definir o formato de nomenclatura das instâncias ECS.
ImportanteOs nomes ou hostnames das instâncias ECS são gerados sequencialmente, mas não necessariamente de forma consecutiva. Por exemplo, os hostnames das instâncias ECS criadas em um grupo de dimensionamento durante um scale-out podem ser ess-node-0999, ess-node-1000 e ess-node-1002. A instância ECS ess-node-1001 não foi iniciada conforme esperado; portanto, foi considerada não íntegra e removida. Consequentemente, o Auto Scaling cria outra instância ECS chamada ess-node-1002.
Cenário 2: Os nomes ou hostnames das instâncias ECS envolvidas em um único evento de dimensionamento devem ser exclusivos e ordenados. Não é necessário que os nomes ou hostnames de todas as instâncias ECS no grupo de dimensionamento sejam exclusivos.
Configure o formato de nomenclatura das instâncias ECS com base na ordem de classificação especificada.
Cenário 3: Não há requisitos específicos para os nomes ou hostnames das instâncias ECS criadas durante o scale-out em um grupo de dimensionamento.
Defina um nome ou hostname personalizado para as instâncias ECS.
Por exemplo, especifique "hostname" como o hostname para todas as instâncias ECS criadas durante o scale-out.
N/A
Método 1: Configurar a regra de nomenclatura para instâncias ECS no console do Auto Scaling
-
Crie um grupo de dimensionamento.
Para mais informações, consulte Create an ECS scaling group.
-
Crie e ative uma configuração de dimensionamento.
Para mais informações, consulte Create a scaling configuration (ECS instance). Na seção Advanced Settings, configure os parâmetros Instance Name e Host para especificar o formato de nomenclatura.
Neste exemplo, o parâmetro Instance Name está definido como
ess-node-(AUTO_INCREMENT)[0,3]e o parâmetro Host está definido comoess-node-(AUTO_INCREMENT)[0,3]-ecshost.NotaNeste exemplo, os nomes ou hostnames das instâncias ECS aumentam sequencialmente. Para mais informações, consulte (Recomendado) Incremento por valor fixo. Para gerar dinamicamente nomes de instância ou hostnames sequenciais, consulte Classificação dinâmica por valor sequencial estendido.
-
Ative o grupo de dimensionamento.
Para mais informações, consulte Create an ECS scaling group.
-
Crie e execute uma regra de dimensionamento.
-
Crie uma regra de dimensionamento.
Para mais informações, consulte Create a scaling rule.
Neste exemplo, cria-se uma regra de dimensionamento simples. O Auto Scaling cria três instâncias ECS ao executar a regra.
-
Execute a regra de dimensionamento.
Para mais informações, consulte Execute a scaling rule.
Após a conclusão do scale-out, três instâncias ECS com os seguintes nomes e hostnames são adicionadas ao grupo de dimensionamento:
Nomes da instância: ess-node-000, ess-node-001 e ess-node-002
Hostnames: ess-node-000-ecshost, ess-node-001-ecshost e ess-node-002-ecshost
-
Método 2: Configurar a regra de nomenclatura para instâncias ECS chamando operações de API
-
Chame a operação de API CreateScalingGroup para criar um grupo de dimensionamento.
Para mais informações, consulte CreateScalingGroup.
-
Chame a operação de API CreateScalingConfiguration para criar uma configuração de dimensionamento.
Para mais informações, consulte CreateScalingConfiguration. Na seção Request Parameters, configure os parâmetros InstanceName e HostName.
Neste exemplo, o parâmetro InstanceName está definido como
ess-node-(AUTO_INCREMENT)[0,3]e o parâmetro HostName está definido comoess-node-(AUTO_INCREMENT)[0,3]-ecshost.NotaNeste exemplo, os nomes ou hostnames das instâncias ECS aumentam sequencialmente. Para mais informações, consulte (Recomendado) Incremento por valor fixo. Para gerar dinamicamente nomes de instância ou hostnames sequenciais, consulte Classificação dinâmica por valor sequencial estendido.
-
Chame a operação de API EnableScalingGroup para ativar o grupo de dimensionamento.
Para mais informações, consulte EnableScalingGroup.
-
Crie e execute uma regra de dimensionamento.
-
Chame a operação de API CreateScalingRule para criar uma regra de dimensionamento.
Para mais informações, consulte CreateScalingRule.
Neste exemplo, cria-se uma regra de dimensionamento simples. O Auto Scaling cria três instâncias ECS ao executar a regra.
-
Chame a operação de API ExecuteScalingRule para executar a regra de dimensionamento.
Para mais informações, consulte ExecuteScalingRule.
Após a conclusão do scale-out, três instâncias ECS com os seguintes nomes e hostnames são adicionadas ao grupo de dimensionamento:
Nomes da instância: ess-node-000, ess-node-001 e ess-node-002
Hostnames: ess-node-000-ecshost, ess-node-001-ecshost e ess-node-002-ecshost
-
(Recomendado) Incremento por valor fixo
Os nomes de instância e hostnames devem seguir o formato: name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix.
As regras de nomenclatura para nomes de instância e hostnames seguem a mesma lógica. A tabela a seguir descreve apenas o formato dos hostnames.
Tabela 1. Parâmetros
Campo | Obrigatório | Descrição | Exemplo |
name_prefix | Sim | Prefixo do hostname. | ess-node- |
(AUTO_INCREMENT) | Sim | Valor fixo que especifica o modo de classificação. | (AUTO_INCREMENT) |
[begin_number,bits] | Sim | Valores sequenciais dos hostnames. Após configurar este parâmetro, os valores sequenciais dos hostnames aumentam conforme o valor fixo especificado. Importante O campo [begin_number,bits] não pode conter espaços. Por padrão, os nomes sequenciais dos hostnames aumentam com base em um valor fixo. Se o Auto Scaling falhar ao iniciar uma instância ECS em um grupo de dimensionamento durante um scale-out, ele remove essa instância do grupo e cria outra. Nesse caso, os hostnames das instâncias ECS no grupo podem apresentar um padrão de incremento intermitente.
Nota Recomenda-se definir o campo bits como 3 ou superior. Caso contrário, o limite máximo dos valores sequenciais pode ser atingido rapidamente. Se o Auto Scaling precisar criar mais instâncias ECS após atingir esse limite, um erro será reportado e o scale-out será interrompido. Nessa situação, reconfigure as regras de geração de hostnames. | [0,6] |
name_suffix | Não | Sufixo do hostname. | -ecshost |
Tabela 2. Exemplos de hostnames
Exemplo | Hostname existente com maior valor sequencial | Hostnames de três instâncias ECS adicionadas | Descrição |
ess-node-(AUTO_INCREMENT)[0,3]-ecshost | N/A | ess-node-000-ecshost, ess-node-001-ecshost e ess-node-002-ecshost | O número de dígitos em todos os valores sequenciais corresponde ao valor de bits. Na primeira vez que o Auto Scaling cria instâncias em um grupo de dimensionamento, o valor sequencial começa pelo valor de begin_number e aumenta sequencialmente conforme a quantidade de instâncias criadas. |
| N/A | ess-node-000000-ecshost, ess-node-000001-ecshost e ess-node-000002-ecshost | Se você não configurar o campo begin_number ou bits, o valor padrão do campo begin_number será 0 e o valor padrão do campo bits será 6. |
ess-node-(AUTO_INCREMENT)[99,1]-ecshost | ess-node-000099-ecshost | ess-node-000100-ecshost, ess-node-000101-ecshost e ess-node-000102-ecshost |
|
ess-node-(AUTO_INCREMENT)[0,2]-ecshost | ess-node-99-ecshost | Um erro é reportado e o scale-out é interrompido. |
|
ess-node-(AUTO_INCREMENT)[0,4] | ess-node-0998-ecshost | ess-node-0999, ess-node-1000 e ess-node-1002 |
|
Classificação dinâmica por valor sequencial estendido
Os nomes de instância e hostnames devem seguir o formato: name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix.
As regras de nomenclatura para nomes de instância e hostnames seguem a mesma lógica. A tabela a seguir descreve apenas o formato dos hostnames.
Tabela 3. Parâmetros
Campo | Obrigatório | Descrição | Exemplo |
name_prefix | Sim | Prefixo do hostname. | ess-node- |
(ess_extend_begin,ess_extend_bits) | Sim | Valor sequencial estendido do hostname. Quando o valor sequencial base dos hostnames existentes em um grupo de dimensionamento atinge o valor máximo, soma-se um ao valor sequencial estendido. Em seguida, o valor sequencial base reinicia a partir de 0 até atingir novamente o limite máximo.
Importante Se o Auto Scaling precisar criar mais instâncias ECS quando os limites máximos dos valores sequenciais base e estendido forem atingidos, um erro será retornado e o scale-out será interrompido. Nessa situação, reconfigure as regras de geração de hostnames. O campo (ess_extend_begin,ess_extend_bits) não pode conter espaços. Se o número de dígitos do valor ess_extend_begin especificado for maior que o valor de bits, o campo bits será automaticamente definido como 3. | (0,3) |
[begin_number,bits] | Sim | Valor sequencial base do hostname. Após configurar este campo, os valores sequenciais base dos hostnames aumentam até o valor máximo. Então, soma-se um ao valor sequencial estendido e o valor sequencial base reinicia a partir de 0 até atingir novamente o limite máximo. Importante Por padrão, os hostnames aumentam sequencialmente. Se o Auto Scaling falhar ao iniciar uma instância ECS em um grupo de dimensionamento durante um scale-out, ele remove essa instância do grupo e cria outra. Nesse caso, os hostnames das instâncias ECS no grupo podem apresentar um padrão de incremento intermitente.
Importante
O campo [begin_number,bits] não pode conter espaços. Se o número de dígitos do valor begin_number especificado for maior que o valor de bits, o campo bits será automaticamente definido como 6. | [0,6] |
name_suffix | Não | Sufixo do hostname. | -ecshost |
Tabela 4. Exemplos de hostnames
Exemplo | Hostname existente com maior valor sequencial | Hostnames de três instâncias ECS adicionadas | Descrição |
ess-node-(0,3)[0,3]-ecshost | N/A | ess-node-000000-ecshost, ess-node-000001-ecshost e ess-node-000002-ecshost | Na primeira vez que o Auto Scaling cria instâncias em um grupo de dimensionamento, os valores sequenciais dos hostnames são definidos conforme as seguintes regras:
|
| N/A | ess-node-000000000-ecshost, ess-node-000000001-ecshost e ess-node-000000002-ecshost |
|
ess-node-(0,1)[0,1]-ecshost | ess-node-08-ecshost | ess-node-10-ecshost, ess-node-11-ecshost e ess-node-12-ecshost |
|
ess-node-(0,1)[0,1]-ecshost | ess-node-Z9-ecshost | Um erro é reportado e o scale-out é interrompido. |
|
ess-node-(0,1)[0,3] | ess-node-0099-ecshost | ess-node-0100, ess-node-0101 e ess-node-0103 |
|
ess-node-(0,1)[99,1]-ecshost | ess-node-0000099-ecshost | ess-node-0000100-ecshost, ess-node-0000101-ecshost e ess-node-0000102-ecshost |
|