Instalación del agente de AWS Systems Manager - AWS IoT Greengrass

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Instalación del agente de AWS Systems Manager

El AWS Systems Manager agente (Systems Manager Agent) es un software de Amazon que se instala para permitir que Systems Manager actualice, gestione y configure los dispositivos principales de Greengrass, las instancias de Amazon EC2 y otros recursos. El agente procesa y ejecuta las solicitudes del servicio Systems Manager enNube de AWS. A continuación, el agente devuelve la información de estado y tiempo de ejecución al servicio Systems Manager. Para obtener más información, consulte Acerca del agente de Systems Manager en la Guía del AWS Systems Manager usuario.

AWSproporciona el agente de Systems Manager como un componente de Greengrass que puede implementar en sus dispositivos principales de Greengrass para administrarlos con Systems Manager. El componente Systems Manager Agent instala el software Systems Manager Agent y registra el dispositivo principal como nodo gestionado en Systems Manager. Siga los pasos de esta página para completar los requisitos previos e implementar el componente Systems Manager Agent en un dispositivo principal o en un grupo de dispositivos principales.

Paso 1: completar los pasos generales de configuración de Systems Manager

Si aún no lo ha hecho, complete los pasos generales AWS Systems Manager de configuración de. Para obtener más información, consulte los pasos generales completos de configuración de Systems Manager en la Guía del AWS Systems Manager usuario.

Paso 2: Crear un rol de servicio de IAM para Systems Manager

El agente de Systems Manager utiliza un rol de servicio AWS Identity and Access Management (IAM) para comunicarse con AWS Systems Manager él. Systems Manager asume esta función para habilitar las capacidades de Systems Manager en cada dispositivo principal. El componente Systems Manager Agent también utiliza esta función para registrar el dispositivo principal como nodo gestionado por Systems Manager al implementar el componente. Si aún no lo ha hecho, cree un rol de servicio de Systems Manager para que lo utilice el componente Systems Manager Agent. Para obtener más información, consulte Crear una función de servicio de IAM para dispositivos perimetrales en la Guía del AWS Systems Manager usuario.

Paso 3: Añadir permisos a la función de intercambio de tokens

Los dispositivos principales de Greengrass utilizan una función de servicio de IAM, denominada función de intercambio de fichas, para interactuar con los servicios. AWS Cada dispositivo principal tiene una función de intercambio de fichas que se crea al instalar el software AWS IoT Greengrass Core. Muchos componentes de Greengrass, como el Agente de Systems Manager, requieren permisos adicionales para esta función. El componente del agente Systems Manager requiere los siguientes permisos, que incluyen el permiso para usar el rol en el que creóPaso 2: Crear un rol de servicio de IAM para Systems Manager.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::account-id:role/SSMServiceRole" ] }, { "Action": [ "ssm:AddTagsToResource", "ssm:RegisterManagedInstance" ], "Effect": "Allow", "Resource": "*" } ] }

Si aún no lo ha hecho, añada estos permisos a la función de intercambio de tokens del dispositivo principal para permitir que funcione el Agente de Systems Manager. Puede añadir una nueva política a la función de intercambio de fichas para conceder este permiso.

  1. En el menú de navegación de la consola de IAM, seleccione Roles.

  2. Elija la función de IAM que configuró como función de intercambio de fichas al instalar el software AWS IoT Greengrass principal. Si no especificó un nombre para la función de intercambio de fichas al instalar el software AWS IoT Greengrass Core, se creó una función denominadaGreengrassV2TokenExchangeRole.

  3. En Permisos, selecciona Añadir permisos y, a continuación, selecciona Adjuntar políticas.

  4. Elija Crear política. La página Crear política se abre en una nueva pestaña del navegador.

  5. En la página Create policy (Crear política), haga lo siguiente:

    1. Elija JSON para abrir el editor de JSON.

    2. Pegue la siguiente política de en el editor JSON. Sustituya SSM ServiceRole por el nombre del rol de servicio en Paso 2: Crear un rol de servicio de IAM para Systems Manager el que lo creó.

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::account-id:role/SSMServiceRole" ] }, { "Action": [ "ssm:AddTagsToResource", "ssm:RegisterManagedInstance" ], "Effect": "Allow", "Resource": "*" } ] }
    3. Elija Siguiente: Etiquetas.

    4. Elija Siguiente: Revisar.

    5. Introduzca un Nombre para la política, como GreengrassSSMAgentComponentPolicy.

    6. Elija Crear política.

    7. Cambie a la pestaña anterior del navegador en la que tenía abierta la función de intercambio de fichas.

  6. En la página Añadir permisos, pulse el botón de actualización y, a continuación, seleccione la política de agente de Greengrass Systems Manager que creó en el paso anterior.

  7. Seleccione Asociar políticas.

    Los dispositivos principales que utilizan esta función de intercambio de fichas ahora tienen permiso para interactuar con el servicio Systems Manager.

Para agregar una política que conceda permiso para usar Systems Manager
  1. Cree un archivo llamado ssm-agent-component-policy.json y copie el siguiente JSON en el archivo. Sustituya SSM ServiceRole por el nombre del rol de servicio en Paso 2: Crear un rol de servicio de IAM para Systems Manager el que lo creó.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::account-id:role/SSMServiceRole" ] }, { "Action": [ "ssm:AddTagsToResource", "ssm:RegisterManagedInstance" ], "Effect": "Allow", "Resource": "*" } ] }
  2. Ejecute el siguiente comando para crear la política a partir del documento de política incluido enssm-agent-component-policy.json.

    Linux or Unix
    aws iam create-policy \ --policy-name GreengrassSSMAgentComponentPolicy \ --policy-document file://ssm-agent-component-policy.json
    Windows Command Prompt (CMD)
    aws iam create-policy ^ --policy-name GreengrassSSMAgentComponentPolicy ^ --policy-document file://ssm-agent-component-policy.json
    PowerShell
    aws iam create-policy ` --policy-name GreengrassSSMAgentComponentPolicy ` --policy-document file://ssm-agent-component-policy.json

    Copie la política Amazon Resource Name (ARN) de los metadatos de la política en la salida. Utilice este ARN para adjuntar esta política a la función de dispositivo principal en el siguiente paso.

  3. Ejecute el siguiente comando para adjuntar la política a la función de intercambio de tokens.

    • Sustituya GreengrassV2 TokenExchangeRole por el nombre de la función de intercambio de fichas que especificó al instalar el software AWS IoT Greengrass principal. Si no especificó un nombre para la función de intercambio de fichas al instalar el software AWS IoT Greengrass Core, se creó una función denominada. GreengrassV2TokenExchangeRole

    • Sustituya el ARN de la política por el ARN del paso anterior.

    Linux or Unix
    aws iam attach-role-policy \ --role-name GreengrassV2TokenExchangeRole \ --policy-arn arn:aws:iam::123456789012:policy/GreengrassSSMAgentComponentPolicy
    Windows Command Prompt (CMD)
    aws iam attach-role-policy ^ --role-name GreengrassV2TokenExchangeRole ^ --policy-arn arn:aws:iam::123456789012:policy/GreengrassSSMAgentComponentPolicy
    PowerShell
    aws iam attach-role-policy ` --role-name GreengrassV2TokenExchangeRole ` --policy-arn arn:aws:iam::123456789012:policy/GreengrassSSMAgentComponentPolicy

    Si el comando no tiene salida, se ha realizado correctamente. Los dispositivos principales que utilizan esta función de intercambio de fichas ahora tienen permiso para interactuar con el servicio Systems Manager.

Paso 4: Implementar el componente Systems Manager Agent

Complete los siguientes pasos para implementar y configurar el componente System Manager Agent. Puede implementar el componente en un dispositivo de un solo núcleo o en un grupo de dispositivos principales.

  1. En el menú de navegación de la AWS IoT Greengrassconsola, elija Componentes.

  2. En la página Componentes, seleccione la pestaña Componentes públicos y, a continuación, elija aws.greengrass.SystemsManagerAgent.

  3. En la página aws.greengrass.SystemsManagerAgent, elija Implementar.

  4. En Agregar a la implementación, elija una implementación existente para revisarla o cree una nueva y, a continuación, elija Siguiente.

  5. Si opta por crear una nueva implementación, elija el dispositivo principal o el grupo de cosas de destino para la implementación. En la página Especificar el destino, en Destino del despliegue, elija un dispositivo principal o un grupo de cosas y, a continuación, elija Siguiente.

  6. En la página Seleccionar componentes, compruebe que el aws.greengrass.SystemsManagerAgentcomponente esté seleccionado y seleccione Siguiente.

  7. En la página Configurar componentes, seleccione y aws.greengrass.SystemsManagerAgent, a continuación, haga lo siguiente:

    1. Seleccione Configurar componente.

    2. En el aws.greengrass.SystemsManagerAgent modal Configurar, en Actualización de configuración, en Configuración para fusionar, introduzca la siguiente actualización de configuración. Sustituya SSM ServiceRole por el nombre del rol de servicio en Paso 2: Crear un rol de servicio de IAM para Systems Manager el que lo creó.

      { "SSMRegistrationRole": "SSMServiceRole", "SSMOverrideExistingRegistration": false }
      nota

      Si el dispositivo principal ya ejecuta el Agente de Systems Manager registrado con una activación híbrida, cámbielo SSMOverrideExistingRegistration atrue. Este parámetro especifica si el componente Systems Manager Agent registra el dispositivo principal cuando el Agente Systems Manager ya se está ejecutando en el dispositivo con una activación híbrida.

      También puede especificar etiquetas (SSMResourceTags) para añadirlas al nodo gestionado por Systems Manager que el componente Systems Manager Agent crea para el dispositivo principal. Para obtener más información, consulte Configuración de componentes de Systems Manager Agent.

    3. Elija Confirmar para cerrar el modal y, a continuación, elija Siguiente.

  8. En la página Configurar ajustes avanzados, mantenga los ajustes de configuración predeterminados y seleccione Siguiente.

  9. En la página Revisar, elija Implementar.

    La implementación puede tardar hasta un minuto en completarse.

Para implementar el componente Systems Manager Agent, cree un documento de despliegue que lo incluya aws.greengrass.SystemsManagerAgent en el components objeto y especifique la actualización de configuración del componente. Siga las instrucciones Crear implementaciones para crear una nueva implementación o revisar una implementación existente.

El siguiente ejemplo de documento de despliegue parcial especifica el uso de un rol de servicio denominadoSSMServiceRole. Sustituya SSM ServiceRole por el nombre del rol de servicio en Paso 2: Crear un rol de servicio de IAM para Systems Manager el que lo creó.

{ ..., "components": { ..., "aws.greengrass.SystemsManagerAgent": { "componentVersion": "1.0.0", "configurationUpdate": { "merge": "{\"SSMRegistrationRole\":\"SSMServiceRole\",\"SSMOverrideExistingRegistration\":false}" } } } }
nota

Si el dispositivo principal ya ejecuta el Agente de Systems Manager registrado con una activación híbrida, cámbielo SSMOverrideExistingRegistration atrue. Este parámetro especifica si el componente Systems Manager Agent registra el dispositivo principal cuando el Agente Systems Manager ya se está ejecutando en el dispositivo con una activación híbrida.

También puede especificar etiquetas (SSMResourceTags) para añadirlas al nodo gestionado por Systems Manager que el componente Systems Manager Agent crea para el dispositivo principal. Para obtener más información, consulte Configuración de componentes de Systems Manager Agent.

La implementación puede tardar varios minutos en completarse. Puede utilizar el AWS IoT Greengrass servicio para comprobar el estado de la implementación y comprobar los registros del software AWS IoT Greengrass principal y los registros de los componentes del Agente de Systems Manager para comprobar que el Agente de Systems Manager se ejecuta correctamente. Para obtener más información, consulte los siguientes temas:

Si la implementación falla o el Agente de Systems Manager no se ejecuta, puede solucionar los problemas de la implementación en cada dispositivo principal. Para obtener más información, consulte los siguientes temas:

Paso 5: Verificar el registro del dispositivo principal con Systems Manager

Cuando se ejecuta el componente Systems Manager Agent, registra el dispositivo principal como un nodo gestionado en Systems Manager. Puede usar la AWS IoT Greengrass consola, la consola de Systems Manager y la API de Systems Manager para comprobar que un dispositivo principal esté registrado como nodo gestionado. Los nodos gestionados también se denominan instancias en partes de la AWS consola y la API.

  1. En el menú de navegación de la AWS IoT Greengrassconsola, selecciona Dispositivos principales.

  2. Elige el dispositivo principal que deseas verificar.

  3. En la página de detalles del dispositivo principal, busca la propiedad de la AWS Systems Managerinstancia. Si esta propiedad está presente y muestra un enlace a la consola de Systems Manager, el dispositivo principal se registra como nodo gestionado.

    También puede encontrar la propiedad AWS Systems Managerping status para comprobar el estado del Agente de Systems Manager en el dispositivo principal. Cuando el estado es En línea, puede administrar el dispositivo principal con Systems Manager.

  1. En el menú de navegación de la consola de Systems Manager, seleccione Fleet Manager.

  2. En Nodos gestionados, haga lo siguiente:

    1. Agregue un filtro donde esté el tipo de fuente AWS::IoT::Thing.

    2. Agregue un filtro en el que el ID de origen sea el nombre del dispositivo principal que se va a verificar.

  3. Busque el dispositivo principal en la tabla de nodos gestionados. Si el dispositivo principal está en la tabla, está registrado como nodo gestionado.

    También puede encontrar la propiedad de estado de ping del Agente de Systems Manager para comprobar el estado del Agente de Systems Manager en el dispositivo principal. Cuando el estado es En línea, puede administrar el dispositivo principal con Systems Manager.

  • Utilice la DescribeInstanceInformationoperación para obtener la lista de nodos gestionados que coinciden con el filtro que especifique. Ejecute el siguiente comando para comprobar si un dispositivo principal está registrado como nodo gestionado. MyGreengrassCoreSustitúyalo por el nombre del dispositivo principal para verificarlo.

    aws ssm describe-instance-information --filter Key=SourceIds,Values=MyGreengrassCore Key=SourceTypes,Values=AWS::IoT::Thing

    La respuesta contiene la lista de nodos gestionados que coinciden con el filtro. Si la lista contiene un nodo gestionado, el dispositivo principal se registra como nodo gestionado. También puede encontrar más información sobre el nodo gestionado del dispositivo principal en la respuesta. Si la PingStatus propiedad esOnline, puede administrar el dispositivo principal con Systems Manager.

Tras comprobar que un dispositivo principal está registrado como nodo gestionado en Systems Manager, puede utilizar la consola y la API de Systems Manager para gestionar ese dispositivo principal. Para obtener más información sobre las capacidades de Systems Manager que puede usar para administrar los dispositivos principales de Greengrass, consulte las capacidades de Systems Manager en la Guía del AWS Systems Managerusuario.