Installer l'agent AWS Systems Manager - AWS IoT Greengrass

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Installer l'agent AWS Systems Manager

L'AWS Systems Manageragent (Systems Manager Agent) est le logiciel Amazon que vous installez pour permettre à Systems Manager de mettre à jour, de gérer et de configurer les appareils principaux de Greengrass, les instances Amazon EC2 et d'autres ressources. L'agent traite et exécute les demandes du service Systems Manager dans leAWS Cloud. L'agent renvoie ensuite les informations d'état et d'exécution au service Systems Manager. Pour plus d'informations, reportez-vous à la section À propos de Systems Manager Agent dans le guide de AWS Systems Manager l'utilisateur.

AWSfournit l'agent Systems Manager sous la forme d'un composant Greengrass que vous pouvez déployer sur vos appareils principaux Greengrass afin de les gérer avec Systems Manager. Le composant Systems Manager Agent installe le logiciel Systems Manager Agent et enregistre le périphérique principal en tant que nœud géré dans Systems Manager. Suivez les étapes indiquées sur cette page pour effectuer les prérequis et déployer le composant Systems Manager Agent sur un périphérique principal ou un groupe de périphériques principaux.

Étape 1 : Exécution des étapes générales de configuration de Systems Manager

Si ce n'est pas déjà fait, suivez les étapes de configuration générales pourAWS Systems Manager. Pour plus d'informations, reportez-vous à la section Etapes générales complètes de configuration de Systems Manager dans le Guide de AWS Systems Manager l'utilisateur.

Étape 2 : Création d'un rôle de service IAM pour Systems Manager

L'agent Systems Manager utilise un rôle de service AWS Identity and Access Management (IAM) pour communiquer avecAWS Systems Manager. Systems Manager assume ce rôle pour activer les fonctionnalités de Systems Manager sur chaque périphérique principal. Le composant Systems Manager Agent utilise également ce rôle pour enregistrer le périphérique principal en tant que nœud géré par Systems Manager lorsque vous déployez le composant. Si ce n'est pas déjà fait, créez un rôle de service Systems Manager à utiliser par le composant Systems Manager Agent. Pour plus d'informations, consultez la section Créer un rôle de service IAM pour les appareils Edge dans le Guide de l'AWS Systems Managerutilisateur.

Étape 3 : ajouter des autorisations au rôle d'échange de jetons

Les appareils principaux de Greengrass utilisent un rôle de service IAM, appelé rôle d'échange de jetons, pour interagir avec les services. AWS Chaque périphérique principal possède un rôle d'échange de jetons que vous créez lorsque vous installez le logiciel AWS IoT Greengrass Core. De nombreux composants de Greengrass, tels que l'agent Systems Manager, nécessitent des autorisations supplémentaires pour ce rôle. Le composant de l'agent Systems Manager nécessite les autorisations suivantes, notamment l'autorisation d'utiliser le rôle que vous avez créé dansÉtape 2 : Création d'un rôle de service IAM pour 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 ce n'est pas déjà fait, ajoutez ces autorisations au rôle d'échange de jetons du périphérique principal pour permettre à l'agent Systems Manager de fonctionner. Vous pouvez ajouter une nouvelle politique au rôle d'échange de jetons pour accorder cette autorisation.

  1. Dans le menu de navigation de la console IAM, sélectionnez Rôles.

  2. Choisissez le rôle IAM que vous avez configuré comme rôle d'échange de jetons lors de l'installation du logiciel AWS IoT Greengrass Core. Si vous n'avez pas spécifié de nom pour le rôle d'échange de jetons lorsque vous avez installé le logiciel AWS IoT Greengrass Core, celui-ci a créé un rôle nomméGreengrassV2TokenExchangeRole.

  3. Sous Autorisations, choisissez Ajouter des autorisations, puis choisissez Joindre des politiques.

  4. Choisissez Créer une politique. La page Créer une politique s'ouvre dans un nouvel onglet du navigateur.

  5. Sur la page Create policy (Créer une stratégie), procédez comme suit :

    1. Choisissez JSON pour ouvrir l'éditeur JSON.

    2. Collez le politique suivante dans l'éditeur JSON. Remplacez SSM ServiceRole par le nom du rôle de service que vous avez créé dansÉtape 2 : Création d'un rôle de service IAM pour 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. Choisissez Suivant : Balises.

    4. Choisissez Suivant : Vérification.

    5. Dans le champ Nom, entrez le nom de la stratégie, par exemple GreengrassSSMAgentComponentPolicy.

    6. Choisissez Créer une politique.

    7. Passez à l'onglet de navigateur précédent dans lequel le rôle d'échange de jetons est ouvert.

  6. Sur la page Ajouter des autorisations, cliquez sur le bouton d'actualisation, puis sélectionnez la politique d'agent Greengrass Systems Manager que vous avez créée à l'étape précédente.

  7. Choisissez Attach Policies (Attacher des politiques).

    Les principaux appareils qui utilisent ce rôle d'échange de jetons sont désormais autorisés à interagir avec le service Systems Manager.

Pour ajouter une politique autorisant l'utilisation de Systems Manager
  1. Créez un fichier appelé ssm-agent-component-policy.json et copiez-y le code JSON suivant. Remplacez SSM ServiceRole par le nom du rôle de service que vous avez créé dansÉtape 2 : Création d'un rôle de service IAM pour 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. Exécutez la commande suivante pour créer la politique à partir du document de stratégie dansssm-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

    Copiez le nom Amazon Resource Name (ARN) de la politique à partir des métadonnées de la politique dans la sortie. Vous utilisez cet ARN pour associer cette politique au rôle principal de l'appareil à l'étape suivante.

  3. Exécutez la commande suivante pour associer la politique au rôle d'échange de jetons.

    • Remplacez GreengrassV2 TokenExchangeRole par le nom du rôle d'échange de jetons que vous avez spécifié lors de l'installation du logiciel AWS IoT Greengrass Core. Si vous n'avez pas spécifié de nom pour le rôle d'échange de jetons lorsque vous avez installé le logiciel AWS IoT Greengrass Core, celui-ci a créé un rôle nomméGreengrassV2TokenExchangeRole.

    • Remplacez l'ARN de la politique par l'ARN de l'étape précédente.

    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 la commande n'a aucune sortie, elle a réussi. Les principaux appareils qui utilisent ce rôle d'échange de jetons sont désormais autorisés à interagir avec le service Systems Manager.

Étape 4 : Déploiement du composant Systems Manager Agent

Procédez comme suit pour déployer et configurer le composant Systems Manager Agent. Vous pouvez déployer le composant sur un seul périphérique principal ou sur un groupe de périphériques principaux.

  1. Dans le menu de navigation de la AWS IoT Greengrassconsole, sélectionnez Composants.

  2. Sur la page Composants, choisissez l'onglet Composants publics, puis sélectionnez aws.greengrass.SystemsManagerAgent.

  3. Sur la page aws.greengrass.SystemsManagerAgent, choisissez Deploy (Déployer).

  4. Dans Ajouter au déploiement, choisissez un déploiement existant à réviser ou choisissez de créer un nouveau déploiement, puis choisissez Suivant.

  5. Si vous avez choisi de créer un nouveau déploiement, choisissez le périphérique principal ou le groupe d'objets cible pour le déploiement. Sur la page Spécifier la cible, sous Cible de déploiement, choisissez un périphérique principal ou un groupe d'objets, puis cliquez sur Suivant.

  6. Sur la page Sélectionner les composants, vérifiez que le aws.greengrass.SystemsManagerAgentcomposant est sélectionné, puis choisissez Next.

  7. Sur la page Configurer les composants, sélectionnez aws.greengrass.SystemsManagerAgent, puis effectuez les opérations suivantes :

    1. Choisissez Configure component (Configurer un composant).

    2. Dans le aws.greengrass.SystemsManagerAgent mode Configurer, sous Mise à jour de la configuration, dans Configuration à fusionner, entrez la mise à jour de configuration suivante. Remplacez SSM ServiceRole par le nom du rôle de service que vous avez créé dansÉtape 2 : Création d'un rôle de service IAM pour Systems Manager.

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

      Si le périphérique principal exécute déjà l'agent Systems Manager enregistré avec une activation hybride, passez SSMOverrideExistingRegistration àtrue. Ce paramètre indique si le composant Systems Manager Agent enregistre le périphérique principal alors que l'agent Systems Manager est déjà en cours d'exécution sur le périphérique avec une activation hybride.

      Vous pouvez également spécifier des balises (SSMResourceTags) à ajouter au nœud géré par Systems Manager créé par le composant Systems Manager Agent pour le périphérique principal. Pour plus d'informations, consultez la section Configuration des composants de l'agent Systems Manager.

    3. Choisissez Confirmer pour fermer le modal, puis cliquez sur Suivant.

  8. Sur la page Configure advanced settings (Configurer les paramètres avancés), conservez les paramètres de configuration par défaut et choisissez Next (Suivant).

  9. Sur la page Review (Révision), choisissez Deploy (Déployer).

    Le déploiement peut prendre jusqu'à une minute.

Pour déployer le composant Systems Manager Agent, créez un document de déploiement qui inclut aws.greengrass.SystemsManagerAgent l'componentsobjet et spécifiez la mise à jour de configuration pour le composant. Suivez les instructions Créer des déploiements pour créer un nouveau déploiement ou modifier un déploiement existant.

L'exemple de document de déploiement partiel suivant indique d'utiliser un rôle de service nomméSSMServiceRole. Remplacez SSM ServiceRole par le nom du rôle de service que vous avez créé dansÉtape 2 : Création d'un rôle de service IAM pour Systems Manager.

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

Si le périphérique principal exécute déjà l'agent Systems Manager enregistré avec une activation hybride, passez SSMOverrideExistingRegistration àtrue. Ce paramètre indique si le composant Systems Manager Agent enregistre le périphérique principal alors que l'agent Systems Manager est déjà en cours d'exécution sur le périphérique avec une activation hybride.

Vous pouvez également spécifier des balises (SSMResourceTags) à ajouter au nœud géré par Systems Manager créé par le composant Systems Manager Agent pour le périphérique principal. Pour plus d'informations, consultez la section Configuration des composants de l'agent Systems Manager.

L'exécution du déploiement peut prendre plusieurs minutes. Vous pouvez utiliser le AWS IoT Greengrass service pour vérifier l'état du déploiement, et vous pouvez consulter les journaux du logiciel AWS IoT Greengrass principal et les journaux des composants de l'agent Systems Manager pour vérifier que l'agent Systems Manager s'exécute correctement. Pour plus d’informations, consultez les ressources suivantes :

Si le déploiement échoue ou si l'agent Systems Manager ne s'exécute pas, vous pouvez résoudre les problèmes liés au déploiement sur chaque appareil principal. Pour plus d’informations, consultez les ressources suivantes :

Étape 5 : vérifier l'enregistrement de l'appareil principal avec Systems Manager

Lorsque le composant Systems Manager Agent s'exécute, il enregistre le périphérique principal en tant que nœud géré dans Systems Manager. Vous pouvez utiliser la AWS IoT Greengrass console, la console Systems Manager et l'API Systems Manager pour vérifier qu'un périphérique principal est enregistré en tant que nœud géré. Les nœuds gérés sont également appelés instances dans certaines parties de la AWS console et de l'API.

  1. Dans le menu de navigation de la AWS IoT Greengrassconsole, choisissez Core devices.

  2. Choisissez le périphérique principal à vérifier.

  3. Sur la page de détails du périphérique principal, recherchez la propriété de l'AWS Systems Managerinstance. Si cette propriété est présente et affiche un lien vers la console Systems Manager, le périphérique principal est enregistré en tant que nœud géré.

    Vous pouvez également trouver la propriété AWS Systems Managerping status pour vérifier l'état de l'agent Systems Manager sur le périphérique principal. Lorsque le statut est En ligne, vous pouvez gérer le périphérique principal avec Systems Manager.

  1. Dans le menu de navigation de la console Systems Manager, choisissez Fleet Manager.

  2. Sous Nœuds gérés, procédez comme suit :

    1. Ajoutez un filtre où se trouve le type de source AWS::IoT::Thing.

    2. Ajoutez un filtre dans lequel l'ID source est le nom du périphérique principal à vérifier.

  3. Trouvez le périphérique principal dans le tableau des nœuds gérés. Si le périphérique principal figure dans le tableau, il est enregistré en tant que nœud géré.

    Vous pouvez également trouver la propriété ping status de l'agent Systems Manager pour vérifier l'état de l'agent Systems Manager sur le périphérique principal. Lorsque le statut est En ligne, vous pouvez gérer le périphérique principal avec Systems Manager.

  • Utilisez cette DescribeInstanceInformationopération pour obtenir la liste des nœuds gérés correspondant à un filtre que vous spécifiez. Exécutez la commande suivante pour vérifier si un périphérique principal est enregistré en tant que nœud géré. Remplacez MyGreengrassCorepar le nom du périphérique principal à vérifier.

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

    La réponse contient la liste des nœuds gérés qui correspondent au filtre. Si la liste contient un nœud géré, le périphérique principal est enregistré en tant que nœud géré. Vous trouverez également d'autres informations sur le nœud géré du périphérique principal dans la réponse. Si c'est PingStatus le casOnline, vous pouvez gérer le périphérique principal à l'aide de Systems Manager.

Après avoir vérifié qu'un appareil principal est enregistré en tant que nœud géré dans Systems Manager, vous pouvez utiliser la console et l'API Systems Manager pour gérer cet appareil principal. Pour plus d'informations sur les fonctionnalités de Systems Manager que vous pouvez utiliser pour gérer les appareils principaux de Greengrass, consultez la section Fonctionnalités de Systems Manager dans le guide de l'AWS Systems Managerutilisateur.