複数のリージョンとアカウントからのインベントリデータをクエリする
AWS Systems Manager インベントリは Amazon Athena と統合され、複数の AWS リージョン および AWS アカウント からのインベントリデータをクエリするのに役立ちます。Athena 統合では、リソースデータ同期が使用されるため、AWS Systems Manager コンソールの [Detailed View] (詳細ビュー) ページで、すべてのマネージドノードのインベントリデータを表示できます。
重要
この機能は、AWS Glue を使用して Amazon Simple Storage Service (Amazon S3) バケット内のデータをクロールし、Amazon Athena を使用してデータをクエリします。クロールおよびクエリされたデータ量に応じて、これらのサービスの使用に対して課金されます。AWS Glue を使用すると、クローラ (データの検出) と ETL ジョブ (データの処理とロード) に対して時間あたりの料金が秒単位で課金されます。Athena を使用すると、各クエリでスキャンされるデータ量に基づいて課金されます。Amazon Athena と Systems Manager Inventory の統合を使用する前に、これらのサービスの料金ガイドラインを確認することをお勧めします。詳細については、「Amazon Athena の料金
Amazon Athena を利用できるすべての AWS リージョン の [Detail View (詳細ビュー)] ページでインベントリデータを表示できます。サポートされているリージョンのリストについては、「Amazon Web Services 全般のリファレンス」の「Amazon Athena サービスエンドポイント」を参照してください。
開始する前に
Athena 統合は、リソースデータ同期を使用します。この機能を使用するには、リソースデータ同期をセットアップし、設定する必要があります。詳細については、「インベントリのリソースデータの同期の設定」を参照してください。
また、[Detail View (詳細ビュー)] ページには、リソースデータ同期によって使用される中央 Amazon S3 バケットの所有者のインベントリデータが表示されることに注意してください。中央 Amazon S3 バケットの所有者でない場合は、Detail View (詳細ビュー) ページにインベントリデータは表示されません。
アクセス設定
Systems Manager コンソールの [詳細ビュー] ページで複数のアカウントおよびリージョンからのデータをクエリおよび表示するには、データを表示するアクセス許可を持つよう IAM エンティティを設定する必要があります。
オプションで、AWS Key Management Service (AWS KMS) 暗号化を使用する Amazon S3 バケットにインベントリデータが保存されている場合は、AWS KMS の暗号化が可能になるように IAM エンティティと Amazon-GlueServiceRoleForSSM
サービスロールを設定する必要があります。
[詳細ビュー] ページにアクセスできるよう IAM ユーザーアカウントを設定
以下に、[詳細表示] ページでインベントリデータを表示するために必要な最低限の権限について説明します。
AWSQuicksightAthenaAccess
マネージドポリシー
以下の PassRole
およびその他の必要なアクセス許可ブロック
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGlue", "Effect": "Allow", "Action": [ "glue:GetCrawler", "glue:GetCrawlers", "glue:GetTables", "glue:StartCrawler", "glue:CreateCrawler" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "glue.amazonaws.com" } } }, { "Sid": "iamRoleCreation", "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:iam::
account_ID
:role/*" }, { "Sid": "iamPolicyCreation", "Effect": "Allow", "Action": "iam:CreatePolicy", "Resource": "arn:aws:iam::account_ID
:policy/*" } ] }
(オプション) インベントリデータの保存に使用される Amazon S3 バケットが AWS KMS を使用して暗号化されている場合は、以下のブロックもポリシーに追加する必要があります。
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:
Region
:account_ID
:key/key_ARN
" ] }
アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
-
AWS IAM Identity Center のユーザーとグループ:
アクセス許可セットを作成します。「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」の手順に従ってください。
-
IAM 内で、ID プロバイダーによって管理されているユーザー:
ID フェデレーションのロールを作成します。詳細については、「IAM ユーザーガイド」の「サードパーティー ID プロバイダー (フェデレーション) 用のロールの作成」を参照してください。
-
IAM ユーザー:
-
ユーザーが担当できるロールを作成します。手順については、「IAM ユーザーガイド」の「IAM ユーザー用ロールの作成」を参照してください。
-
(お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加する。詳細については、「IAM ユーザーガイド」の「ユーザー (コンソール) へのアクセス権限の追加」を参照してください。
-
(オプション)AWS KMS 暗号化データを表示できるようアクセス許可を設定する
インベントリデータの保存に使用される Amazon S3 バケットが AWS Key Management Service (AWS KMS) で暗号化されている場合は、AWS KMS キーの kms:Decrypt
アクセス許可で IAM エンティティと [Amazon-GlueServiceRoleForSSM] ロールを設定する必要があります。
開始する前に
AWS KMS キーに kms:Decrypt
アクセス許可を与えるには、以下のポリシーブロックを IAM エンティティに追加します。
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:
Region
:account_ID
:key/key_ARN
" ] }
まだ手順を完了していない場合は、手順に従い、AWS KMS キーの kms:Decrypt
アクセス許可を追加してください。
以下の手順に従って、AWS KMS キーの kms:Decrypt
アクセス許可で Amazon-GlueServiceRoleForSSM ロールを設定します。
Amazon-GlueServiceRoleForSSM ロールを kms:Decrypt
アクセス許可で設定するには
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、[Roles (ロール)] を選択します。検索フィールドを使用して Amazon-GlueServiceRoleForSSM ロールを見つけます。概要 ページが開きます。
-
検索フィールドを使用して、Amazon-GlueServiceRoleForSSM ロールを見つけます。ロール名 を選択します。概要 ページが開きます。
-
ロール名 を選択します。概要 ページが開きます。
-
[Add inline policy] (インラインポリシーの追加) を選択します。[Create policy (ポリシーの作成)] ページが開きます。
-
[JSON] タブを選択します。
-
エディタで既存の JSON テキストを削除し、以下のポリシーを JSON エディタにコピーして貼り付けます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:
Region
:account_ID
:key/key_ARN
" ] } ] } -
[Review policy] (ポリシーの確認) を選択します。
-
[Review Policy (ポリシーの確認)] ページで、[Name (名前)] フィールドに名前を入力します。
-
[Create policy] を選択します。
インベントリの [Detailed View (詳細ビュー)] ページでのデータの照会
Systems Manager Inventory の [Detailed View (詳細ビュー)] ページで複数の AWS リージョン と AWS アカウント のインベントリデータを表示するには、次の手順を使用します。
重要
Inventory の [Detailed View (詳細ビュー)] ページは、Amazon Athena を提供する AWS リージョン でのみ利用できます。以下のタブが [Systems Manager Inventory] ページに表示されない場合は、Athena はリージョンで利用できず、データのクエリに [Detailed View (詳細ビュー)] を使用できないことを意味します。
![インベントリダッシュボードの表示 | 詳細表示 | タブの設定](images/inventory-detailed-view-for-error.png)
AWS Systems Manager コンソールで複数のリージョンとアカウントのインベントリデータを表示するには
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 ナビゲーションペインで、[インベントリ] を選択します。
-
[Detailed View (詳細ビュー)] タブを選択します。
-
データをクエリするリソースデータ同期を選択します。
-
[Inventory Type (インベントリタイプ)] リストで、クエリするインベントリデータのタイプを選択して、Enter キーを押します。
-
データをフィルタリングするには、フィルタバーを選択し、フィルタオプションを選択します。
[Export to CSV (CSV へエクスポート)] ボタンを使用して、Microsoft Excel などのスプレッドシートアプリケーションで現在のクエリセットを表示できます。また、[Query History (クエリ履歴)] および [Run Advanced Queries (高度なクエリの実行)] ボタンを使用して、履歴の詳細を表示したり、Amazon Athena でデータと通信したりすることができます。
AWS Glue クローラスケジュールの編集
AWS Glue は、デフォルトで毎日 2 回、中央 Amazon S3 バケットのインベントリデータをクロールします。ノードで収集するデータのタイプを頻繁に変更する場合は、次の手順で説明するように、より頻繁にデータをクロールすることをお勧めします。
重要
AWS Glue は、クローラ (データの検出) と ETL ジョブ (データの処理とロード) に対して時間あたりの料金が秒単位で AWS アカウント に課金されます。クローラスケジュールを変更する前に、「AWS Glue 料金表
インベントリデータクローラのスケジュールを変更するには
https://console.aws.amazon.com/glue/
で AWS Glue コンソール を開きます。 -
ナビゲーションペインで、[Crawlers (クローラ)] を選択します。
-
クローラリストで、Systems Manager Inventory データクローラの横にあるオプションを選択します。クローラ名は、次の形式を使用します。
AWSSystemsManager-amzn-s3-demo-bucket-
Region
-account_ID
-
[Actions (アクション)] を選択して、[Edit crawler (クローラの編集)] を選択します。
-
ナビゲーションペインで、[Schedule (スケジュール)] を選択します。
-
[Cron expression (Cron 式)] フィールドで、cron 形式を使用して新しいスケジュールを指定します。cron 形式の詳細については、AWS Glue デベロッパーガイドの「ジョブとクローラの時間ベースのスケジュール」を参照してください。
重要
クローラを一時停止して、 に対する料金の発生を停止できますAWS Glue クローラを一時停止した場合、またはデータのクロールの頻度が低くなるように頻度を変更した場合は、インベントリの [Detailed View (詳細ビュー)] に、最新ではないデータが表示されることがあります。