Para oferecer serviços de dimensionamento mais eficientes e flexíveis, o Auto Scaling agora oferece suporte a dados de usuário da instância. Utilize esses dados para configurar automaticamente as instâncias ECS e dimensionar seus aplicativos com segurança.
Informações básicas
Em comparação com ferramentas de gerenciamento de infraestrutura open source, como o Terraform, o uso nativo de dados de usuário da instância no Auto Scaling é mais rápido e seguro. Prepare o script de dados de usuário da instância, codifique-o em Base64 e inclua-o na configuração de dimensionamento. As instâncias ECS criadas automaticamente executam o script na inicialização para habilitar o dimensionamento no nível do aplicativo.
Este tópico demonstra como usar dados de usuário da instância em um cenário real. Para obter mais informações sobre dados de usuário da instância, consulte Personalizar a configuração de inicialização da instância. Instâncias Windows e Linux oferecem suporte a dados de usuário da instância. Os principais recursos incluem:
Personalização: Execute um script personalizado na inicialização da instância para definir seu comportamento de início.
Referência de dados: Transfira dados simples para a instância e referencie-os internamente.
Considerações
-
Ao utilizar dados de usuário da instância para configurar automaticamente instâncias ECS, observe os seguintes pontos:
O grupo de dimensionamento deve usar o tipo de rede Virtual Private Cloud (VPC).
Os dados de usuário da instância devem estar codificados em Base64.
Os dados de usuário da instância são transferidos sem criptografia. Não transfira informações confidenciais (como senhas ou chaves privadas) em texto simples. Caso seja necessário transferir dados confidenciais, criptografe-os primeiro, codifique os dados criptografados em Base64, transfira-os para a instância e descriptografe-os internamente usando o mesmo método.
Ao criar uma configuração de dimensionamento por meio de uma API, utilize o parâmetro UserData para passar os dados de usuário da instância. Para mais detalhes, consulte CreateScalingConfiguration.
Além dos dados de usuário da instância, pares de chaves SSH, nomes de funções RAM e tags ajudam a gerenciar instâncias ECS de forma mais eficiente e flexível. Para mais informações, consulte Usar recursos de configuração de dimensionamento para implementar o dimensionamento automático.
Etapa 1: Preparar os dados de usuário da instância
Use dados de usuário da instância para executar automaticamente um script shell personalizado quando uma instância ECS for iniciada. Ao escrever o script shell, siga estas diretrizes:
|
Tipo |
Descrição |
|
Formato do script |
A primeira linha deve começar com |
|
Limite do script |
O conteúdo do script não deve exceder 32 KB antes da codificação Base64. |
|
Frequência de execução do script |
O script é executado apenas uma vez durante a primeira inicialização da instância. |
-
Crie um script shell que configure os serviços yum e NTP quando a instância ECS for iniciada.
O exemplo a seguir mostra um modelo de script shell:
#!/bin/sh # Modify yum repo and update rm -rf /etc/yum.repos.d/* touch myrepo.repo echo "[base]" | tee /etc/yum.repos.d/myrepo.repo echo "name=myrepo" | tee -a /etc/yum.repos.d/myrepo.repo echo "baseurl=http://mirror.centos.org/centos" | tee -a /etc/yum.repos.d/myrepo.repo echo "gpgcheck=0" | tee -a /etc/yum.repos.d/myrepo.repo echo "enabled=1" | tee -a /etc/yum.repos.d/myrepo.repo yum update -y # Modify NTP Server echo "server ntp1.aliyun.com" | tee /etc/ntp.conf systemctl restart ntpd.service -
Codifique o script shell em Base64.
O script codificado em Base64 tem a seguinte aparência:
IyEvYmluL3NoCiMgTW9kaWZ5IHl1bSByZXBvIGFuZCB1cGRhdGUKcm0gLXJmIC9ldGMveXVtLnJlcG9zLmQvKgp0b3VjaCBteXJlcG8ucmVwbwplY2hvICJbYmFzZV0iIHwgdGVlIC9ldGMveXVtLnJlcG9zLmQvbXlyZXBvLnJlcG8KZWNobyAibmFtZT1teXJlcG8iIHwgdGVlIC1hIC9ldGMveXVtLnJlcG9zLmQvbXlyZXBvLnJlcG8KZWNobyAiYmFzZXVybD1odHRwOi8vbWlycm9yLmNlbnRvcy5vcmcvY2VudG9zIiB8IHRlZSAtYSAvZXRjL3l1bS5yZXBvcy5kL215cmVwby5yZXBvCmVjaG8gImdwZ2NoZWNrPTAiIHwgdGVlIC1hIC9ldGMveXVtLnJlcG9zLmQvbXlyZXBvLnJlcG8KZWNobyAiZW5hYmxlZD0xIiB8IHRlZSAtYSAvZXRjL3l1bS5yZXBvcy5kL215cmVwby5yZXBvCnl1bSB1cGRhdGUgLXkKIyBNb2RpZnkgTlRQIFNlcnZlcgplY2hvICJzZXJ2ZXIgbnRwMS5hbGl5dW4uY29tIiB8IHRlZSAvZXRjL250cC5jb25mCnN5c3RlbWN0bCByZXN0YXJ0IG50cGQuc2VydmljZQ==
Etapa 2: Criar e ativar um grupo de dimensionamento
-
Crie um grupo de dimensionamento e visualize seus detalhes após a criação.
Para instruções detalhadas, consulte Configurar um grupo de dimensionamento.
Ao criar o grupo de dimensionamento, atente-se às seguintes configurações:
Item de configuração
Descrição
Minimum Number of Instances
Defina como 1. Isso garante que uma instância ECS seja criada automaticamente após a ativação do grupo de dimensionamento.
Instance Configuration Source
Selecione Create from Scratch.
Network Type
Selecione VPC.
VPC
Selecione um ID de VPC existente.
vSwitch
Selecione o vSwitch correspondente.
O novo grupo de dimensionamento aparece na lista de grupos de dimensionamento no estado Disabled. Clique em View Details na coluna Actions para visualizar mais informações.
-
Crie uma configuração de dimensionamento e ative-a após a criação.
Para instruções detalhadas, consulte Criar uma configuração de dimensionamento (instância ECS).
Ao criar a configuração de dimensionamento, atente-se às seguintes configurações:
Item de configuração
Descrição
Instance and image
Image
Escolha CentOS 7.9 64-bit em Public Image.
Management configuration
Logon Credential
Selecione Key Pair.
Key Pair
Selecione um par de chaves existente. Para instruções sobre como criar um par de chaves, consulte Criar um par de chaves SSH.
Advanced Settings
The user data of the instance.
Insira o script de dados de usuário da instância preparado na Etapa 1: Preparar os dados de usuário da instância.
-
Ative o grupo de dimensionamento.
Para instruções detalhadas, consulte Ativar um grupo de dimensionamento.
Etapa 3: Verificar o efeito dos dados de usuário da instância
Como o valor de Minimum Number of Instances foi definido como 1, o sistema cria automaticamente uma instância ECS após a ativação do grupo de dimensionamento para atender a esse requisito.
-
Visualize as atividades de dimensionamento.
Para instruções detalhadas, consulte Visualizar detalhes da atividade de dimensionamento. O sistema criou automaticamente uma instância ECS.
-
Faça login na instância ECS.
Para verificar o efeito dos dados de usuário da instância, faça login na instância ECS. Para instâncias Linux, recomendamos o uso de um par de chaves. Para instruções, consulte Criar um par de chaves SSH e Usar OpenSSH/XShell para conectar remotamente a uma instância Linux.
NotaSe a instância já tiver uma senha de login ou um par de chaves anexado, conecte-se usando o Workbench. Para instruções, consulte Usar o Workbench para fazer login em uma instância Linux.
-
Verifique o status dos serviços.
A saída a seguir confirma que os serviços yum e NTP estão em execução, o que indica que os dados de usuário da instância na configuração de dimensionamento entraram em vigor.
[root@ixxxZ ~]# cat /etc/yum.repos.d/myrepo.repo [base] name=myrepo baseurl=http://mirror.centos.org/centos gpgcheck=0 enabled=1 [root@ixxxZ ~]# cat /etc/ntp.conf server ntp1.aliyun.com [root@ixxxZ ~]#