Démonstration : Configurer vos nœuds gérés pour l'inventaire à l'aide de l'interface de ligne de commande - AWS Systems Manager

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.

Démonstration : Configurer vos nœuds gérés pour l'inventaire à l'aide de l'interface de ligne de commande

Les procédures suivantes vous guident tout au long du processus de configuration de l'inventaire AWS Systems Manager pour collecter les métadonnées de vos nœuds gérés. Lorsque vous configurez la collecte de données d'inventaire, vous commencez par créer une association Systems Manager State Manager. Systems Manager collecte les données d'inventaire lorsque l'association est exécutée. Si vous ne créez pas l'association en premier et essayez d'appeler le plug-in aws:softwareInventory en utilisant, par exemple, la fonctionnalité Systems Manager Run Command, le système renvoie l'erreur suivante :

The aws:softwareInventory plugin can only be invoked via ssm-associate.

Note

Un nœud ne peut avoir qu'une association d'inventaire configurée en même temps. Si vous configurez un nœud avec deux associations d'inventaire ou plus, l'association n'est pas exécutée et aucune donnée d'inventaire n'est collectée.

Configuration rapide de toutes vos nœuds gérés pour l'inventaire (CLI)

Vous pouvez configurer rapidement tous les nœuds gérés dans votre Compte AWS et dans la région actuelle pour collecter les données d'inventaire. C'est ce qu'on appelle la création d'une association d'inventaire global. Pour créer une association d'inventaire global à l'aide de l'AWS CLI, utilisez un caractère générique comme valeur de instanceIds, comme illustré dans la procédure suivante.

Pour configurer l'inventaire pour tous les nœuds gérés dans votre Compte AWS et dans la région actuelle (CLI)
  1. Si vous ne l'avez pas déjà fait, installez et configurez l'AWS Command Line Interface (AWS CLI).

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l'AWS CLI.

  2. Exécutez la commande suivante.

    Linux & macOS
    aws ssm create-association \ --name AWS-GatherSoftwareInventory \ --targets Key=InstanceIds,Values=* \ --schedule-expression "rate(1 day)" \ --parameters applications=Enabled,awsComponents=Enabled,customInventory=Enabled,instanceDetailedInformation=Enabled,networkConfig=Enabled,services=Enabled,windowsRoles=Enabled,windowsUpdates=Enabled
    Windows
    aws ssm create-association ^ --name AWS-GatherSoftwareInventory ^ --targets Key=InstanceIds,Values=* ^ --schedule-expression "rate(1 day)" ^ --parameters applications=Enabled,awsComponents=Enabled,customInventory=Enabled,instanceDetailedInformation=Enabled,networkConfig=Enabled,services=Enabled,windowsRoles=Enabled,windowsUpdates=Enabled
Note

Cette commande n'autorise pas Inventory à collecter des métadonnées pour le registre Windows ou les fichiers. Pour effectuer l'inventaire de ces types de données, utilisez la procédure suivante.

Configuration manuelle de l'inventaire sur vos nœuds gérés (CLI)

Utilisez la procédure suivante pour configurer manuellement l'inventaire AWS Systems Manager sur vos nœuds gérés à l'aide d'ID de nœud ou de balises.

Pour configurer manuellement vos nœuds gérés pour l'inventaire (CLI)
  1. Si vous ne l'avez pas déjà fait, installez et configurez l'AWS Command Line Interface (AWS CLI).

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l'AWS CLI.

  2. Exécutez la commande suivante pour créer une association State Manager qui exécute Systems Manager Inventory sur le nœud. Remplacez chaque example resource placeholder (espace réservé pour les ressources) avec vos propres informations. Cette commande configure le service pour qu'il s'exécute toutes les six heures et qu'il collecte les métadonnées de configuration du réseau, de Windows Update et des applications à partir d'un nœud.

    Linux & macOS
    aws ssm create-association \ --name "AWS-GatherSoftwareInventory" \ --targets "Key=instanceids,Values=an_instance_ID" \ --schedule-expression "rate(240 minutes)" \ --output-location "{ \"S3Location\": { \"OutputS3Region\": \"region_ID, for example us-east-2\", \"OutputS3BucketName\": \"DOC-EXAMPLE-BUCKET\", \"OutputS3KeyPrefix\": \"Test\" } }" \ --parameters "networkConfig=Enabled,windowsUpdates=Enabled,applications=Enabled"
    Windows
    aws ssm create-association ^ --name "AWS-GatherSoftwareInventory" ^ --targets "Key=instanceids,Values=an_instance_ID" ^ --schedule-expression "rate(240 minutes)" ^ --output-location "{ \"S3Location\": { \"OutputS3Region\": \"region_ID, for example us-east-2\", \"OutputS3BucketName\": \"DOC-EXAMPLE-BUCKET\", \"OutputS3KeyPrefix\": \"Test\" } }" ^ --parameters "networkConfig=Enabled,windowsUpdates=Enabled,applications=Enabled"

    Le système répond en renvoyant des informations similaires à celles qui suivent.

    {
        "AssociationDescription": {
            "ScheduleExpression": "rate(240 minutes)",
            "OutputLocation": {
                "S3Location": {
                    "OutputS3KeyPrefix": "Test",
                    "OutputS3BucketName": "Test bucket",
                    "OutputS3Region": "us-east-2"
                }
            },
            "Name": "The name you specified",
            "Parameters": {
                "applications": [
                    "Enabled"
                ],
                "networkConfig": [
                    "Enabled"
                ],
                "windowsUpdates": [
                    "Enabled"
                ]
            },
            "Overview": {
                "Status": "Pending",
                "DetailedStatus": "Creating"
            },
            "AssociationId": "1a2b3c4d5e6f7g-1a2b3c-1a2b3c-1a2b3c-1a2b3c4d5e6f7g",
            "DocumentVersion": "$DEFAULT",
            "LastUpdateAssociationDate": 1480544990.06,
            "Date": 1480544990.06,
            "Targets": [
                {
                    "Values": [
                       "i-02573cafcfEXAMPLE"
                    ],
                    "Key": "InstanceIds"
                }
            ]
        }
    }

    Vous pouvez cibler de grands groupes de nœuds en utilisant le paramètre Targets avec les balises EC2. Consultez l'exemple suivant.

    Linux & macOS
    aws ssm create-association \ --name "AWS-GatherSoftwareInventory" \ --targets "Key=tag:Environment,Values=Production" \ --schedule-expression "rate(240 minutes)" \ --output-location "{ \"S3Location\": { \"OutputS3Region\": \"us-east-2\", \"OutputS3BucketName\": \"DOC-EXAMPLE-BUCKET\", \"OutputS3KeyPrefix\": \"Test\" } }" \ --parameters "networkConfig=Enabled,windowsUpdates=Enabled,applications=Enabled"
    Windows
    aws ssm create-association ^ --name "AWS-GatherSoftwareInventory" ^ --targets "Key=tag:Environment,Values=Production" ^ --schedule-expression "rate(240 minutes)" ^ --output-location "{ \"S3Location\": { \"OutputS3Region\": \"us-east-2\", \"OutputS3BucketName\": \"DOC-EXAMPLE-BUCKET\", \"OutputS3KeyPrefix\": \"Test\" } }" ^ --parameters "networkConfig=Enabled,windowsUpdates=Enabled,applications=Enabled"

    Vous pouvez également inventorier des fichiers et des clés de registre Windows sur un nœud Windows Server en utilisant les types d'inventaire files et windowsRegistry avec des expressions. Pour plus d'informations sur ces types d'inventaire, consultez Utilisation de l'inventaire de fichiers et du registre Windows.

    Linux & macOS
    aws ssm create-association \ --name "AWS-GatherSoftwareInventory" \ --targets "Key=instanceids,Values=i-0704358e3a3da9eb1" \ --schedule-expression "rate(240 minutes)" \ --parameters '{"files":["[{\"Path\": \"C:\\Program Files\", \"Pattern\": [\"*.exe\"], \"Recursive\": true}]"], "windowsRegistry": ["[{\"Path\":\"HKEY_LOCAL_MACHINE\\Software\\Amazon\", \"Recursive\":true}]"]}' \ --profile dev-pdx
    Windows
    aws ssm create-association ^ --name "AWS-GatherSoftwareInventory" ^ --targets "Key=instanceids,Values=i-0704358e3a3da9eb1" ^ --schedule-expression "rate(240 minutes)" ^ --parameters '{"files":["[{\"Path\": \"C:\\Program Files\", \"Pattern\": [\"*.exe\"], \"Recursive\": true}]"], "windowsRegistry": ["[{\"Path\":\"HKEY_LOCAL_MACHINE\\Software\\Amazon\", \"Recursive\":true}]"]}' ^ --profile dev-pdx
  3. Exécutez la commande suivante pour afficher le statut de l'association.

    aws ssm describe-instance-associations-status --instance-id an_instance_ID

    Le système répond en renvoyant des informations similaires à celles qui suivent.

    {
    "InstanceAssociationStatusInfos": [
             {
                "Status": "Pending",
                "DetailedStatus": "Associated",
                "Name": "reInvent2016PolicyDocumentTest",
                "InstanceId": "i-1a2b3c4d5e6f7g",
                "AssociationId": "1a2b3c4d5e6f7g-1a2b3c-1a2b3c-1a2b3c-1a2b3c4d5e6f7g",
                "DocumentVersion": "1"
            }
    ]
    }