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. Você pode usar as ações de parada ou encerramento para ajudar a economizar dinheiro quando não precisar mais que uma instância seja executada. Você pode 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.

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

Há várias situações nas quais você pode querer interromper ou encerrar sua instância automaticamente. Por exemplo, você pode 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), você pode 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 você pode facilmente reiniciar 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 reiniciar uma instância encerrada. Em vez disso, você deve executar uma nova instância.

É 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

Você pode 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

Se você for um usuário do AWS Identity and Access Management (IAM), deve ter as seguintes permissões para criar ou modificar um alarme:

  • iam:CreateServiceLinkedRole, iam:GetPolicy, iam:GetPolicyVersion e iam:GetRole – para todos os alarmes com ações do Amazon EC2

  • ec2:DescribeInstanceStatus e ec2:DescribeInstances – para todos os alarmes nas métricas de status das instâncias do Amazon EC2

  • ec2:StopInstances – para alarmes com ações de interrupção

  • ec2:TerminateInstances – para alarmes com ações de encerramento

  • Nenhuma permissão específica é necessária para alarmes com ações de recuperação.

Se você tiver permissões de leitura/gravação para o Amazon CloudWatch, mas não para o Amazon EC2, ainda poderá criar um alarme, mas as ações de parar ou encerrar não serão executadas na instância do Amazon EC2. No entanto, se você receber permissão para usar as APIs associadas do Amazon EC2 mais tarde, as ações de alarme que você tiver criado anteriormente serão executadas. Para obter mais informações sobre permissões do IAM, consulte Políticas e permissões no Guia do usuário do IAM.

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

Você pode criar um alarme que pare uma instância do Amazon EC2 quando o limite for atingido. Por exemplo, você pode executar instâncias de desenvolvimento ou teste e ocasionalmente se esquecer de desativá-las. Você pode 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. Você pode 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.

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. Na guia Monitoramento, selecione Criar alarme.

  4. Na caixa de diálogo Create Alarm (Criar alarme), faça o seguinte:

    1. Para receber um e-mail quando o alarme for acionado, na caixa de diálogo Send a notification to (Enviar uma notificação para), escolha um tópico existente do Amazon SNS ou selecione Create topic (Criar tópico) para criar um tópico novo.

      Para criar um novo tópico, em Send a notification to (Enviar notificação para), digite um nome para o tópico e, em seguida, em With these recipients (Com estes destinatários), digite os endereços de e-mail dos destinatários (separados por vírgulas). Depois de criar o alarme, você receberá um e-mail de confirmação da inscrição que você deve aceitar antes de receber notificações para este tópico.

    2. Escolha Take the action (Executar a ação), escolha Stop this instance (Interromper a instância).

    3. Para Sempre, selecione a estatística que você deseja usar e escolha a métrica. Neste exemplo, escolha Média e Utilização da CPU.

    4. Para Is, especifique o limite da métrica. Neste exemplo, digite 10 por cento.

    5. Em For at least (Durante pelo menos), especifique o período de avaliação do alarme. Neste exemplo, digite 24 períodos consecutivos de 1 hora.

    6. Para alterar o nome do alarme, em Name of alarm (Nome do alarme), digite um novo nome. Os nomes de alarme deve conter somente caracteres ASCII.

      Se você não digitar um nome para o alarme, o Amazon CloudWatch criará um automaticamente.

      nota

      Você pode 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.

    7. Escolha Create Alarm.

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

Você pode 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, você pode 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. Para obter informações sobre como habilitar e desabilitar a proteção contra encerramento de uma instância, consulte Habilitar 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. Na guia Monitoramento, selecione Criar alarme.

  4. Na caixa de diálogo Create Alarm (Criar alarme), faça o seguinte:

    1. Para receber um e-mail quando o alarme for acionado, na caixa de diálogo Send a notification to (Enviar uma notificação para), escolha um tópico existente do Amazon SNS ou selecione Create topic (Criar tópico) para criar um tópico novo.

      Para criar um novo tópico, em Send a notification to (Enviar notificação para), digite um nome para o tópico e, em seguida, em With these recipients (Com estes destinatários), digite os endereços de e-mail dos destinatários (separados por vírgulas). Depois de criar o alarme, você receberá um e-mail de confirmação da inscrição que você deve aceitar antes de receber notificações para este tópico.

    2. Escolha Take the action (Executar a ação), escolha Terminate this instance (Encerrar a instância).

    3. Para Sempre, escolha uma estatística e, então, a métrica. Neste exemplo, escolha Média e Utilização da CPU.

    4. Para Is, especifique o limite da métrica. Neste exemplo, digite 10 por cento.

    5. Em For at least (Durante pelo menos), especifique o período de avaliação do alarme. Neste exemplo, digite 24 períodos consecutivos de 1 hora.

    6. Para alterar o nome do alarme, em Name of alarm (Nome do alarme), digite um novo nome. Os nomes de alarme deve conter somente caracteres ASCII.

      Se você não digitar um nome para o alarme, o Amazon CloudWatch criará um automaticamente.

      nota

      Você pode 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.

    7. Escolha Create Alarm.

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

Você pode 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 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. Para obter mais informações, consulte Reinicializar sua instância no Guia do usuário do Amazon EC2 para instâncias do Linux.

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 Como avaliar um alarme em 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. Na guia Monitoramento, selecione Criar alarme.

  4. Na caixa de diálogo Create Alarm (Criar alarme), faça o seguinte:

    1. Para receber um e-mail quando o alarme for acionado, na caixa de diálogo Send a notification to (Enviar uma notificação para), escolha um tópico existente do Amazon SNS ou selecione Create topic (Criar tópico) para criar um tópico novo.

      Para criar um novo tópico, em Send a notification to (Enviar notificação para), digite um nome para o tópico e, em With these recipients (Com estes destinatários), digite os endereços de e-mail dos destinatários (separados por vírgulas). Depois de criar o alarme, você receberá um e-mail de confirmação da inscrição que você deve aceitar antes de receber notificações para este tópico.

    2. Selecione Take the action (Executar a ação), escolha Reboot this instance (Reinicializar a instância).

    3. Para Sempre, escolha Falha na verificação de status (instância).

    4. Em For at least (Durante pelo menos), especifique o período de avaliação do alarme. Neste exemplo, digite 3 períodos consecutivos de 1 minuto.

    5. Para alterar o nome do alarme, em Name of alarm (Nome do alarme), digite um novo nome. Os nomes de alarme deve conter somente caracteres ASCII.

      Se você não digitar um nome para o alarme, o Amazon CloudWatch criará um automaticamente.

    6. Escolha Create Alarm.

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

Você pode 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 repará-lo, você poderá 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.

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 seguintes características:

  • Use um dos seguintes tipos de instância: A1, C3, C4, C5, C5a, C5n, C6g, Inf1, M3, M4, M5, M5a, M5n, M6g, P3, R3, R4, R5, R5a, R5n, R6g, T2, T3, T3a, X1 ou X1e

  • Use uma locação de instância default ou dedicated

  • Use somente volumes do EBS (não configure volumes de armazenamento de instâncias). Para obter mais informações, consulte "Recuperar esta instância" está desabilitado.

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 Como avaliar um alarme em 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. Na guia Monitoramento, selecione Criar alarme.

  4. Na caixa de diálogo Create Alarm (Criar alarme), faça o seguinte:

    1. Para receber um e-mail quando o alarme for acionado, na caixa de diálogo Send a notification to (Enviar uma notificação para), escolha um tópico existente do Amazon SNS ou selecione Create topic (Criar tópico) para criar um tópico novo.

      Para criar um novo tópico, em Send a notification to (Enviar notificação para), digite um nome para o tópico e, em With these recipients (Com estes destinatários), digite os endereços de e-mail dos destinatários (separados por vírgulas). Depois de criar o alarme, você receberá um e-mail de confirmação da inscrição que você deve aceitar antes de receber e-mail para este tópico.

      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 email quando ocorrem ações de recuperação automática da instância, mesmo que o tópico do SNS não seja especificado.

      • O usuário raiz da conta da AWS sempre recebe notificações por email quando ocorrem ações de recuperação automática da instância, mesmo que não esteja inscrito no tópico do SNS especificado.

    2. Selecione Take the action (Executar a ação), escolha Recover this instance (Recuperar a instância).

    3. Para Sempre, escolha Falha na verificação de status (sistema).

    4. Em For at least (Durante pelo menos), especifique o período de avaliação do alarme. Neste exemplo, digite 2 períodos consecutivos de 1 minuto.

    5. Para alterar o nome do alarme, em Name of alarm (Nome do alarme), digite um novo nome. Os nomes de alarme deve conter somente caracteres ASCII.

      Se você não digitar um nome para o alarme, o Amazon CloudWatch criará um automaticamente.

    6. Escolha Create Alarm.

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

Você pode visualizar o histórico de ações e alarmes 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 do 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

Você pode 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.


        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

CPUUtilization

4

<=

5

10%

6

60 minutos

7

1

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

CPUUtilization

4

<=

5

5%

6

60 minutos

7

24

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

NetworkOut

4

>

5

10 GB

6

1 dia

7

1

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

NetworkOut

4

>

5

1 GB

6

1 hora

7

1

Cenário 5: interromper uma instância apresentando vazamento de memória

Crie um alarme que pare uma instância quando a utilização de memória alcançar ou exceder 90%, de forma que os logs do aplicativo sejam recuperados para a solução de problemas.

nota

A métrica MemoryUtilization é uma métrica personalizada. Para usar a métrica MemoryUtilization, você deve instalar o script Perl para instâncias do Linux. Para obter mais informações, consulte Monitoramento de métricas de memória e disco para instâncias Linux do Amazon EC2.

Configuração Valor

1

Interromper

2

Máximo

3

MemoryUtilization

4

>=

5

90%

6

1 minuto

7

1

Cenário 6: 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

StatusCheckFailed_System

4

>=

5

1

6

15 minutos

7

1

Cenário 7: encerrar instâncias após a conclusão dos trabalhos de processamento em lote

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

NetworkOut

4

<=

5

100,000 bytes

6

5 minutos

7

1