Ir para o conteúdo

Como faço para usar as Janelas de manutenção do Systems Manager para programar minhas instâncias do EC2 para iniciar e interromper?

5 minuto de leitura
0

Quero usar as Janelas de manutenção, uma função do AWS Systems Manager, para programar minhas instâncias do Amazon Elastic Compute Cloud (Amazon EC2) para iniciar ou interromper.

Breve descrição

Para programar sua instância para iniciar ou interromper, registre o runbook AWS-StartEC2Instance ou AWS-StopEC2Instance em uma janela de manutenção. Você deve ter as permissões necessárias para executar seu runbook.

Observação: quando você usa o Automation, uma função do AWS Systems Manager, para executar um runbook, sua instância não precisa ser gerenciada.

Para reiniciar imediatamente sua instância depois que ela for interrompida, defina as tarefas de interrupção e início na mesma janela de manutenção. Para manter sua instância interrompida por um período predeterminado antes do início da instância, defina cada tarefa em uma janela de manutenção separada.

Resolução

Use um perfil do IAM com as permissões necessárias para seu runbook

Para programar uma janela de manutenção para iniciar ou interromper ações, você deve usar um perfil do AWS Identity and Access Management (AWS IAM) com as permissões necessárias para executar seu runbook. O perfil do IAM exige permissões somente para o runbook do Systems Manager que você registra na janela de manutenção. Por exemplo, se você optar por registrar AWS-StartEC2Instance e não AWS-StopEC2Instance, o perfil do IAM exigi somente as permissões ec2:StartInstances.

Se seu perfil do IAM não tiver as permissões necessárias, crie um perfil do IAM. Ao fazer isso, em Serviço ou caso de uso, selecione Systems Manager ou use um perfil existente de Systems Manager. Em seguida, adicione a seguinte política de permissões ao perfil:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ssm:StartAutomationExecution",
        "ec2:DescribeInstanceStatus"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances"
      ],
      "Resource": "arn:aws:ec2:example_region:example_account_number:instance/example_instance_ID"
    }
  ]
}

Observação: substitua example_region pela sua região da AWS. Substitua example_account_number pelo número da sua conta da AWS. Substitua example_instance_ID pelo número do ID da sua instância. É possível adicionar vários ARNs separados por uma vírgula. O exemplo a seguir nomeia dois ARNs como recursos:

"Resource": "arn:aws:ec2:example_region:example_account_number:instance/example_instance_ID_1", "arn:aws:ec2:example_region:example_account_number:instance/example_instance_ID_2"

Importante: em ec2:StartInstances e ec2:StopInstances, é uma prática recomendada adicionar os ARNs do recurso das instâncias às quais você deseja fornecer acesso. Para obter mais informações, consulte Sintaxe da política. Se você criptografou volumes em sua instância com uma chave do AWS Key Management Service, adicione permissões para essa chave ao seu perfil. Para obter mais informações, consulte How do I resolve launch or start failures for an Amazon EC2 instance with encrypted Amazon EBS volumes? (Como resolvo falhas na execução ou na execução de uma instância do Amazon EC2 com volumes criptografados do Amazon EBS?)

Crie uma janela de manutenção

Se você não tiver uma janela de manutenção, crie uma. Na janela de manutenção, ordene suas tarefas no campo Prioridade da tarefa, com 0 como a prioridade mais alta. Se você tiver uma janela de manutenção existente, continue para Registrar uma tarefa do Automation.

Para registrar destinos na janela de manutenção, selecione as opções Escolher instâncias manualmente ou Escolher um grupo de recursos como uma opção de destino. Para executar a janela de manutenção em instâncias gerenciadas que você não registrou como destinos, selecione Permitir alvos não registrados. Não selecione Especificar tags de instância como opção de destino.

Para obter mais informações, consulte Atribua destinos a uma janela de manutenção usando o console.

Registre a tarefa do Automation

Conclua as etapas a seguir:

  1. Abra o console do Systems Manager.
  2. No painel de navegação, clique em Janelas de manutenção.
  3. Na lista de janelas de manutenção, selecione a janela de manutenção de destino.
  4. Clique em Ações e, em seguida, selecione Registrar tarefa do Automation.
  5. (Opcional) Em Detalhes da tarefa da janela de manutenção, insira um nome e uma descrição.
  6. Em Documento de automação, selecione AWS-StartEC2Instance ou AWS-StopEC2Instance.
  7. Em Versão do documento, clique em Versão padrão no runtime.
  8. A Prioridade da tarefa é definida como 1 por padrão. Se você registrou várias tarefas na mesma janela de manutenção, atribua a elas diferentes níveis de prioridade para estabelecer uma ordem de execução.
  9. Em Destino, se você registrou instâncias de destino na janela de manutenção, selecione Selecionar grupos de alvos registrados. Se você não registrou instâncias de destino na janela de manutenção, clique em Selecionar alvos não registrados. Em seguida, selecione manualmente suas instâncias ou especifique um grupo de recursos para identificar as instâncias que você deseja para executar o documento de automação.
    Observação: as tags para destinos são compatíveis somente com instâncias gerenciadas pelo Systems Manager.
  10. Em Controle de taxa, especifique a Simultaneidade e o Limite de erro.
  11. Em Perfil de serviço do IAM, selecione o perfil de serviço para o Systems Manager na lista suspensa. Se você não criou um perfil de serviço para o Systems Manager, crie um.
    Observação: não use o perfil AWSServiceRoleForAmazonSSM.
  12. Em Parâmetros de entrada, especifique os seguintes parâmetros:
    InstanceId: insira o pseudoparâmetro {{RESOURCE_ID}} para direcionar mais de um recurso.
    AutomationAssumeRole: insira o perfil completo do nome do recurso da Amazon (ARN) no perfil do IAM que tem as permissões ec2:StartInstances ou ec2:StopInstances. Por exemplo, arn:aws:iam::123456789101:role/SSM_StartStopEC2Role.
  13. Clique em Registrar tarefa do Automation.

Importante: para registrar documentos do Automation para programar ações de interrupção e início, repita as etapas anteriores no segundo documento.

Informações relacionadas

Janelas de manutenção do AWS Systems Manager

Referência

Por que o Systems Manager não está mostrando minha instância do Amazon EC2 como uma instância gerenciada?

AWS OFICIALAtualizada há 8 meses