Tutorial: actualización automática de SSM Agent con AWS CLI - AWS Systems Manager

Tutorial: actualización automática de SSM Agent con AWS CLI

El siguiente procedimiento le guía por el proceso de crear una asociación de State Manager con AWS Command Line Interface. La asociación actualiza automáticamente el SSM Agent según la programación que especifique. Para obtener más información acerca de SSM Agent, consulte Uso de SSM Agent. Para personalizar la programación de actualización de SSM Agent mediante la consola, consulte Actualización automática de SSM Agent.

Si desea recibir notificaciones sobre actualizaciones de SSM Agent, suscríbase a la página de SSM Agent Release Notes en GitHub.

Antes de empezar

Antes de completar el siguiente procedimiento, compruebe que tiene al menos una instancia de Amazon Elastic Compute Cloud (Amazon EC2) en ejecución para Linux, macOS o Windows Server y que esté configurada para Systems Manager. Para obtener más información, consulte Configuración de AWS Systems Manager.

Si crea una asociación mediante la AWS CLI o AWS Tools for Windows PowerShell, utilice el parámetro --Targets para definir las instancias, tal y como se muestra en el siguiente ejemplo. No utilice el parámetro --InstanceID. El parámetro --InstanceID es un parámetro heredado.

Si desea crear una asociación para actualizar automáticamente el SSM Agent
  1. Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

    Para obtener más información, consulte Instalación o actualización de la última versión de la AWS CLI.

  2. Ejecute el siguiente comando para crear una asociación dirigiéndose a instancias con las etiquetas de Amazon Elastic Compute Cloud (Amazon EC2). Reemplace cada example resource placeholder con su propia información. El parámetro Schedule establece una programación para ejecutar la asociación todos los domingos a las 2:00. (UTC).

    Las asociaciones de State Manager no admiten todas las expresiones cron y de frecuencia. Para obtener más información acerca de la creación de expresiones cron y de frecuencia para asociaciones, consulte Referencia: expresiones cron y rate para 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 *)"

    Puede dirigir varias instancias especificando los ID de instancia en una lista separada por comas.

    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 *)"

    Puede especificar la versión de SSM Agent que desea actualizar.

    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

    El sistema devuelve información similar a la siguiente.

    {
        "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"
                }
            ]
        }
    }

    El sistema intenta crear la asociación en las instancias y aplicar el estado después de la creación. El estado de la asociación muestra Pending.

  3. Ejecute el siguiente comando para ver un estado actualizado de la asociación que creó.

    aws ssm list-associations

    Si las instancias no están ejecutando la versión más reciente del SSM Agent, el estado muestra Failed. Cuando se publica una nueva versión del SSM Agent, la asociación instala automáticamente el nuevo agente y el estado es Success (Correcto).