メニュー
Amazon EC2 Systems Manager
ユーザーガイド

Systems Manager インベントリについて

Systems Manager インベントリを設定する際、収集するメタデータのタイプ、メタデータの収集元となるインスタンス、メタデータ収集のスケジュールを指定します。これらの設定は AWS アカウントに ステートマネージャー の関連付けとして保存されます。

注記

Inventory はメタデータのみを収集します。個人のデータや所有権のあるデータは一切収集しません。

以下の表では、設定するインベントリ収集のさまざまな側面について説明します。

設定 詳細

収集する情報のタイプ

インベントリがマネージドインスタンスから収集するメタデータのタイプを指定します。インベントリを設定して、次のメタデータのタイプを収集できます。

  • インスタンスの詳細: システム名、OS 名、OS バージョン、最終起動、DNS、ドメイン、ワークグループ、OS アーキテクチャなど。

  • ネットワーク設定の詳細: IP アドレス、MAC アドレス、DNS、ゲートウェイ、サブネットマスク。

  • アプリケーションの詳細: アプリケーション名、発行元、バージョン。

  • AWS コンポーネントの詳細: EC2 ドライバー、エージェント、バージョン。

  • Windows Server 更新履歴

  • カスタムインベントリの詳細。カスタムインベントリの詳細については、このセクションで後で説明します。

情報を収集するインスタンス

Amazon EC2 タグを使用して、インスタンスまたはインスタンスのターゲットグループを個別に選択できます。

情報を収集する間隔

収集間隔は、分、時間、日、週単位で指定できます。最短収集間隔は 30 分ごとです。

収集されるデータの量によっては、指定した出力にデータをレポートするのに数分かかることがあります。情報が収集されると、セキュアな HTTPS チャンネルを介して、AWS アカウントからのみアクセス可能なプレーンテキストの AWS ストアに、メタデータが送信されます。それらのデータは、指定した Amazon S3 バケットで表示したり、Amazon EC2 コンソールのマネージドインスタンスの [Inventory] タブで表示したりできます。[Inventory] タブには、データのクエリに役立ついくつかの定義済みフィルタがあります。

マネージドインスタンスのインベントリの収集を開始する方法については、「インベントリ収集の設定 1」を参照してください AWS CLI を使用してインベントリを収集する

カスタムインベントリの操作

カスタムインベントリを作成して、インスタンスに必要なあらゆるメタデータを割り当てることができます。たとえば、データセンターのラック内の多数のサーバーを管理しており、それらのサーバーは Systems Manager マネージドインスタンスとして設定されているとします。現在、サーバーラック位置に関する情報はスプレッドシートに保存しています。カスタムインベントリを使うと、各インスタンスのラック位置をインスタンスのメタデータとして指定できます。Systems Manager を使用してインベントリを収集すると、そのメタデータは他のインベントリメタデータとともに収集されます。その後、リソースデータの同期を使用してすべてのインベントリメタデータを中央 Amazon S3 バケットにポートし、データをクエリできます。

カスタムインベントリをインスタンスに割り当てるには、「カスタムインベントリメタデータをインスタンスに割り当てる」で説明されているように Systems Manager PutInventory API アクションを使用できます。または、カスタムインベントリ JSON ファイルを作成し、インスタンスにアップロードできます。このセクションでは、JSON ファイルを作成する方法について説明します。

Copy
{ "SchemaVersion": "1.0", "TypeName": "Custom:RackInformation", "Content": { "Location": "US-EAST-01.DC.RACK1", "InstalledTime": "2016-01-01T01:01:01Z", "vendor": "DELL", "Zone" : "BJS12", "TimeZone": "UTC-8" } }

また、次の例に示すように、ファイル内の複数の項目を指定できます。

Copy
{ "SchemaVersion": "1.0", "TypeName": "Custom:PuppetModuleInfo", "Content": [{ "Name": "puppetlabs/aws", "Version": "1.0" }, { "Name": "puppetlabs/dsc", "Version": "2.0" } ] }

カスタムインベントリ用の JSON スキーマには、SchemaVersion、TypeName、および Content というセクションが必要ですが、これらのセクションの情報を定義できます。

Copy
{ "SchemaVersion": "user_defined", "TypeName": "Custom:user_defined", "Content": { "user_defined_attribute1": "user_defined_value1", "user_defined_attribute2": "user_defined_value2", "user_defined_attribute3": "user_defined_value3", "user_defined_attribute4": "user_defined_value4" } }

TypeName は最大 100 文字に制限されています。また、TypeName セクションは Custom から始める必要があります。たとえば、Custom:PuppetModuleInfo となります。Custom および指定するデータは、両方とも大文字で始める必要があります。次の例は例外が発生します: 「CUSTOM:RackInformation」、「custom:rackinformation」。

Content セクションには、属性とデータを含めます。これらの項目は大文字と小文字は区別されません。ただし、属性 (例: Vendor": "DELL") を定義する場合、カスタムインベントリファイルで一貫してこの属性を参照する必要があります。あるファイルで "Vendor": "DELL" (ベンダーの「V」が大文字) と指定した場合、別のファイルで "vendor": "DELL" (ベンダーの「v」が小文字) と指定すると、システムはエラーを返します。

注記

.json 拡張子をつけてファイルを保存する必要があります。

ファイルを作成した後、インスタンスに保存する必要があります。以下の表は、カスタムインベントリの JSON ファイルをインスタンスのどの場所に保存する必要があるかを示します。

オペレーティングシステム パス

Windows

%SystemDrive%\ProgramData\Amazon\SSM\InstanceData\<instance-id>\inventory\custom

Linux

/var/lib/amazon/ssm/<instance-id>/inventory/custom

関連 AWS サービス

Systems Manager インベントリでは、最新のインベントリのスナップショットを取得できるため、ソフトウェアポリシーを管理し、フリート全体のセキュリティポスチャを向上させるのに役立ちます。以下の AWS のサービスを使用して、インベントリ管理と移行機能を拡張できます。

  • AWS Config では、インベントリの変更履歴を取得できるほか、設定アイテムが変更されたときに通知を生成するルールを作成することもできます。詳細については、AWS Config Developer Guide の「Amazon EC2 マネージドインスタンスインベントリの記録」を参照してください。

  • AWS Application Discovery Service は、オンプレミス VM から OS タイプ、アプリケーションインベントリ、プロセス、接続、サーバーパフォーマンスメトリクスに関するインベントリを収集して、AWS への移行成功を支援するように設計されています。詳細については、Application Discovery Service User Guide を参照してください。