Walkthrough: Automatically update SSM Agent with the AWS CLI - AWS Systems Manager

Walkthrough: Automatically update SSM Agent with the AWS CLI

O procedimento a seguir demonstra o processo de criação de uma associação do State Manager usando a AWS Command Line Interface. A associação atualiza automaticamente o SSM Agent de acordo com uma programação que você especifica. Para obter mais informações sobre o SSM Agent, consulte Trabalhar com o SSM Agent. Para personalizar o agendamento de atualização do SSM Agent usando o console, consulte Atualizar automaticamente o SSM Agent.

Para receber notificações sobre atualizações do SSM Agent, inscreva-se na página Notas de versão do SSM Agent no GitHub.

Antes de começar

Antes de concluir o procedimento a seguir, verifique se você tem pelo menos uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para o Linux, macOS ou Windows Server em execução configurada para o Systems Manager. Para ter mais informações, consulte Configurar nós gerenciados para o AWS Systems Manager.

Se você criar uma associação usando a AWS CLI ou o AWS Tools for Windows PowerShell, use o parâmetro --Targets para as instâncias de destino, conforme mostrado no exemplo a seguir. Não use o parâmetro --InstanceID. O parâmetro --InstanceID é um parâmetro legado.

Para criar uma associação para atualizar automaticamente o SSM Agent
  1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

    Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI.

  2. Execute o comando a seguir para criar uma associação com instâncias como destinos com etiquetas do Amazon Elastic Compute Cloud (Amazon EC2). Substitua cada espaço reservado para recurso de exemplo por suas próprias informações. O parâmetro Schedule define um agendamento para executar a associação todos os domingos de manhã às 2h. (UTC).

    As associações do State Manager, não comportam todas as expressões cron e de taxa. Para obter mais informações sobre como criar expressões cron e rate para associações, consulte Referência: Expressões cron e rate para o Systems Manager.

    Linux & macOS
    aws ssm create-association \ --targets Key=tag:tag_key,Values=tag_value \ --name AWS-UpdateSSMAgent \ --schedule-expression "cron(0 2 ? * SUN *)"
    Windows
    aws ssm create-association ^ --targets Key=tag:tag_key,Values=tag_value ^ --name AWS-UpdateSSMAgent ^ --schedule-expression "cron(0 2 ? * SUN *)"

    Se você quiser, também poderá especificar várias instâncias de destino indicando os IDs de instâncias em uma lista separada por vírgulas.

    Linux & macOS
    aws ssm create-association \ --targets Key=instanceids,Values=instance_ID,instance_ID,instance_ID \ --name AWS-UpdateSSMAgent \ --schedule-expression "cron(0 2 ? * SUN *)"
    Windows
    aws ssm create-association ^ --targets Key=instanceids,Values=instance_ID,instance_ID,instance_ID ^ --name AWS-UpdateSSMAgent ^ --schedule-expression "cron(0 2 ? * SUN *)"

    Você pode especificar a versão do SSM Agent para a qual deseja atualizar.

    Linux & macOS
    aws ssm create-association \ --targets Key=instanceids,Values=instance_ID,instance_ID,instance_ID \ --name AWS-UpdateSSMAgent \ --schedule-expression "cron(0 2 ? * SUN *)" \ --parameters version=ssm_agent_version_number
    Windows
    aws ssm create-association ^ --targets Key=instanceids,Values=instance_ID,instance_ID,instance_ID ^ --name AWS-UpdateSSMAgent ^ --schedule-expression "cron(0 2 ? * SUN *)" ^ --parameters version=ssm_agent_version_number

    O sistema retorna informações como estas.

    {
        "AssociationDescription": {
            "ScheduleExpression": "cron(0 2 ? * SUN *)",
            "Name": "AWS-UpdateSSMAgent",
            "Overview": {
                "Status": "Pending",
                "DetailedStatus": "Creating"
            },
            "AssociationId": "123..............",
            "DocumentVersion": "$DEFAULT",
            "LastUpdateAssociationDate": 1504034257.98,
            "Date": 1504034257.98,
            "AssociationVersion": "1",
            "Targets": [
                {
                    "Values": [
                        "TagValue"
                    ],
                    "Key": "tag:TagKey"
                }
            ]
        }
    }

    O sistema tenta criar a associação na(s) instância(s) e aplicar imediatamente o estado. O status da associação mostra Pending.

  3. Execute o comando a seguir para visualizar um status atualizado da associação que você acabou de criar.

    aws ssm list-associations

    Se suas instâncias não estiverem executando a versão mais recente do SSM Agent, o status mostrará Failed. Quando uma nova versão do SSM Agent é publicada, a associação instala automaticamente o novo agente e o status mostra Success.