Verwenden von AWS CLI , um die Inventardatenerfassung zu konfigurieren - AWS Systems Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von AWS CLI , um die Inventardatenerfassung zu konfigurieren

Die folgenden Verfahren führen Sie durch die Schritte zur Konfiguration von AWS Systems Manager Inventory für das Erfassen von Metadaten aus Ihren verwalteten Knoten. Wenn Sie die Erfassung durch Inventory konfigurieren, erstellen Sie zuerst eine Systems Manager State Manager-Zuordnung. Systems Manager erfasst die Bestandsdaten, wenn der Zuordnungsstatus ausgeführt wird. Wenn Sie den Zuordnungsstatus nicht zuerst erstellen und versuchen, das aws:softwareInventory-Plug-In z. B. mit Systems Manager Run Command aufzurufen, gibt das System den folgenden Fehler aus:

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

Anmerkung

Pro Knoten kann nur jeweils eine Bestandszuordnungs konfiguriert werden. Wenn Sie einen Knoten mit zwei oder mehr Bestandszuordnungen konfigurieren, wird die Zuordnung nicht ausgeführt und es werden keine Bestandsdaten erfasst.

Konfigurieren Sie schnell alle Ihre verwalteten Knoten für Inventar (CLI)

Sie können schnell alle verwalteten Knoten in Ihrer AWS-Konto und in der aktuellen Region konfigurieren, um Inventardaten zu sammeln. Dieser Vorgang wird als „Erstellen einer globalen Bestandszuordnung“ bezeichnet. Um mithilfe von eine globale Inventarzuordnung zu erstellen AWS CLI, verwenden Sie die Platzhalteroption für den instanceIds Wert, wie im folgenden Verfahren gezeigt.

Um das Inventar für alle verwalteten Knoten in Ihrer AWS-Konto und in der aktuellen Region zu konfigurieren () CLI
  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Führen Sie den folgenden Befehl aus.

    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
Anmerkung

Mit diesem Befehl kann Inventory keine Metadaten für die Windows-Registrierung oder Dateien sammeln. Um diese Datentypen in den Bestand aufzunehmen, fahren Sie mit dem nächsten Schritt fort.

Manuelles Konfigurieren des Inventars auf Ihren verwalteten Knoten (CLI)

Gehen Sie wie folgt vor, um AWS Systems Manager Inventar auf Ihren verwalteten Knoten mithilfe von Knoten IDs oder Tags manuell zu konfigurieren.

So konfigurieren Sie Ihre verwalteten Knoten manuell für das Inventar (CLI)
  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Führen Sie den folgenden Befehl aus, um eine State Manager-Zuordnung zu erstellen, die Systems Manager Inventory auf dem Knoten ausführt. Ersetze jedes example resource placeholder mit Ihren eigenen Informationen. Mit diesem Befehl wird der Service so konfiguriert, dass er alle sechs Stunden ausgeführt wird und Metadaten über Netzwerkkonfigurationen, Windows Update und Anwendungen aus einem Knoten erfasst.

    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\": \"amzn-s3-demo-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\": \"amzn-s3-demo-bucket\", \"OutputS3KeyPrefix\": \"Test\" } }" ^ --parameters "networkConfig=Enabled,windowsUpdates=Enabled,applications=Enabled"

    Das System gibt die folgenden Informationen zurück.

    {
        "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"
                }
            ]
        }
    }

    Sie können große Gruppen von Knoten ansprechen, indem Sie den Targets Parameter mit EC2 Tags verwenden. Sehen Sie sich das folgende -Beispiel an.

    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\": \"amzn-s3-demo-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\": \"amzn-s3-demo-bucket\", \"OutputS3KeyPrefix\": \"Test\" } }" ^ --parameters "networkConfig=Enabled,windowsUpdates=Enabled,applications=Enabled"

    Sie können auch Dateien und Windows-Registry-Schlüssel auf einem Windows Server-Knoten inventarisieren, indem Sie die Bestandstypen files und windowsRegistry mit Ausdrücken verwenden. Weitere Informationen zu diesen Bestandstypen finden Sie unter Arbeiten mit Datei- und Windows-Registrierungsbestand.

    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. Führen Sie den folgenden Befehl aus, um den Zuordnungsstatus anzuzeigen.

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

    Das System gibt die folgenden Informationen zurück.

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