QuickSight を使用してすべてのアカウントの Systems Manager パッチおよびアソシエーションのコンプライアンスデータを管理・表示するにはどうすればよいですか?

所要時間3分
0

Amazon QuickSight を使用して AWS Systems Manager のコンプライアンスデータを管理・表示したいと考えています。

解決策

Amazon QuickSight を使用すると、Systems Manager のインベントリデータをクエリ、分析、視覚化できます。また、インタラクティブなダッシュボードを公開することもできます。Amazon QuickSight を Amazon Athena テーブルデータセットと併用すると、コンプライアンス情報を表示するためのダッシュボードとウィジェットを作成できます。

前提条件を確認する

アカウントで [Systems Manager インベントリ] と [リソースデータの同期] を設定します。この設定により、次のことが可能になります。

  • Systems Manager がインベントリ情報を収集します。
  • [リソースデータの同期] により、インベントリが Amazon Simple Storage Service (Amazon S3) バケットに同期されます。

マルチアカウントのマルチリージョンのユースケース向けにこの設定を作成することで、データを中央の S3 バケットに同期できます。Amazon Athena 統合でリソースデータの同期を使用すると、すべてのマネージドノードのインベントリデータをインベントリデータの [詳細ビュー] ページに表示できます。詳細については、「複数のリージョンとアカウントからのインベントリデータをクエリする」を参照してください。

[Systems Manager インベントリ]、[リソースデータの同期]、および Athena アクセス設定値を設定したら、QuickSight アカウントの設定に進むことができます。

QuickSight アカウントをセットアップする

Amazon QuickSight アカウントをお持ちでない場合は、該当する QuickSight アクセス許可を付与された AWS Identity and Access Management (IAM) ユーザーまたはロールを使用して AWS マネジメントコンソールにログインします。Amazon QuickSight にアクセスして、新しいアカウントを作成します。

  1. [エンタープライズ版] または [エンタープライズ版 + Q] を選択します。
    - または -
    下にスクロールして、[スタンダード版にサインアップ] を選択します。
  2. 該当する IAM ID を選択します。
  3. [QuickSight の AWS のサービスへのアクセス] で、[Amazon Athena][Amazon S3] を選択します。
  4. [Amazon S3 バケットを選択] で、インベントリデータが保存されているターゲット S3 バケットを選択します。選択した S3 バケットに対して [Athena ワークグループの書き込みアクセス許可] を選択して、Athena ワークグループへの書き込みアクセス許可を付与します。
  5. [完了] を選択します。

QuickSight アカウントをお持ちの場合は、QuickSight プロファイルで次の操作を行います。

  1. ユーザープロファイルを選択し、[QuickSight の管理] を選択します。
  2. [セキュリティとアクセス許可] を選択します。
  3. QuickSight の AWS のサービスへのアクセス][追加] または [削除] を選択します。
  4. Athena と S3 のアクセス権限を許可するには、前のセクションのステップ 2 と 3 を実行してください。

QuickSight でデータセットを作成する

QuickSight では、Athena テーブルをソースとして使用してデータセットを作成できます。AWS Glue クローラーは S3 バケット内のインベントリデータをクロールし、AWS Glue データカタログのテーブルを更新します。その後、これらのテーブルは AWS Glue クローラーによって Athena で利用可能とされます。各インベントリメタデータには、AWS Glue によって作成された対応する Athena テーブルがあります。データセットを作成してデータを分析するには、aws_compliancesummary テーブルと aws_complianceitem テーブルを使用します。

  1. QuickSight の開始ページで、ナビゲーションペインから [データセット] を選択して、[新しいデータセット] を選択します。
  2. [データセットを作成] で、データソースとして [Athena] を選択します。
  3. データソース名を入力します。
  4. [データソースを作成] を選択します。
  5. データベースのドロップダウンリストから、インベントリデータを含む S3 バケットを選択します。
    データベース名の形式は次のとおりです: S3_bucket_name-<region>-database
  6. テーブルのリストから aws_compliancesummary を選択し、[選択] を選択します。
  7. [データクエリを直接実行] を選択します。
  8. [データの編集/プレビュー] を選択します。
  9. [保存して公開] を選択します。

直前の手順を使用して、aws_complianceitem テーブルに関する別のデータセットを作成します。

データセットを分析する

データを視覚化して分析するには、QuickSight 分析を使用します。データ分析に aws_compliancesummary および aws_complianceitem データセットを使用する場合、以下を実行します。

  1. Amazon QuickSight の開始ページで [新しい分析] を選択します。
  2. [データセット] ページで [aws_compliancesummary] データセットを選択し、次に [分析で使用] を選択します。
  3. 同じ分析に複数のデータセットを追加するには、[データセット] の横にある**[編集]** (鉛筆アイコン) を選択します。
  4. 表示されるポップアップページで、[データセットを追加] を選択し、リストから [aws_complianceitem] を選択します。[選択] を選択します。
    これら 2 つのデータセットが、データセットのドロップダウンリストに分析対象として表示されます。

注: 同じ分析に他の複数のデータセットを追加してビジュアルを作成することもできます。

ビジュアルを追加する

注: ビジュアルを追加する手順は一例です。これらはグラフであり、ユースケースや要件に応じて作成できます。

Amazon QuickSight データセットをソースとした QuickSight 分析には、ビジュアルを追加できます。このデータセットに含まれる Athena のテーブルには、Systems Manager インベントリデータとコンプライアンス情報が含まれています。

aws_compliancesummary データセットに関するビジュアル

aws_compliancesummary データセットに関するビジュアルを追加するには、「Amazon QuickSight 分析へのビジュアルの追加」に記載されている手順を実行します。

また、パッチコンプライアンスやアソシエーションの準拠などのコンプライアンスタイプを基準にしてデータをフィルタリングするフィルタを追加することもできます。

  1. 左側のナビゲーションペインから [フィルタ] を選択します。
  2. [フィルタの追加] を選択し、次に [コンプライアンスタイプ] を選択します。
  3. 値のリストで [パッチ] を選択することで、パッチコンプライアンスのみを表示させます。
  4. [適用先] ドロップダウンで、適用可能なすべてのビジュアルを選択します。
  5. [適用] を選択します。

パッチコンプライアンスステータスに一致するリソースの数を確認するには、以下の手順を実行します。

  1. [ビジュアルタイプ][ドーナツグラフ] を選択します。
  2. [フィールドリスト] から [ステータス] を選択し、それを [グループ/色] ディメンションに追加します。
  3. Resourceid[値] の下にドラッグアンドドロップします。
  4. 異なる値の数をカウントするには、[resourceid] の横にある矢印を選択します。
  5. 次のフィールドを選択します: [Aggregate: Count]。次に、[個別の値をカウント] を選択します。
  6. グラフを選択します。次に、[ビジュアルのフォーマット] アイコン (鉛筆アイコン) を選択します。
  7. [データラベル] で [メトリクスを表示] を選択します。
    グラフに実際の値とパーセンテージが表示されます。

準拠インスタンスをリージョン別に表示するには、以下を実行します。

  1. 前述のビジュアルを選択してから、グラフ上の 3 つの点を選択します。
  2. [ビジュアルの複製] を選択します。
  3. [フィールドウェル][グループ/色] ディメンションのドロップダウンで、[リージョン] を選択します。
  4. [フィルタ]、[フィルタの追加][ステータス][準拠] の順に選択します。
  5. [適用] を選択します。
    リージョン別の準拠インスタンスのグラフが表示されます。

リージョン別に非準拠インスタンスを表示する場合は、以下を実行します。

  1. 直前のビジュアルのグラフから 3 つの点を選択します。
  2. [ビジュアルの複製] を選択します。
  3. [フィルタ] を選択します。[ステータス] フィルタを選択し、[NON_COMPLIANT] を選択します。
  4. [適用] を選択します。
    リージョン別の非準拠インスタンスのグラフが表示されます。

マルチアカウント設定内の全アカウントのアカウント情報を表示するには、前述のビジュアルを使用します。[フィールドウェル][グループ/色] ディメンションで、[Accountid] を選択します。アカウント ID 別のグラフが表示されます。

aws_complianceItem データセットに対するビジュアル

aws_complianceitem データセットに関するビジュアルを追加するには、「ビジュアルを追加する」に記載されている手順を実行します。

また、パッチコンプライアンスやアソシエーションの準拠などのコンプライアンスタイプを基準にしてデータをフィルタリングするフィルタを追加することもできます。それを行うには、直前のセクション内の対応する手順を使用します。

未適用のパッチのリストをインスタンス別に表示するには、以下を実行します。

  1. [ビジュアルタイプ] で、[ピボットテーブル] を選択します。
  2. [行][リージョン][resourceid][patchstate][ID][タイトル] を、[値][ID] を追加します。
  3. 異なる値の数をカウントするには、まず、ID の横にある矢印を選択します。
  4. 次のフィールドを選択します: [Aggregate: Count]。次に、[個別の値をカウント] を選択します。
  5. [フィルタ] を選択します。[フィルタの追加][Patchstate][見つかりません。] の順に選択します。
  6. [適用] を選択します。

コンプライアンスステータス別にインスタンスのリストを表示するには、以下を実行します。

  1. aws_complianceitem データセットを選択します。
  2. [追加] を選択し、[ビジュアルを追加] を選択します。
  3. [ビジュアルタイプ] で、[ピボットテーブル] を選択します。
  4. [行] で [リージョン]、[resourceid]、[patchstate]、[ID]、[タイトル] を、[値] で [ID] を追加します。
  5. 異なる値の数をカウントするには、まず、ID の横にある矢印を選択します。
  6. 次のフィールドを選択します: [Aggregate: Count]。次に、[個別の値をカウント] を選択します。

すべてのアカウントに関する情報を表示するには、前述のビジュアルで、[行] の最初のフィールドとして [accountid] を追加します。これにより、アカウント ID を基準としてピボットテーブルがフィルタリングされます。

ダッシュボードを公開する

ダッシュボードとして作成されたすべてのビジュアルを公開し、他のユーザーと共有できます。

  1. すべてのビジュアルを追加したら、[テーマ] をクリックし、適切なテーマを選択します。
  2. ページの右上にある [共有] を選択します。
  3. [ダッシュボードの公開] を選択します。
  4. ダッシュボードの名前を入力し、[ダッシュボードの公開] を選択します。

考慮事項

  • AWS Glue クローラーは、デフォルトで中央の S3 バケットのインベントリデータを毎日 2 回クロールします。そのため、データはこのスケジュールに基づいて更新されます。更新の頻度を要件に応じて変更するには、AWS Glue クローラーのスケジュールを編集します
  • QuickSight で複数の Athena テーブルを結合した結合データセットを作成することで、統合データセットを作成できます。このシナリオのユースケースは、aws_compliancesummary テーブルと aws_instanceinformation テーブルを結合したデータセットを作成して、プラットフォーム (Linux/Windows) に合うようにデータを視覚化することです。プラットフォーム情報は aws_instanceinformation テーブルにのみキャプチャされます。また、この情報を使用して、終了したインスタンスのデータをフィルタで除外することもできます。このデータは Systems Manager インベントリに 30 日間保存されます。詳細については、「データを結合する」を参照してください。
AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ