Criar alarmes para interromper, encerrar, reinicializar ou recuperar uma instância - Amazon Elastic Compute Cloud

Criar alarmes para interromper, encerrar, reinicializar ou recuperar uma instância

Usando as ações de alarme do Amazon CloudWatch, você cria alarmes que automaticamente param, encerram, reinicializam ou recuperam suas instâncias. É possível usar as ações de parada ou encerramento para ajudar a economizar dinheiro quando não precisar mais que uma instância seja executada. É possível usar as ações de reinicialização e recuperação para reinicializar automaticamente essas instâncias ou recuperá-las para um novo hardware caso ocorra um problema no sistema.

nota

Para saber mais sobre alarmes de faturamento e custos do Amazon CloudWatch, consulte Faturamento e custos do CloudWatch no Guia do usuário do Amazon CloudWatch.

A função AWSServiceRoleForCloudWatchEvents ligado ao serviço permite que a AWS execute ações de alarme em seu nome. A primeira vez que você criar um alarme no AWS Management Console, na AWS CLI ou na API do IAM, o CloudWatch cria o perfil vinculado ao serviço para você.

Há várias situações nas quais é possível querer interromper ou encerrar sua instância automaticamente. Por exemplo, é possível ter instâncias dedicadas a trabalhos de processamento de folha de pagamento em lote ou tarefas de computação científica que são executadas por um período e, em seguida, concluem seu trabalho. Em vez de permitir que essas instâncias fiquem ociosas (e acumulem cobranças), é possível interrompê-las ou encerrá-las, o que pode ajudá-lo a fazer uma economia. A principal diferença entre usar as ações de alarme de interrupção e encerramento é que é possível facilmente iniciar uma instância interrompida se precisar executá-la novamente mais tarde e manter o mesmo ID de instância e volume do dispositivo raiz. No entanto, não é possível iniciar uma instância encerrada. Em vez disso, é necessário executar uma nova instância. Quando uma instância é interrompida ou encerrada, os dados nos volumes de armazenamento da instância são perdidos.

É possível adicionar as ações de interrupção, encerramento, reinicialização ou recuperação a qualquer alarme definido em uma métrica por instância do Amazon EC2, incluindo métricas de monitoramento básico e detalhado fornecidas pelo Amazon CloudWatch (no namespace AWS/EC2), bem como todas as métricas personalizadas que incluem a dimensão InstanceId, desde que seu valor se refira a uma instância do Amazon EC2 em execução.

Suporte a consoles

É possível criar alarmes usando o console do Amazon EC2 ou do CloudWatch. Os procedimentos nesta documentação usam o console do Amazon EC2. Para procedimentos que usam o console do CloudWatch, consulte Criar alarmes que param, encerram, reinicializam ou recuperam uma instância no Guia do usuário do Amazon CloudWatch.

Permissões

Você deve ter a permissão iam:CreateServiceLinkedRole para criar ou modificar um alarme que executa as ações de alarme do EC2. O perfil de serviço é um perfil do IAMhttps://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html que um serviço assume para realizar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para obter mais informações, consulte Criar um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do usuário do IAM.

Adicionar ações de interrupção a alarmes do Amazon CloudWatch

É possível criar um alarme que pare uma instância do Amazon EC2 quando o limite for atingido. Por exemplo, é possível executar instâncias de desenvolvimento ou teste e ocasionalmente se esquecer de desativá-las. É possível criar um alarme que seja acionado quando o percentual médio de utilização da CPU for inferior a 10% em 24 horas, sinalizando que ela está ociosa e não mais em uso. É possível ajustar o limite, a duração e o período para atender às suas necessidades, além de poder adicionar uma notificação do Amazon Simple Notification Service (Amazon SNS) para receber um e-mail quando o alarme for acionado.

As instâncias que usam um volume do Amazon EBS como dispositivo raiz podem ser interrompidas ou encerradas, enquanto as instâncias que usam o armazenamento de instância como dispositivo raiz só podem ser encerradas. Os dados nos volumes de armazenamento de instância são perdidos quando a instância é interrompida ou encerrada.

Para criar um alarme para parar uma instância em repouso (console do Amazon EC2)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione a instância e escolha Actions (Ações), Monitor and troubleshoot (Monitorar e solucionar problemas), Manage CloudWatch alarms (Gerenciar alarmes do CloudWatch).

    Como alternativa, é possível escolher o sinal de mais ( Plus sign. ) na coluna Alarm status (Status do alarme) .

  4. Na página Manage CloudWatch alarms (Gerenciar alarmes do CloudWatch), faça o seguinte:

    1. Escolha Create an alarm (Criar um alarme).

    2. Para receber um e-mail quando o alarme for acionado, para Alarm notification (Notificação de alarme), escolha um Amazon SNS tópico existente. Para fazer isso, você precisa criar um tópico do Amazon SNS usando o console do Amazon SNS. Para obter mais informações, consulte Usar o Amazon SNS para mensagens de aplicativo para pessoa (A2P) no Guia do desenvolvedor do Amazon Simple Notification Service.

    3. Alterne em Alarm action (Ação alarme)e escolha Stop (Parar).

    4. Para Group samples by (Agrupar amostras por) e Type of data to sample (Tipo de dados a serem amostrados), escolha uma estatística e uma métrica. Neste exemplo, escolha Average (Média) e CPU utilization (Utilização da CPU).

    5. Para Alarm When (Alarme quando) e Percent (Percentual), especifique o limite da métrica. Neste exemplo, especifique <= e 10%.

    6. Para Consecutive period (Período consecutivo) e Period (Período), especifique o período de avaliação do alarme. Neste exemplo, especifique 1 período consecutivo de 5 minutos.

    7. Amazon CloudWatch cria automaticamente um nome de alarme para você. Para alterar o nome, em Alarm name (Nome do alarme), insira um novo nome. Os nomes de alarme devem conter somente caracteres ASCII.

      nota

      É possível ajustar a configuração do alarme com base em suas próprias necessidades antes de criá-lo, ou pode editá-las mais tarde. Aí incluem-se as configurações de métrica, limiar, duração, ação e notificação. No entanto, depois de criar um alarme, você não pode mais editar seu nome.

    8. Escolha Criar.

Adicionar ações de encerramento a alarmes do Amazon CloudWatch

É possível criar um alarme que encerre uma instância do EC2 automaticamente quando um certo limite for atingido (desde que a proteção contra encerramento não esteja ativada para a instância). Por exemplo, é possível encerrar uma instância quando ela tiver concluído seu trabalho e não precisar mais dela. Se você quiser usar a instância posteriormente, pare-a em vez de encerrá-la. Os dados nos volumes de armazenamento de instância são perdidos quando a instância é encerrada. Para obter informações sobre a habilitação e a desabilitação da proteção contra encerramento de uma instância, consulte Habilitar a proteção contra encerramento.

Para criar um alarme para encerrar uma instância em repouso (console do Amazon EC2)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione a instância e escolha Actions (Ações), Monitor and troubleshoot (Monitorar e solucionar problemas), Manage CloudWatch alarms (Gerenciar alarmes do CloudWatch).

    Como alternativa, é possível escolher o sinal de mais ( Plus sign. ) na coluna Alarm status (Status do alarme) .

  4. Na página Manage CloudWatch alarms (Gerenciar alarmes do CloudWatch), faça o seguinte:

    1. Escolha Create an alarm (Criar um alarme).

    2. Para receber um e-mail quando o alarme for acionado, para Alarm notification (Notificação de alarme), escolha um Amazon SNS tópico existente. Para fazer isso, você precisa criar um tópico do Amazon SNS usando o console do Amazon SNS. Para obter mais informações, consulte Usar o Amazon SNS para mensagens de aplicativo para pessoa (A2P) no Guia do desenvolvedor do Amazon Simple Notification Service.

    3. Alterne em Alarm action (Ação alarme)e escolha Terminate (Encerrar).

    4. Para Group samples by (Agrupar amostras por) e Type of data to sample (Tipo de dados a serem amostrados), escolha uma estatística e uma métrica. Neste exemplo, escolha Average (Média) e CPU utilization (Utilização da CPU).

    5. Para Alarm When (Alarme quando) e Percent (Percentual), especifique o limite da métrica. Neste exemplo, especifique => e 10 por cento.

    6. Para Consecutive period (Período consecutivo) e Period (Período), especifique o período de avaliação do alarme. Neste exemplo, especifique 24 períodos consecutivos de 1 hora.

    7. Amazon CloudWatch cria automaticamente um nome de alarme para você. Para alterar o nome, em Alarm name (Nome do alarme), insira um novo nome. Os nomes de alarme devem conter somente caracteres ASCII.

      nota

      É possível ajustar a configuração do alarme com base em suas próprias necessidades antes de criá-lo, ou pode editá-las mais tarde. Aí incluem-se as configurações de métrica, limiar, duração, ação e notificação. No entanto, depois de criar um alarme, você não pode mais editar seu nome.

    8. Escolha Criar.

Adicionar ações de reinicialização a alarmes do Amazon CloudWatch

É possível criar um alarme do Amazon CloudWatch que monitore uma instância do Amazon EC2 e reinicialize automaticamente a instância. A ação de alarme de reinicialização é recomendada para falhas de verificação de integridade da instância (ao contrário da ação de alarme de recuperação, que é adequado para falhas de verificação de integridade do sistema). Reinicializar a instância equivale a reinicializar o sistema operacional. Na maioria dos casos, leva apenas alguns minutos para reinicializar sua instância. Quando você reinicializa uma instância, ela permanece no mesmo host físico, para que sua instância mantenha seu nome DNS público, o endereço IP privado e os dados em seus volumes de armazenamento de instância.

A reinicialização de uma instância não inicia uma nova hora de faturamento de instância (com uma cobrança mínima de um minuto), diferente do que acontece na interrupção e na reinicialização da instância. Os dados nos volumes de armazenamento de instância são retidos quando a instância é reinicializada. Os volumes de armazenamento de instâncias devem ser remontados no sistema de arquivos após uma reinicialização. Para ter mais informações, consulte Reinicializar a instância.

Importante

Para evitar um comportamento de disputa entre as ações de reinicialização e recuperação, evite configurar o mesmo número de períodos de avaliação para um alarme de reinicialização e um alarme de recuperação. Recomendamos que você defina alarmes de reinicialização para três períodos de avaliação de um minuto cada. Para obter mais informações, consulte Avaliar um alarme no Guia do usuário do Amazon CloudWatch.

Para criar um alarme para reinicializar uma instância (console do Amazon EC2)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione a instância e escolha Actions (Ações), Monitor and troubleshoot (Monitorar e solucionar problemas), Manage CloudWatch alarms (Gerenciar alarmes do CloudWatch).

    Como alternativa, é possível escolher o sinal de mais ( Plus sign. ) na coluna Alarm status (Status do alarme) .

  4. Na página Manage CloudWatch alarms (Gerenciar alarmes do CloudWatch), faça o seguinte:

    1. Escolha Create an alarm (Criar um alarme).

    2. Para receber um e-mail quando o alarme for acionado, para Alarm notification (Notificação de alarme), escolha um Amazon SNS tópico existente. Para fazer isso, você precisa criar um tópico do Amazon SNS usando o console do Amazon SNS. Para obter mais informações, consulte Usar o Amazon SNS para mensagens de aplicativo para pessoa (A2P) no Guia do desenvolvedor do Amazon Simple Notification Service.

    3. Alterne em Alarm action (Ação alarme)e escolha Reboot (Reinicializar).

    4. Para Group samples by (Agrupar amostras por) e Type of data to sample (Tipo de dados a serem amostrados), escolha uma estatística e uma métrica. Neste exemplo, escolha Average (Média) e Status check failed: instance (Falha na verificação de status: instância).

    5. Para Consecutive period (Período consecutivo) e Period (Período), especifique o período de avaliação do alarme. Neste exemplo, digite 3 períodos consecutivos de 5 minutos.

    6. Amazon CloudWatch cria automaticamente um nome de alarme para você. Para alterar o nome, em Alarm name (Nome do alarme), insira um novo nome. Os nomes de alarme devem conter somente caracteres ASCII.

    7. Escolha Criar.

Adicionar ações de recuperação a alarmes do Amazon CloudWatch

É possível criar um alarme do Amazon CloudWatch que monitore uma instância do Amazon EC2. Se a instância for invalidada devido a uma falha de hardware subjacente ou a um problema que exija o envolvimento da AWS para corrigi-lo, será possível recuperar a instância automaticamente. Instâncias encerradas não podem ser recuperadas. Uma instância recuperada é idêntica à instância original, incluindo o ID da instância, endereços IP privados, endereços IP elásticos e todos os metadados de instância.

O CloudWatch impede que você adicione uma ação de recuperação a um alarme que esteja em uma instância que não oferece suporte a ações de recuperação.

Quando o alarme StatusCheckFailed_System for acionado e a ação de recuperação for iniciada, você será notificado pelo tópico do Amazon SNS que escolheu ao criar o alarme e a ação de recuperação associada. Durante a recuperação da instância, a instância será migrada durante uma reinicialização da instância e todos os dados na memória serão perdidos. Quando o processo é concluído, as informações serão publicadas no tópico do SNS que você tiver configurado para o alarme. Qualquer pessoa que estiver inscrita neste tópico do SNS receberá uma notificação por e-mail com o status da tentativa de recuperação e instruções adicionais. Você perceberá uma reinicialização de instância na instância recuperada.

nota

A ação de recuperação pode ser usada somente com StatusCheckFailed_System, não com StatusCheckFailed_Instance.

Os problemas a seguir podem causar falha nas verificações de status do sistema:

  • Perda de conectividade de rede

  • Perda de energia do sistema

  • Problemas de software no host físico

  • Problemas de hardware de host físico que afetam a acessibilidade de rede

A ação de recuperação é compatível somente nas instâncias com as características a seguir. Para ter mais informações, consulte Recuperar a instância.

Se a sua instância tiver um endereço IP público, ela reterá o endereço IP público após a recuperação.

Importante

Para evitar um comportamento de disputa entre as ações de reinicialização e recuperação, evite configurar o mesmo número de períodos de avaliação para um alarme de reinicialização e um alarme de recuperação. É recomendável que você defina os alarmes de recuperação para dois períodos de avaliação de um minuto cada. Para obter mais informações, consulte Avaliar um alarme no Guia do usuário do Amazon CloudWatch.

Para criar um alarme para recuperar uma instância (console do Amazon EC2)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione a instância e escolha Actions (Ações), Monitor and troubleshoot (Monitorar e solucionar problemas), Manage CloudWatch alarms (Gerenciar alarmes do CloudWatch).

    Como alternativa, é possível escolher o sinal de mais ( Plus sign. ) na coluna Alarm status (Status do alarme) .

  4. Na página Manage CloudWatch alarms (Gerenciar alarmes do CloudWatch), faça o seguinte:

    1. Escolha Create an alarm (Criar um alarme).

    2. Para receber um e-mail quando o alarme for acionado, para Alarm notification (Notificação de alarme), escolha um Amazon SNS tópico existente. Para fazer isso, você precisa criar um tópico do Amazon SNS usando o console do Amazon SNS. Para obter mais informações, consulte Usar o Amazon SNS para mensagens de aplicativo para pessoa (A2P) no Guia do desenvolvedor do Amazon Simple Notification Service.

      nota

      Os usuários devem se inscrever no tópico do SNS especificado para receber notificações por email quando o alarme for acionado. O Usuário raiz da conta da AWS sempre recebe notificações por e-mail quando ocorrem ações de recuperação automática de instância, mesmo que um tópico do SNS não esteja especificado ou o usuário raiz não esteja inscrito no tópico de SNS especificado.

    3. Alterne em Alarm action (Ação alarme)e escolha Recover (Recuperar).

    4. Para Group samples by (Agrupar amostras por) e Type of data to sample (Tipo de dados a serem amostrados), escolha uma estatística e uma métrica. Neste exemplo, escolha Average (Média) e Status check failed: system (Falha na verificação de status: sistema).

    5. Para Consecutive period (Período consecutivo) e Period (Período), especifique o período de avaliação do alarme. Neste exemplo, digite 2 períodos consecutivos de 5 minutos.

    6. Amazon CloudWatch cria automaticamente um nome de alarme para você. Para alterar o nome, em Alarm name (Nome do alarme), insira um novo nome. Os nomes de alarme devem conter somente caracteres ASCII.

    7. Escolha Criar.

Usar o console do Amazon CloudWatch para visualizar o histórico do alarme e da ação

É possível visualizar o histórico de alarmes e ações no console do Amazon CloudWatch. O Amazon CloudWatch mantém as últimas duas semanas de histórico de alarmes e ações.

Para visualizar o histórico de alarmes e ações acionados (console do CloudWatch)
  1. Abra o console CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, selecione Alarmes.

  3. Selecione um alarme.

  4. A guia Detalhes mostra a transição de estado mais recente juntamente com os valores de tempo e métrica.

  5. Escolha a guia Histórico para visualizar as entradas mais recentes do histórico.

Cenários de ação do alarme do Amazon CloudWatch

É possível usar o console do Amazon EC2 para criar as ações de alarme que interrompem ou encerram uma instância do Amazon EC2 quando determinadas circunstâncias são atendidas. Na captura de tela a seguir da página do console onde você define as ações de alarme, nós numeramos as configurações. Nós também numeramos as configurações nos cenários a seguir, para ajudá-lo a criar as ações apropriadas.

New console

              Gerenciar página de alarmes do Cloudwatch.
Old console

              Criar alarme para a caixa de diálogo.

Cenário 1: interromper instâncias de teste e desenvolvimento ociosas

Crie um alarme que interrompa uma instância usada para desenvolvimento ou teste de software quando estiver inativa pelo menos uma hora.

Configuração Valor

1

Interromper

2

Máximo

3

Utilização da CPU

4

<=

5

10%

6

1

7

1 hora

Cenário 2: interromper instâncias ociosas

Crie um alarme que interrompa uma instância e envie um e-mail quando a instância estiver inativa por 24 horas.

Configuração Valor

1

Interromper e enviar e-mail

2

Média

3

Utilização da CPU

4

<=

5

5%

6

24

7

1 hora

Cenário 3: enviar e-mail em servidores Web com tráfego incomumente alto

Crie um alarme que envie o e-mail quando uma instância ultrapassar 10 GB de tráfego de rede de saída por dia.

Configuração Valor

1

E-mail

2

Soma

3

Saída de rede

4

>

5

10 GB

6

24

7

1 hora

Cenário 4: interromper servidores Web com tráfego incomumente alto

Crie um alarme que pare uma instância e envie uma mensagem de texto (SMS) se o tráfego de saída exceder 1 GB por hora.

Configuração Valor

1

Parar e enviar SMS

2

Soma

3

Saída de rede

4

>

5

1 GB

6

1

7

1 hora

Cenário 5: Interromper uma instância danificada

Crie um alarme que interrompa uma instância em falhe três verificações de status consecutivas (executadas em intervalos de 5 minutos).

Configuração Valor

1

Interromper

2

Média

3

Falha na verificação de status: sistema

4

-

5

-

6

1

7

15 minutos

Cenário 6: Encerrar instâncias quando os trabalhos de processamento em lote estiverem concluídos

Crie um alarme que encerre uma instância que execute trabalhos em lote quando não estiver mais enviando os dados dos resultados.

Configuração Valor

1

Encerrar

2

Máximo

3

Saída de rede

4

<=

5

100,000 bytes

6

1

7

5 minutos