Instalar o actualizar paquetes - AWS Systems Manager

Instalar o actualizar paquetes

Puede implementar paquetes en los nodos administrados de AWS Systems Manager mediante Distributor, una capacidad de AWS Systems Manager. Para implementar los paquetes, utilice la AWS Management Console o AWS Command Line Interface (AWS CLI). Puede implementar una versión de un paquete en cada comando. Puede instalar nuevos paquetes o actualizar las instalaciones existentes. Puede elegir implementar una versión específica o elegir implementar siempre la versión más reciente de un paquete para implementación. Le recomendamos utilizar State Manager, una capacidad de AWS Systems Manager, para instalar paquetes. Utilice State Manager para asegurarse de que los nodos administrados siempre ejecutan la versión más actualizada del paquete.

Preference Acción de AWS Systems Manager Más información

Instale o actualice un paquete inmediatamente.

Run Command

Instale o actualice un paquete de manera programada, de forma que la instalación siempre incluya la versión predeterminada.

State Manager

Instale un paquete automáticamente en nodos administrados nuevos que tengan una etiqueta específica o un conjunto de etiquetas. Por ejemplo, instale el agente de Amazon CloudWatch en nuevas instancias.

State Manager

Una forma de hacerlo es aplicar etiquetas a nodos administrados nuevos y, a continuación, especificar las etiquetas como destinos en su asociación State Manager. State Manager instala automáticamente el paquete de una asociación en los nodos administrados que tienen etiquetas coincidentes. Consulte Acerca de los controles de frecuencia y destinos en las asociaciones de State Manager.

Instalación o actualización de un paquete una vez (consola)

Puede utilizar la consola AWS Systems Manager para instalar o actualizar un paquete una vez. Cuando configura una instalación de una sola vez, Distributor utiliza AWS Systems Manager Run Command, una capacidad de AWS Systems Manager, para realizar la instalación.

Para instalar o actualizar un paquete una vez (consola)
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Distributor.

  3. En la página de inicio de Distributor, elija el paquete que desee instalar.

  4. Elija Instalar una vez.

    Este comando abre Run Command con el documento de Command AWS-ConfigureAWSPackage y el paquete de Distributor ya seleccionado.

  5. En Versión del documento, seleccione la versión del documento AWS-ConfigureAWSPackage que desea ejecutar.

  6. En Acción, elija Instalar.

  7. En Installation type, seleccione una de las siguientes opciones:

    • Desinstalar y reinstalar: el paquete se desinstala por completo y, a continuación, se vuelve a instalar. La aplicación no estará disponible hasta que se complete la reinstalación.

    • In-place update: solo se agregan archivos nuevos o modificados a la instalación existente según las instrucciones que proporcione en un script update. La aplicación permanece disponible durante todo el proceso de actualización. Esta opción no es compatible con los paquetes publicados de AWS, excepto el paquete de AWSEC2Launch-Agent.

  8. En Nombre, compruebe que se ha introducido el nombre del paquete que ha seleccionado.

  9. (Opcional) En Versión, escriba el valor de nombre de versión del paquete. Si deja este campo en blanco, Run Command instala la versión predeterminada que ha seleccionado en Distributor.

  10. En la sección Destinos, para elegir los nodos administrados en los que desea ejecutar esta operación, especifique las etiquetas, seleccione las instancias o los dispositivos manualmente o especifique un grupo de recursos.

    nota

    Si no ve un nodo administrado en la lista, consulte Solución de problemas de disponibilidad de nodos administrados.

  11. En Otros parámetros:

    • En Comentario, ingrese la información acerca de este comando.

    • En Tiempo de espera (segundos), especifique el número de segundos que tiene que esperar el sistema antes de indicar que se ha producido un error en la ejecución del comando general.

  12. En Control de velocidad:

    • En Simultaneidad, especifique un número o un porcentaje de los destinos en los que desea ejecutar el comando al mismo tiempo.

      nota

      Si seleccionó los destinos mediante la especificación de etiquetas o grupos de recursos y no está seguro de cuántos nodos administrados tienen destino, limite el número de destinos que puede ejecutar el documento al mismo tiempo. Para ello, especifique un porcentaje.

    • En Umbral de error, especifique cuándo desea parar la ejecución del comando en los demás destinos después de que haya fallado en un número o un porcentaje de los nodos administrados. Por ejemplo, si especifica tres errores, Systems Manager dejará de enviar el comando cuando se reciba el cuarto error. Los nodos administrados que estén procesando el comando todavía pueden enviar errores.

  13. (Opcional) En Opciones de salida, para guardar la salida del comando en un archivo, seleccione el cuadro Write command output to an S3 bucket. Ingrese los nombres del bucket y del prefijo (carpeta) en los cuadros.

    nota

    Los permisos de S3 que conceden la capacidad de escribir datos en un bucket de S3 son los del perfil de instancia (para instancias de EC2) o rol de servicio de IAM (máquinas activadas de manera híbrida) asignados a la instancia, no los del usuario de IAM que realiza esta tarea. Para obtener más información, consulte Configuración de permisos de instancia requeridos para Systems Manager o Creación de un rol de servicio de IAM para un entorno híbrido. Además, si el bucket de S3 especificado se encuentra en una Cuenta de AWS diferente, asegúrese de que el perfil de instancias o el rol de servicio de IAM asociado al nodo administrado tenga los permisos necesarios para escribir en ese bucket.

  14. En la sección Notificaciones de SNS, seleccione la casilla de verificación Habilitar notificaciones de SNS si desea recibir notificaciones sobre el estado de ejecución de los comandos.

    Para obtener más información acerca de la configuración de las notificaciones de Amazon SNS para Run Command, consulte Monitoreo de los cambios de estado de Systems Manager mediante las notificaciones de Amazon SNS.

  15. Cuando esté listo para instalar el paquete, elija Ejecutar.

  16. El área Estado del comando informa del progreso de la ejecución. Si el comando sigue en curso, elija el icono de actualización en la esquina superior izquierda de la consola hasta que la columna Estado General o Estado detallado muestre Correcto o Error.

  17. En el área Destinos y salidas, elija el botón situado junto a un nombre de nodo administrado y, a continuación, elija Ver resultado.

    La página de salida de comandos muestra los resultados de la ejecución de comandos.

  18. (Opcional) Si elige escribir la salida del comando en un bucket de Amazon S3, elija Amazon S3 para ver los datos del registro de salida.

Programación de una instalación o actualización de un paquete (consola)

Puede utilizar la consola de AWS Systems Manager para programar la instalación o actualización de un paquete. Al planificar la instalación o actualización de un paquete, Distributor usa AWS Systems Manager State Manager para instalar o actualizar.

Para programar una instalación de paquete (consola)
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Distributor.

  3. En la página de inicio de Distributor, elija el paquete que desee instalar o actualizar.

  4. En Paquete, elija Instalar de manera programada.

    Este comando abre State Manager en una nueva asociación que se crea automáticamente.

  5. En Nombre, escriba un nombre (por ejemplo, Deploy-test-agent-package). Esto es opcional, pero recomendable. No se permiten espacios en el nombre.

  6. En la lista Documento, el nombre del documento AWS-ConfigureAWSPackage ya está seleccionado.

  7. En Acción, compruebe que se ha seleccionado Instalar.

  8. En Installation type, seleccione una de las siguientes opciones:

    • Desinstalar y reinstalar: el paquete se desinstala por completo y, a continuación, se vuelve a instalar. La aplicación no estará disponible hasta que se complete la reinstalación.

    • In-place update: solo se agregan archivos nuevos o modificados a la instalación existente según las instrucciones que proporcione en un script update. La aplicación permanece disponible durante todo el proceso de actualización.

  9. En Nombre, compruebe que se ha introducido el nombre del paquete.

  10. En Versión, si desea instalar una versión del paquete que no sea la versión más reciente publicada, introduzca el identificador de versión.

  11. En Destinos, elija Selecting all managed instances in this account, Especificación de etiquetas o Selección manual de la instancia. Si selecciona como destino recursos mediante el uso de etiquetas, introduzca una clave de etiqueta y un valor de etiqueta en los campos correspondientes.

    nota

    Para elegir dispositivos de núcleo administrados de AWS IoT Greengrass, elija Selecting all managed instances in this account o Selección manual de la instancia.

  12. En Especificar programación, seleccione Según la programación para ejecutar la asociación según un programa habitual o Sin programación para ejecutar la asociación una vez. Para obtener más información sobre estas opciones, consulte Trabajo con asociaciones en Systems Manager. Utilice los controles para crear un programa de cron o rate para la asociación.

  13. Elija Crear asociación.

  14. En la página Asociación pulse el botón situado junto a la asociación que ha creado y, a continuación, elija Aplicar asociación ahora.

    State Manager crea y ejecuta inmediatamente la asociación en los destinos especificados. Para obtener más información acerca de los resultados de las asociaciones en ejecución, consulte Trabajo con asociaciones en Systems Manager en esta guía.

Para obtener más información sobre cómo trabajar con las opciones en Opciones avanzadas, Control de velocidad y Opciones de salida, consulte Trabajo con asociaciones en Systems Manager.

Instalación de un paquete una vez (AWS CLI)

Puede ejecutar send-command en la AWS CLI para instalar un paquete de Distributor una vez. Si el paquete ya está instalado, la aplicación se desconectará mientras se desinstala el paquete y se instala la nueva versión en su lugar.

Para instalar un paquete una vez (AWS CLI)
  • Ejecute el siguiente comando en la AWS CLI:

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "instance-IDs" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
    nota

    El comportamiento predeterminado para installationType es Uninstall and reinstall. Puede omitir "installationType":["Uninstall and reinstall"] de este comando cuando instale un paquete completo.

    A continuación, se muestra un ejemplo.

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "i-00000000000000" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["ExamplePackage"]}'

Para obtener más información acerca de otras opciones que puede utilizar con el comando send-command, consulte send-command en la sección sobre AWS Systems Manager de la Referencia de comandos de la AWS CLI.

Actualización de un paquete una vez (AWS CLI)

Puede ejecutar send-command en la AWS CLI para actualizar un paquete de Distributor sin desconectar la aplicación asociada. Solo se reemplazan los archivos nuevos o actualizados del paquete.

Para actualizar un paquete una vez (AWS CLI)
  • Ejecute el siguiente comando en la AWS CLI:

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "instance-IDs" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
    nota

    Cuando agregue archivos nuevos o modificados, debe incluir "installationType":["In-place update"] en el comando.

    A continuación, se muestra un ejemplo.

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "i-02573cafcfEXAMPLE" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["ExamplePackage"]}'

Para obtener más información acerca de otras opciones que puede utilizar con el comando send-command, consulte send-command en la sección sobre AWS Systems Manager de la Referencia de comandos de la AWS CLI.

Programación de la instalación de un paquete (AWS CLI)

Puede ejecutar create-association en la AWS CLI para instalar un paquete de Distributor de forma programada. El valor de --name, el nombre del documento, es siempre AWS-ConfigureAWSPackage. El comando siguiente utiliza la clave InstanceIds para especificar los nodos administrados de destino. Si el paquete ya está instalado, la aplicación se desconectará mientras se desinstala el paquete y se instala la nueva versión en su lugar.

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1\",\"instance-ID2\"]}]
nota

El comportamiento predeterminado para installationType es Uninstall and reinstall. Puede omitir "installationType":["Uninstall and reinstall"] de este comando cuando instale un paquete completo.

A continuación, se muestra un ejemplo.

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["Test-ConfigureAWSPackage"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]

Para obtener más información acerca de otras opciones que puede utilizar con el comando create-association, consulte create-association en la sección sobre AWS Systems Manager de la Referencia de comandos de la AWS CLI.

Programación de una actualización de paquete (AWS CLI)

Puede ejecutar create-association en la AWS CLI para actualizar un paquete de Distributor de forma programada sin desconectar la aplicación asociada. Solo se reemplazan los archivos nuevos o actualizados del paquete. El valor de --name, el nombre del documento, es siempre AWS-ConfigureAWSPackage. El comando siguiente utiliza la clave InstanceIds para especificar las instancias de destino.

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1\",\"instance-ID2\"]}]
nota

Cuando agregue archivos nuevos o modificados, debe incluir "installationType":["In-place update"] en el comando.

A continuación, se muestra un ejemplo.

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["Test-ConfigureAWSPackage"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]

Para obtener más información acerca de otras opciones que puede utilizar con el comando create-association, consulte create-association en la sección sobre AWS Systems Manager de la Referencia de comandos de la AWS CLI.