Executando operações em EC2 instâncias automaticamente em resposta a eventos em AWS Health - AWS Health

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Executando operações em EC2 instâncias automaticamente em resposta a eventos em AWS Health

Você pode automatizar ações que respondem a eventos programados para suas EC2 instâncias da Amazon. Ao AWS Health enviar um evento para sua AWS conta, sua EventBridge regra pode então invocar alvos, como documentos de AWS Systems Manager automação, para automatizar ações em seu nome.

Por exemplo, quando um evento de desativação de EC2 instância da Amazon é agendado para uma EC2 instância apoiada pela Amazon Elastic Block Store (AmazonEBS), AWS Health enviará o tipo de AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED evento para o seu AWS Health painel. Quando sua regra detecta esse tipo de evento, você pode automatizar a parada e o início da instância. Assim, você não precisa realizar essas ações manualmente.

nota

Para automatizar ações para suas EC2 instâncias da Amazon, as instâncias devem ser gerenciadas pelo Systems Manager.

Para obter mais informações, consulte Automatizar a Amazon EC2 com EventBridge o Guia EC2do usuário da Amazon.

Pré-requisitos

Você deve criar uma política AWS Identity and Access Management (IAM), criar uma IAM função e atualizar a política de confiança da função antes de criar uma regra.

Siga esse procedimento para criar uma política gerenciada pelo cliente para seu perfil. Essa política concede permissão ao perfil para realizar ações para você. Esse procedimento usa o editor JSON de políticas no IAM console.

Para criar uma política do IAM
  1. Faça login no AWS Management Console e abra o IAM console em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, selecione Políticas.

  3. Escolha Criar política.

  4. Escolha a JSONguia.

  5. Copie o seguinte JSON e, em seguida, substitua o padrão JSON no editor.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:DescribeInstanceStatus" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ssm:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:*:*:Automation*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/AutomationEVRole" } ] }
    1. No Resource parâmetro, para o Amazon Resource Name (ARN), insira o ID AWS da sua conta.

    2. Você também pode substituir o nome da função ou usar o padrão. Este exemplo usa AutomationEVRole.

  6. Escolha Próximo: tags.

  7. (Opcional) É possível usar tags como pares de chave-valor para adicionar metadados à política.

  8. Escolha Próximo: revisar.

  9. Na página Revisar política, insira um Nome, como AutomationEVRolePolicy e uma Descrição opcional.

  10. Revise a página Resumo para ver as permissões que a política permite e, em seguida, escolha Criar política. Quando estiver satisfeito com a política, escolha Criar política.

Essa política define as ações que o perfil pode realizar. Para obter mais informações, consulte Criação de IAM políticas (console) no Guia IAM do usuário.

Depois de criar a política, você deve criar uma IAM função e, em seguida, anexar a política a essa função.

Para criar uma função para um AWS serviço
  1. Faça login no AWS Management Console e abra o IAM console em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Funções e Criar função.

  3. Em Selecionar tipo de entidade confiável, selecione AWS serviço .

  4. Escolha EC2o serviço que você deseja permitir que assuma essa função.

  5. Selecione Next: Permissions (Próximo: permissões).

  6. Insira o nome da política que você criou, como AutomationEVRolePolicye, em seguida, marque a caixa de seleção ao lado da política.

  7. Escolha Próximo: tags.

  8. (Opcional) Para adicionar metadados ao perfil, use tags como pares de chave-valor.

  9. Escolha Próximo: revisar.

  10. Em Nome da função, insira AutomationEVRole. Esse nome deve ser o mesmo nome que aparece na ARN IAM política que você criou.

  11. (Opcional) Em Descrição da função, digite uma descrição para a função.

  12. Revise a função e escolha Criar função.

Para obter mais informações, consulte Criação de uma função para um AWS serviço no Guia IAM do usuário.

Por último, você pode atualizar a política de confiança para a função que você criou. Você deve concluir esse procedimento para poder escolher essa função no EventBridge console.

Para atualizar a política de confiança de uma função
  1. Faça login no AWS Management Console e abra o IAM console em https://console.aws.amazon.com/iam/.

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

  3. Na lista de funções em sua AWS conta, escolha o nome da função que você criou, como AutomationEVRole.

  4. Escolha a guia Relacionamentos de confiança e, em seguida, selecione Editar relacionamento de confiança.

  5. Para Documento de política, copie o seguinteJSON, remova a política padrão e cole a cópia JSON em seu lugar.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com", "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  6. Selecione Atualizar política de confiança.

Para obter mais informações, consulte Modificar a política de confiança de uma função (console) no Guia do IAM usuário.

Crie uma regra para EventBridge

Siga este procedimento para criar uma regra no EventBridge console para que você possa automatizar a parada e o início das EC2 instâncias que estão programadas para serem desativadas.

Para criar uma regra EventBridge para ações automatizadas do Systems Manager
  1. Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/.

  2. No painel de navegação, em Eventos, escolha Regras.

  3. Na página Criar regra, insira um Nome e Descrição para sua regra.

  4. Em Definir padrão, escolha Padrão de evento e escolha Padrão predefinido por serviço.

  5. Para Provedor de serviços, escolha AWS.

  6. Em Nome do serviço, selecione Integridade.

  7. Para Tipo de evento, escolha Eventos de integridade específicos.

  8. Escolha Serviço (s) específico (s) e, em seguida, escolha EC2.

  9. Escolha categoria (s) específica (s) de tipo de evento e, em seguida, escolha scheduledChange.

  10. Escolha os códigos de tipos de eventos específicos e, em seguida, escolha o código do tipo de evento.

    Por exemplo, para instâncias EC2 EBS apoiadas pela Amazon, escolhaAWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED. Para EC2 instâncias com armazenamento de instâncias da Amazon, escolha. AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED

  11. Escolha Qualquer recurso.

    O Padrão de evento terá aparência semelhante ao exemplo a seguir.

    { "source": [ "aws.health" ], "detail-type": [ "AWS Health Event" ], "detail": { "service": [ "EC2" ], "eventTypeCategory": [ "scheduledChange" ], "eventTypeCode": [ "AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED" ] } }
  12. Adicione o destino do documento de automação do gerenciador de sistema. Em Selecionar alvos, em Alvo, escolha SSMAutomação.

  13. Para Documento, escolha AWS-RestartEC2Instance.

  14. Expanda Configurar parâmetros de automação e selecione Transformador de entrada.

  15. Para o campo Caminho de entrada, insira {"Instances":"$.resources"}.

  16. Para o segundo campo, insira {"InstanceId": <Instances>}.

  17. Escolha Usar função existente e, em seguida, escolha a IAM função que você criou, como AutomationEVRole.

    O destino deve ser como o exemplo a seguir.

    Captura de tela do exemplo de “SSMAutomação” no EventBridge console.
    nota

    Se você não tiver uma IAM função existente com as permissões necessárias EC2 e o relacionamento confiável do Systems Manager, sua função não aparecerá na lista. Para obter mais informações, consulte Pré-requisitos.

  18. Escolha Criar.

    Se ocorrer um evento em sua conta que corresponda à sua regra, EventBridge enviará o evento para o alvo especificado.