Etapa 3: Registrar uma tarefa na janela de manutenção usando a AWS CLI - AWS Systems Manager

Etapa 3: Registrar uma tarefa na janela de manutenção usando a AWS CLI

Nesta etapa do tutorial, você registra uma tarefa do AWS Systems Manager Run Command que executa o df na instância do Amazon Elastic Compute Cloud (Amazon EC2) para Linux. Os resultados desse comando padrão do Linux mostram a quantidade de espaço livre e a quantidade usada no sistema de arquivos do disco de sua instância.

- ou -

Se você estiver direcionando uma instância do Amazon EC2 para Windows Server em vez de para Linux, substitua o df no comando a seguir por ipconfig. A saída desse comando lista detalhes sobre o endereço IP, a máscara de sub-rede e o gateway padrão para adaptadores na instância de destino.

Quando você estiver pronto para registrar outros tipos de tarefa ou usar mais opções do Run Command disponíveis no Systems Manager, consulte Exemplos: Registrar tarefas em uma janela de manutenção. Lá fornecemos mais informações sobre os quatro tipos de tarefa e algumas das suas opções mais importante, para ajudar você a se planejar para cenários reais mais abrangentes.

Como registrar uma tarefa em uma janela de manutenção
  1. Execute o seguinte comando na máquina local. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações. A versão que será executada a partir de uma máquina Windows local inclui os caracteres de escape ("/") necessários para executar o comando em sua ferramenta de linha de comando.

    Linux & macOS
    aws ssm register-task-with-maintenance-window \ --window-id mw-0c50858d01EXAMPLE \ --task-arn "AWS-RunShellScript" \ --max-concurrency 1 --max-errors 1 \ --priority 10 \ --targets "Key=InstanceIds,Values=i-0471e04240EXAMPLE" \ --task-type "RUN_COMMAND" \ --task-invocation-parameters '{"RunCommand":{"Parameters":{"commands":["df"]}}}'
    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id mw-0c50858d01EXAMPLE ^ --task-arn "AWS-RunShellScript" ^ --max-concurrency 1 --max-errors 1 ^ --priority 10 ^ --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" ^ --task-type "RUN_COMMAND" ^ --task-invocation-parameters={\"RunCommand\":{\"Parameters\":{\"commands\":[\"df\"]}}}

    O sistema retorna informações semelhantes às seguintes:

    {
        "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
    }
  2. Agora, execute o seguinte comando para visualizar detalhes sobre a tarefa de janela de manutenção criada:

    Linux & macOS
    aws ssm describe-maintenance-window-tasks \ --window-id mw-0c50858d01EXAMPLE
    Windows
    aws ssm describe-maintenance-window-tasks ^ --window-id mw-0c50858d01EXAMPLE
  3. O sistema retorna informações semelhantes às seguintes.

    {
        "Tasks": [
            {
                "WindowId": "mw-0c50858d01EXAMPLE",
                "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
                "TaskArn": "AWS-RunShellScript",
                "Type": "RUN_COMMAND",
                "Targets": [
                    {
                        "Key": "InstanceIds",
                        "Values": [
                            "i-02573cafcfEXAMPLE"
                        ]
                    }
                ],
                "TaskParameters": {},
                "Priority": 10,
                "ServiceRoleArn": "arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole",
                "MaxConcurrency": "1",
                "MaxErrors": "1"
            }
        ]
    }
  4. Aguarde o runtime da tarefa, com base na programação especificada em Etapa 1: Criar a janela de manutenção usando a AWS CLI. Por exemplo, se você tiver especificado --schedule "rate(5 minutes)", aguarde cinco minutos. Depois, execute o seguinte comando para visualizar informações sobre todas as execuções que ocorreram para essa tarefa.

    Linux & macOS
    aws ssm describe-maintenance-window-executions \ --window-id mw-0c50858d01EXAMPLE
    Windows
    aws ssm describe-maintenance-window-executions ^ --window-id mw-0c50858d01EXAMPLE

    O sistema retorna informações semelhantes às seguintes.

    {
        "WindowExecutions": [
            {
                "WindowId": "mw-0c50858d01EXAMPLE",
                "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
                "Status": "SUCCESS",
                "StartTime": 1557593493.096,
                "EndTime": 1557593498.611
            }
        ]
    }
dica

Depois que a tarefa for executada com êxito, reduza a taxa de execução da janela de manutenção. Por exemplo, execute o comando a seguir para reduzir a frequência para uma vez por semana. Substitua mw-0c50858d01EXAMPLE pelas suas próprias informações.

Linux & macOS
aws ssm update-maintenance-window \ --window-id mw-0c50858d01EXAMPLE \ --schedule "rate(7 days)"
Windows
aws ssm update-maintenance-window ^ --window-id mw-0c50858d01EXAMPLE ^ --schedule "rate(7 days)"

Para obter informações sobre como gerenciar programações da janela de manutenção, consulte Referência: Expressões cron e rate para o Systems Manager e Opções de programação da janela de manutenção e do período ativo.

Para obter informações sobre como usar a AWS Command Line Interface (AWS CLI) para modificar uma janela de manutenção, consulte Tutorial: Atualizar uma janela de manutenção usando a AWS CLI.

Para praticar a execução de comandos da AWS CLI a fim de visualizar mais detalhes sobre sua tarefa de janela de manutenção e suas execuções, continue em Tutorial: Visualizar informações sobre tarefas e execuções de tarefas usando a AWS CLI.

Acesso à saída do comando do tutorial

Está além do escopo deste tutorial usar a AWS CLI para visualizar a saída do comando do Run Command associado às suas execuções da tarefa de janela de manutenção.

No entanto, esses dados podem ser visualizados usando a AWS CLI. (Você também pode visualizar a saída no console do Systems Manager ou em um arquivo de log armazenado em um bucket do Amazon Simple Storage Service (Amazon S3), caso tenha configurado a janela de manutenção para armazenar a saída do comando nele.) Observe que a saída do comando df em uma instância do EC2 para Linux é semelhante à seguinte:

Filesystem 1K-blocks Used Available Use% Mounted on

devtmpfs 485716 0 485716 0% /dev

tmpfs 503624 0 503624 0% /dev/shm

tmpfs 503624 328 503296 1% /run

tmpfs 503624 0 503624 0% /sys/fs/cgroup

/dev/xvda1 8376300 1464160 6912140 18% /

A saída do comando ipconfig em uma instância do EC2 para Windows Server é semelhante à seguinte:

Windows IP Configuration


Ethernet adapter Ethernet 2:

   Connection-specific DNS Suffix  . : example.com
   IPv4 Address. . . . . . . . . . . : 10.24.34.0/23
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : 0.0.0.0

Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : abc1.wa.example.net

Wireless LAN adapter Local Area Connection* 1:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::100b:c234:66d6:d24f%4
   IPv4 Address. . . . . . . . . . . : 192.0.2.0
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.0.2.0

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :