Instalar el AWS Systems Manager agente - 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.

Instalar el AWS Systems Manager agente

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 EC2 instancias de Amazon y otros recursos. El agente procesa y ejecuta las solicitudes del servicio de Systems Manager en la Nube de AWS. Luego, el agente envía la información de estado y tiempo de ejecución al servicio de Systems Manager. Para obtener más información, consulte Información del agente de Systems Manager en la Guía del usuario de AWS Systems Manager .

AWS proporciona 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 agente de Systems Manager instala el software del agente de Systems Manager y registra el dispositivo principal como un nodo administrado en Systems Manager. Siga los pasos de esta página para completar los requisitos previos e implementar el componente agente de Systems Manager 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 de configuración. AWS Systems Manager Para obtener más información, consulte Completar los pasos de configuración general de Systems Manager en la Guía del usuario de AWS Systems Manager .

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 este rol para habilitar las capacidades de Systems Manager en cada dispositivo principal. El componente agente de Systems Manager también utiliza este rol para registrar el dispositivo principal como un nodo administrado 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 agente de Systems Manager. Para obtener más información, consulte Creación de un rol de servicio de IAM para dispositivos de periferia en la Guía del usuario de AWS Systems Manager .

Paso 3: Agregar permisos al rol de intercambio de token

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 este rol. El componente agente de Systems Manager requiere los siguientes permisos, que incluyen el permiso para usar el rol que creó en 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, agregue estos permisos al rol de intercambio de token del dispositivo principal para permitir que funcione el Agente de Systems Manager. Puede agregar una nueva política al rol de intercambio de token para conceder este permiso.

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

  2. Elija la función de IAM que configuró como función de intercambio de fichas al instalar el software AWS IoT Greengrass Core. 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 la pestaña Permisos, elija Agregar permisos y, a continuación, Asociar políticas.

  4. Elija Crear política. Se abre la página Crear política 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 JSON.

    2. Pegue la siguiente política de en el editor JSON. SSMServiceRoleSustitúyalo por el nombre del rol de servicio en el que lo creastePaso 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": "*" } ] }
    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 abierto el rol de intercambio de token.

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

  7. Seleccione Asociar políticas.

    Los dispositivos principales que utilizan este rol de intercambio de token ahora tienen permiso para interactuar con el servicio Systems Manager.

Cómo 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. SSMServiceRoleSustitúyalo por el nombre del rol de servicio en el que lo creastePaso 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": "*" } ] }
  2. Ejecute el siguiente comando para crear la política del documento de política en ssm-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 del nombre de recurso de Amazon (ARN) de la política de los metadatos de salida. Utilice este ARN para asociar la política al rol del dispositivo principal en el siguiente paso.

  3. Ejecute el siguiente comando para asociar la política al rol de intercambio de token.

    • GreengrassV2TokenExchangeRoleSustitúyalo 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 denominadaGreengrassV2TokenExchangeRole.

    • 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 todo es correcto, el comando no tiene salida. Los dispositivos principales que utilizan este rol de intercambio de token ahora tienen permiso para interactuar con el servicio Systems Manager.

Paso 4: Implementar el componente agente de Systems Manager

Complete los siguientes pasos para implementar y configurar el componente agente de Systems Manager. Puede implementar el componente en un único dispositivo principal o en un grupo de dispositivos principales.

  1. En el menú de navegación de la consola de AWS IoT Greengrass, 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.SystemsManagerAgentEn esta página, seleccione 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 objetos de destino para la implementación. En la página Especificar el destino, en Destino de la implementación, elija un dispositivo principal o un grupo de objetos y, a continuación, elija Siguiente.

  6. En la página Seleccionar componentes, compruebe que aws.greengrass.SystemsManagerAgentel componente está seleccionado, elija Siguiente.

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

    1. Seleccione Configurar componente.

    2. En la configuración aws.greengrass.SystemsManagerAgentmodal, en Actualización de configuración, en Configuración para fusionar, introduzca la siguiente actualización de configuración. SSMServiceRoleSustitúyalo por el nombre del rol de servicio en el que lo creastePaso 2: Crear un rol de servicio de IAM para Systems Manager.

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

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

      También puede especificar etiquetas (SSMResourceTags) para agregarlas al nodo administrado por Systems Manager que el componente agente de Systems Manager crea para el dispositivo principal. Para obtener más información, consulte Configuración del componente agente de Systems Manager.

    3. Elija Confirmar para cerrar el cuadro 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 para completarse.

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

El siguiente ejemplo de documento de implementación parcial especifica el uso de un rol de servicio denominado SSMServiceRole. SSMServiceRoleSustitúyalo por el nombre del rol de servicio en el que lo creastePaso 2: Crear un rol de servicio de IAM para Systems Manager.

{ ..., "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, cambie SSMOverrideExistingRegistration a true. Este parámetro especifica si el componente agente de Systems Manager registra el dispositivo principal cuando el Agente de Systems Manager ya se está ejecutando en el dispositivo con una activación híbrida.

También puede especificar etiquetas (SSMResourceTags) para agregarlas al nodo administrado por Systems Manager que el componente agente de Systems Manager crea para el dispositivo principal. Para obtener más información, consulte Configuración del componente agente de Systems Manager.

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 en Systems Manager

Cuando se ejecuta el componente agente de Systems Manager, registra el dispositivo principal como nodo administrado 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 administrados también se denominan instancias en partes de la consola de AWS y la API.

  1. En el menú de navegación de la consola de AWS IoT Greengrass, elija Dispositivos principales.

  2. Elija el dispositivo principal que desee verificar.

  3. En la página de detalles del dispositivo principal, busque la propiedad de la Instancia de AWS Systems Manager . Si esta propiedad está presente y muestra un enlace a la consola de Systems Manager, el dispositivo principal está registrado como nodo administrado.

    También puede encontrar la propiedad estado de ping AWS 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.

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

  2. En Nodos administrados, haga lo siguiente:

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

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

  3. Busque el dispositivo principal en la tabla de Nodos administrados. Si el dispositivo principal está en la tabla, está registrado como nodo administrado.

    También puede encontrar la propiedad 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 verificar si un dispositivo principal está registrado como nodo administrado. 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 administrados que coinciden con el filtro. Si la lista contiene un nodo administrado, el dispositivo principal se registra como nodo administrado. También puede encontrar más información sobre el nodo administrado del dispositivo principal en la respuesta. Cuando la propiedad PingStatus está Online, puede administrar el dispositivo principal con Systems Manager.

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