Amazon EC2 notificando a instância quando o serviço de autoescalonação a encerra

5

Estou precisando saber quando uma instância deve ser encerrada pela escala automática, pois quero que as instâncias se registrem e cancelem o registro de um determinado serviço.
Eu sei que a escala automática pode iniciar / parar qualquer instância a qualquer momento, então eu preciso que as instâncias sejam notificadas de quando elas serão desligadas.

Existe alguma maneira de alcançar esse comportamento?

    
por Ano 28.06.2011 / 14:43

1 resposta

6

Eu não encontrei de qualquer maneira para fazer todo este processo através do CLI, pois parece que a Amazon não adicionou o serviço SQS às suas ferramentas de API para o Linux. No entanto, sim, é possível fazer e realmente não é muito difícil.

  1. Faça login no console da AWS
  2. Clique na guia SNS

    • Crie um novo tópico
    • Copie o exemplo ARN do tópico: arn: aws: sns: us-east-1: ############: mytopic
    • Crie uma nova assinatura para qualquer protocolo que você quiser (HTTP, Email, SMS, SQS)
  3. Usando as ferramentas de linha de comando ou alguma outra interface, execute o comando abaixo. Depois de executar este comando, todas as notificações serão enviadas usando o protocolo definido.

as-put-notification-configuration <auto-scaling-group> -t <topic-arn> -n autoscaling:EC2_INSTANCE_LAUNCH,autoscaling:EC2_INSTANCE_TERMINATE

Eu recomendo enviá-los para o SQS primeiro e depois para o seu aplicativo. É um pouco mais seguro ter as mensagens armazenadas em uma fila e ler a partir delas. O único problema com o SQS é um pouco mais complicado, mas há muita documentação sobre o SQS e uma boa API em praticamente qualquer idioma que você esteja usando.

    
por 27.02.2012 / 15:51