インベントリ収集の設定 - AWS Systems Manager

インベントリ収集の設定

このセクションでは、Systems Manager コンソールを使用して、1 つ以上のマネージドノードで AWS Systems Manager インベントリ収集を設定する方法を説明します。AWS Command Line Interface (AWS CLI) を使用してインベントリ収集を設定する方法の例については、「Systems Manager Inventory のチュートリアル」を参照してください。

インベントリ収集の設定を開始するには、AWS Systems Manager State Manager の関連付けを作成します。関連付けが実行されると、Systems Manager はインベントリデータを収集します。最初に関連付けを作成せずに、AWS Systems Manager Run Command などを使用して aws:softwareInventory プラグインを呼び出そうとすると、システムは次のエラーを返します: The aws:softwareInventory plugin can only be invoked via ssm-associate.

注記

マネージドノードに対して複数のインベントリの関連付けを作成する場合は、次の動作に注意してください。

  • 各ノードには、すべてのノードをターゲットとするインベントリの関連付けを割り当てることができます (--targets "Key=InstanceIds,Values=*")。

  • 各ノードには、タグキーと値のペアまたは AWS リソースグループを使用する特定の関連付けを割り当てることもできます。

  • ノードに複数のインベントリの関連付けが割り当てられている場合、実行されていない関連付けのステータスは [Skipped] (スキップしました) と表示されます。最後に実行された関連付けには、インベントリの関連付けの実際のステータスが表示されます。

  • ノードに複数のインベントリの関連付けが割り当てられ、それぞれにタグのキーと値のペアが使用されている場合、タグの競合により、これらのインベントリの関連付けはノードで実行できません。関連付けは、タグのキーと値の競合がないノードで実行されます。

開始する前に

インベントリ収集を設定する前に、以下のタスクを完了します。

  • インベントリするノードで AWS Systems Manager SSM Agent を更新します。最新バージョンの SSM Agent を実行することで、すべてのサポートされるインベントリタイプのメタデータを収集することを確保できます。State Manager を使用して SSM Agent を更新する方法については、「チュートリアル: SSM Agent を自動的に更新する (CLI)」を参照してください。

  • ノードが Systems Manager の前提条件を満たしていることを確認します。詳細については、「Systems Manager の前提条件」を参照してください。

  • Microsoft Windows ノードの場合は、マネージドノードが Windows PowerShell 3.0 (またはそれ以降) で構成されていることを確認します。SSM Agentは、PowerShell で ConvertTo-Json cmdlet を使用して、Windows 更新プログラムのインベントリデータを必要な形式に変換します。

  • (オプション) リソースデータの同期を作成して、Amazon S3 バケットにインベントリデータを一元的に格納します。その後、リソースデータの同期により、新しいインベントリデータが収集されると一元化されたデータが自動的に更新されます。詳細については、「」を参照してくださいインベントリのリソースデータの同期の設定

  • (オプション) カスタムインベントリを収集するための JSON ファイルを作成します。詳細については、「カスタムインベントリの操作」を参照してください。

AWS アカウント のすべてのマネージドイノードインベントリする

グローバルなインベントリの関連付けを作成することで、AWS アカウント のすべてのマネージドノードをインベントリできます。グローバルなインベントリの関連付けでは、以下のアクションを実行します。

  • AWS アカウント 内のすべての既存のマネージドノードに、グローバルインベントリ設定 (関連付け) を自動的に適用します。インベントリの関連付けが既に存在するマネージドノードは、グローバルなインベントリの関連付けが適用されて実行されると、スキップされます。ノードがスキップされると、詳細なステータスメッセージとして Overridden By Explicit Inventory Association と表示されます。これらのノードは、グローバルな関連付けではスキップされても、割り当てられたインベントリの関連付けを実行したときに、依然としてインベントリを報告します。

  • AWS アカウント で作成された新しいノードをグローバルなインベントリの関連付けに自動的に追加します。

注記
  • グローバルなインベントリの関連付けが設定されているマネージドノードに特定の関連付けを割り当てると、Systems Manager Inventory はグローバルな関連付けの優先順位付けを解除して、特定の関連付けを適用します。

  • グローバルなインベントリの関連付けは、SSM Agent バージョン 2.0.790.0 以降で使用できます。ノードで SSM Agent を更新する方法については、「Run Command を使用して SSM Agent を更新する」を参照してください。

1-Click を使用したインベントリ収集の設定 (コンソール)

次の手順を使用して、AWS アカウント および単一の AWS リージョン 内のすべてのマネージドノードについて、Systems Manager Inventory を設定します。

現在のリージョン内のすべてのマネージドノードを Systems Manager インベントリ用に設定するには

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[インベントリ] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、[インベントリ] を選択します。

  3. [Managed instances with inventory enabled (インベントリが有効化されているマネージドインスタンス)] カードで、[Click here to enable inventory on all instances (すべてのインスタンスでインベントリを有効にするにはここをクリック)] を選択します。

    
                                現在の AWS アカウント および AWS リージョン 内のすべてのマネージドノードで Systems Manager Inventory を有効にします。

    成功した場合、コンソールに次のメッセージが表示されます。

    
                                現在の AWS アカウント および AWS リージョン 内のすべてのマネージドノードで Systems Manager Inventory を有効にします。

    アカウント内のマネージドノードの数によっては、グローバルインベントリの関連付けが適用されるまでに数分かかる場合があります。数分間待ってから、ページを更新します。グラフィックが変化して、インベントリがすべてのマネージドノードで設定されたことが反映されることを確認します。

コンソールを使用した収集の設定

このセクションでは、Systems Manager コンソールを使用して、マネージドノードからメタデータを収集するために Systems Manager Inventory を設定する方法について説明します。特定の AWS アカウント にあるすべてのノード (およびそのアカウントで作成される可能性のある将来のノード) から迅速にメタデータを収集できます。またはタグまたはノード ID を使用してインベントリデータを選択して収集できます。

インベントリ収集を設定するには

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[インベントリ] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き[Inventory (インベントリ)] を選択します。

  3. [Setup Inventory] を選択します。

  4. [Targets] (ターゲット) セクションで、以下のいずれかを選択して、このオペレーションを実行するノードを指定します。

    • Selecting all managed instances in this account (このアカウントのすべてのマネージドインスタンスを選択) - このオプションでは、既存のインベントリの関連付けがないすべてのマネージドノードを選択します。このオプションを選択すると、インスタンスの関連付けが既に存在するノードはインベントリ収集時にスキップされ、インベントリ結果にステータスとして [Skipped] (スキップ) と表示されます。詳細については、「AWS アカウント のすべてのマネージドイノードインベントリする」を参照してください。

    • タグの指定 – このオプションを使用すると、インベントリを収集するアカウント内のノードを識別するために 1 つのタグを指定できます。タグを使用すると、以後同じタグで作成されたすべてのノードからインベントリが報告されます。すべてのノードに既存のインベントリの関連付けがある場合、タグを使用して別のインベントリのターゲットとして特定のノードを選択すると、[All managed instances] (すべてのマネージドインスタンス) ターゲットグループのノードメンバーシップが上書きされます。指定したタグのマネージドノードは、[All managed instances] (すべてのマネージドインスタンス) からのインベントリ収集でスキップされます。

    • インスタンスの手動選択 – このオプションを使用すると、アカウントの特定のマネージドノードを選択できます。このオプションを使用して特定のノードを明示的に選択すると、[All managed instances] (すべてのマネージドインスタンス) のインベントリの関連付けが上書きされます。ノードは、[All managed instances] (すべてのマネージドインスタンス) からのインベントリ収集でスキップされます。

      注記

      表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「マネージドノードの可用性のトラブルシューティング」を参照してください。

  5. [Schedule] (スケジュール) セクションで、ノードからインベントリメタデータを収集する頻度を選択します。

  6. [ Parameters] セクションで、リストを使用してさまざまなタイプのインベントリ収集を有効または無効にします。[ファイル] または [Windows レジストリ] でインベントリ検索を作成する場合には、次のサンプルを参照してください。

    ファイル

    • Linux および macOS では、すべてのサブディレクトリを除く、/home/ec2-user ディレクトリの .sh ファイルのメタデータを収集します。

      [{"Path":"/home/ec2-user","Pattern":["*.sh", "*.sh"],"Recursive":false}]
    • Windows では、サブディレクトリを再帰的に含む、プログラムファイルフォルダのすべての「.exe」ファイルのメタデータを収集します。

      [{"Path":"C:\Program Files","Pattern":["*.exe"],"Recursive":true}]
    • Windows では、特定のログパターンのメタデータを収集します。

      [{"Path":"C:\ProgramData\Amazon","Pattern":["*amazon*.log"],"Recursive":true}]
    • 再帰的収集を実行する場合には、ディレクトリの数を制限します。

      [{"Path":"C:\Users","Pattern":["*.ps1"],"Recursive":true, "DirScanLimit": 1000}]

    Windows レジストリ

    • 指定したパスのすべてのキーと値を再帰的に収集します。

      [{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon","Recursive": true}]
    • 指定したパスのすべてのキーと値を収集します (再帰的検索無効)。

      [{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Intel\PSIS\PSIS_DECODER", "Recursive": false}]
    • ValueNames オプションを使用して、指定するキーを収集します。

      {"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\MachineImage","ValueNames":["AMIName"]}

    ファイルと Windows レジストリインベントリの収集についての詳細は、「ファイルと Windows レジストリインベントリで作業する」を参照してください。

  7. 関連付けの実行ステータスを Amazon S3 バケットに保存する場合は、[詳細] セクションで [Sync inventory execution logs to an Amazon S3 bucket (Amazon S3 バケットにインベントリ実行ログを同期する)] を選択します。

  8. [Setup Inventory] を選択します。Systems Manager は、State Manager の関連付けを作成し、ノードで Inventory を直ちに実行します。

  9. ナビゲーションペインで、[State Manager] を選択します。AWS-GatherSoftwareInventory ドキュメントを使用する新しい関連付けが作成されたことを確認します。関連付けスケジュールでは、レート式が使用されます。また、[Status] フィールドに [Success] と表示されていることを確認します。オプションとして [インベントリ実行ログを Amazon S3 バケットに同期する] を選択すると、数分後にログデータが Amazon S3 に表示されます。特定のノードのインベントリデータを表示するには、ナビゲーションペインで [Managed Instances] (マネージドインスタンス) を選択します。

  10. ノードを選択し、[View details] (詳細を表示) を選択します。

  11. ノードの詳細ページで [Inventory] (インベントリ) を選択します。[Inventory type] のリストを使用してインベントリをフィルタします。