Há várias considerações a serem levadas em consideração aqui. Em primeiro lugar, para resolver o problema mais limitante - a falta de acesso SSH.
Como sua configuração anterior de lançamento não especificou um par de chaves, você não terá credenciais válidas para acessar a instância. Infelizmente, o par de chaves inicial não pode ser adicionado após o lançamento da instância.
Para corrigir isso, você deve criar uma nova configuração de ativação, passando os parâmetros --key
e --group
, além de todos os parâmetros que você passou anteriormente. --key
usa o nome do par de chaves que você deseja usar, enquanto --group
usa o nome do grupo de segurança (se não estiver no VPC) ou ID.
Nos casos em que você não pode acessar sua instância, o log do console pode ajudá-lo a verificar se a instância foi inicializada com êxito. Um problema comum é a falha de inicialização devido a volumes ausentes (especialmente tentando montar volumes efêmeros que existem apenas nos tipos de instância maiores, ao inicializar um tipo de instância menor).
Um ponto importante de menção é que uma AMI não é atualizada se você alterar uma instância em execução. Você deve criar explicitamente a nova imagem. Dessa forma, se você tentar iniciar uma nova instância usando a mesma AMI que estiver usando atualmente em uma instância personalizada, há uma boa chance de que você simplesmente execute uma das AMIs padrão e não uma com suas personalizações.
Use ec2-describe-images
para determinar o mapeamento de dispositivo de bloco de sua imagem - e o instantâneo em que o volume é baseado - isso verificará que você montará um volume de EBS que tenha suas personalizações incorporadas.
Se você não tiver uma AMI atualizada para usar no escalonamento automático:
- Crie um instantâneo do seu volume do EBS
- Crie uma AMI com
ec2-register -n IMAGE_NAME -s SNAPSHOT_ID
- Se você tiver volumes adicionais de EBS para anexar, especifique-os adicionando o parâmetro
--block-device-mapping
(-b
) (por exemplo,-b /dev/xvdf=SNAP_ID
)
- Se você tiver volumes adicionais de EBS para anexar, especifique-os adicionando o parâmetro
- Verifique se você tem os mapeamentos de dispositivos de bloco corretos com
ec2-describe-images
Depois de ter uma AMI atualizada, você precisará criar uma nova configuração de inicialização que usará essa AMI. Se desejar, você pode passar mapeamentos adicionais de dispositivos de bloco ao comando. Use as-create-launch-config
, passando sua nova AMI e todos os parâmetros usados anteriormente.
Por fim, você deve atualizar seu grupo de escalonamento automático. Este grupo está associado a uma determinada configuração de ativação - a nova configuração de ativação não será detectada automaticamente e não terá efeito no grupo de escalonamento automático até que você a associe explicitamente. Use as-update-auto-scaling-group GROUP_NAME --launch-configuration CONFIG_NAME
para fazer essa alteração.
Após as alterações terem sido feitas, você pode simular um evento de escalonamento automático usando o comando as-execute-policy.
Lembre-se de dar a suas instâncias alguns minutos para inicializar - se seu ELB estiver mostrando instâncias como não íntegras, talvez você queira aumentar o --grace-period
de seu grupo de escalonamento automático.