Amazon Web Services ブログ

Amazon Quick を使用したエンタープライズ向けパッチ適用・インベントリダッシュボードの構築

このブログは AWS のスペシャリストソリューションアーキテクト Suhail Fouzan、ソリューションアーキテクト Eswar Sesha Sai Kamineni、シニアテクニカルアカウントマネージャー Rizwan Mohammed によって執筆された内容を日本語化したものです。原文はこちらを参照して下さい。なお、本翻訳では原文公開後の名称変更を反映し、「Amazon Quick Suite」を現在の正式名称である「Amazon Quick」に統一しています。

今日の変化の激しい IT 環境において、インフラストラクチャ全体のパッチ適用コンプライアンスを監視・可視化することは極めて重要です。従来、Amazon QuickSight で包括的なパッチ適用ダッシュボードを作成するには、各ビジュアルコンポーネントに対して複数のステップを要する手動かつ時間のかかるプロセスが必要でした。

Amazon Quick は、データ分析と可視化の機能を強化する AI 搭載のアシスタントです。このブログでは、Amazon Quick が自然言語による対話を通じてダッシュボード作成を簡素化し、この体験をどのように変革するかを解説します。多段階の手動プロセスを数回の簡単なプロンプト操作に短縮し、パッチ適用コンプライアンスとインベントリに関する洞察に富んだ可視化を素早く生成する方法を紹介します。AI を活用した機能が、正確性を維持しながら貴重な時間を節約し、組織のパッチ適用状況に関するリアルタイムのインサイトを提供する動的なダッシュボードの作成にどのように役立つかをご覧ください。システム管理者、セキュリティアナリスト、IT マネージャーのいずれであっても、このガイドは Amazon Quick がパッチ適用コンプライアンスとインベントリの監視・レポート方法をどのように革新するかを説明します。

さらに、このソリューションはカスタムインベントリの可視化を通じて、インフラストラクチャの包括的な可視性を提供します。クラウドプロバイダー、AWS ドライバー、インスタンスタイプ全体にわたるコンピューティングリソースの分布を把握するためのグラフを作成できます。

ソリューションの概要

Amazon Quick を使用したエンタープライズ向けパッチ適用・インベントリダッシュボードのアーキテクチャ

図 1: アーキテクチャ図

このソリューションは、複数の AWS サービスを活用して Amazon Quick のデータセット作成を自動化し、自然言語クエリを使用してデータを可視化します。AWS Systems Manager(SSM)のアソシエーションを使用して、各ターゲットマネージドノードでカスタムスクリプトが実行され、必要なインベントリ情報を収集してカスタムインベントリパスに配置します。この情報は、SSM Inventory とリソースデータ同期によって Organization 内の各 AWS アカウントから収集され、中央の S3 バケットに保存されます。この S3 バケットは AWS Glue クローラーによってクロールされ、Glue データベースが作成されます。このデータベースのデータは、Amazon Quick が Amazon Athena 経由でクエリし、データセットの作成とデータの可視化を行います。

このソリューションは、AWS CloudFormation スタックを使用してデプロイされ、データストレージ用の Amazon S3 バケット、データカタログ用の AWS Glue データベースとクローラー、Systems Manager アソシエーション、リソースデータ同期、Amazon Quick のデータセットと分析ダッシュボードを管理するための AWS CloudFormation StackSet などのリソースを作成します。このソリューションは主に 2 つの自動スケジュールで動作します。Systems Manager アソシエーションは 7 日ごとにカスタムインベントリ収集を実行し、AWS Glue クローラーは 12 時間ごとに Amazon Athena データベースとのデータ同期を実行します。両方のスケジュール間隔は、組織固有の要件に合わせて変更できます。

SSM カスタムアソシエーションは、クラウドプロバイダーおよびオンプレミスシステム全体のすべてのマネージドノードからメタデータを収集し、以下のインフラストラクチャ情報を収集・提供します。

  • Cloud_provider – AWS やオンプレミスの VMware などのクラウドプロバイダー情報
  • Total_diskspace – プロビジョニングされたディスク容量の合計
  • Free_diskspace – 利用可能な空きディスク容量
  • Free_space_percent – 利用可能な空き容量の割合
  • Diskspace_status – 10% 未満の場合のディスク容量ステータス

さらに、インスタンスメタデータとカスタムスクリプトを使用して、EC2 マネージドノードに固有の以下の情報を収集します。

  • EC2_type – Xen や Nitro ベースのインスタンスなどの EC2 ハイパーバイザータイプ
  • Instance_type – オンデマンドやスポットなどの購入オプション
  • NVMe_version – インストールされている NVMe ドライバーのバージョン
  • ENA_version – インストールされている ENA ドライバーのバージョン
  • License_type – Windows ライセンス付属や BYOL などのインスタンスに関連付けられたライセンス情報

この情報は、各マネージドノードのカスタムインベントリパスに保存されます。SSM Inventory アソシエーションは、標準のインベントリメタデータとともにこのカスタムデータをキャプチャします。各アカウントのリソースデータ同期により、インベントリメタデータが中央の S3 バケットに同期されます。

前提条件

このウォークスルーを実施するには、以下が必要です。

ウォークスルー

AWS CloudFormation スタックを使用してソリューションをデプロイし、必要なリソースを作成します。CloudFormation スタックは、Organization 管理アカウントまたは StackSet の委任管理者アカウントからデプロイできます。中央の S3 バケット、Quick ダッシュボード、およびその他のリソースは、スタックをデプロイしたアカウントとリージョンに作成されます。

デプロイ後、Amazon Quick を使用したビジュアルの作成についての手順を説明します。

  1. GitHub リポジトリから CloudFormation テンプレートをダウンロードし、スタックをデプロイします。
  2. パラメータエリアで、以下のパラメータを入力します。
    1. SSM Resource Data Sync and Custom inventory configuration セクション:
      • Amazon S3 bucket: AWS Systems Manager リソースデータ同期に使用する Amazon S3 バケットの名前
      • Target type: カスタムインベントリアソシエーションのターゲットタイプ。すべてのインスタンスの場合は ALL、タグベースのターゲットの場合は TAG を指定し、次のパラメータにタグキーと値を入力します
      • Tag key for targeting instances: 対象インスタンスのタグキー
      • Tag value for targeting instances: 対象インスタンスのタグ値
    2. AWS Accounts Options セクション:
      • AWS Organization ID: AWS Organization ルート ID(r-xxx)または Organization Unit ID(ou-xxx)
      • AWS Account IDs: Organization または OU にデプロイする AWS アカウント ID のリスト(アカウントは指定した Org/OU のメンバーである必要があります)。Organization または OU 内のすべてのアカウントにデプロイする場合は空のままにします
      • AWS Account Regions: AWS リージョンのリスト

      Organization デプロイ用の CloudFormation テンプレートパラメータ図 2: AWS CloudFormation パラメータ – Organization デプロイ

      Organization を使用せずにアカウントにデプロイする場合:

      • AWS Organization ID: フィールドを空のままにします
      • AWS Account IDs: デプロイする AWS アカウント ID のリスト(アカウントはいずれの Organization にも属していない必要があります)
      • AWS Account Regions: AWS リージョンのリスト

      Organization に属さないアカウント用の CloudFormation パラメータ図 3: Organization に属さないアカウント用の AWS CloudFormation パラメータ

    3. Amazon Athena セクション:
      • Amazon Athena Database Name: AWS Systems Manager リソースデータ同期用の Amazon Athena データベース名
    4. Amazon Quick セクション:
      • Amazon Quick user: Amazon Quick のユーザー名を入力します
  3. Resources タブに移動して、CloudFormation スタックによって作成されたリソースを確認します。

CloudFormation のデプロイが完了したら、アカウント上の SSM インベントリアソシエーションの実行が完了するまで待ちます。デフォルトでは、インベントリアソシエーションは 30 分ごとに実行されます。インベントリの実行が完了したら、以下の手順に従って Glue クローラーを実行します。

  1. AWS Glue クローラーコンソールに移動します
  2. 「SSM-GlueCrawler-*」で始まるクローラーを選択します
  3. Run を選択してクローラーを実行します

Glue クローラーは、中央の S3 バケットからインベントリデータをクロールし、Glue データベース ssm_datasync_resources を更新します。

Quick ユーザーと権限の検証

Quick ユーザーロール:

  1. Amazon Quick コンソールに移動してサインインします
  2. 右上のユーザーアイコンを選択し、Manage Quick を選択します
  3. Manage users を選択し、Quick ユーザーのロールとして Admin Pro を選択します

Amazon Quick の権限

図 4: Amazon Quick ユーザーの権限

Quick の権限:

  1. 同じページの左メニューで、Permissions の下にある AWS resources を選択します
  2. Amazon Athena と Amazon S3 を選択します。Select S3 buckets で、先ほどデプロイした CloudFormation テンプレートによって作成された Systems Manager インベントリおよびパッチ適用データ用の S3 バケットを選択します。また、Amazon Athena のクエリ結果出力先として設定した S3 バケットも併せて選択してください
  3. Save を選択します

Amazon Quick の S3 バケットと Athena へのアクセス

図 5: Amazon Quick ロールの S3 バケットへの権限

Amazon Quick を使用したビジュアルの作成

  1. Quick のホームページで、Analysis を選択し、CloudFormation スタックによって作成された SSM Inventory Analysis を選択します
  2. Visuals の下にある Build アイコンを選択します。ビジュアルを構築するためのクエリを入力するサイドパネルが開きます
  3. 以下は、ビジュアルを生成するためのプロンプト例です。必要に応じてプロンプトやビジュアルをカスタマイズできます

プロバイダー別マネージドノード

このビジュアルは、さまざまなクラウドプロバイダーおよびオンプレミスインフラストラクチャにデプロイされたマネージドノードの数を表示し、プラットフォーム間のワークロード分布に関する洞察を提供します。

  1. プロンプトとして「Create a pie chart for count of resourceid by provider」と入力し、BUILD を選択します
  2. または、「Create a visual for count of resourceid by provider」と入力して、Amazon Quick にビジュアルタイプを決定させることもできます
  3. Amazon Quick がビジュアルを生成します。Add to Analysis を選択し、必要に応じてビジュアルのサイズを変更します
  4. 見出しをダブルクリックして編集し、「Managed Node by Provider」に更新します

Amazon Quick を使用したビジュアルの作成

図 6: Amazon Quick を使用したビジュアルの構築

ステータス別マネージドノード

  1. プロンプトとして「Create a donut chart for count of resourceid by instancestatus」と入力し、BUILD を選択します
  2. Add to Analysis を選択し、必要に応じてビジュアルのサイズを変更します。ビジュアルの見出しを更新します
  3. 以下に説明する他のビジュアルについても、異なるプロンプトを使用して同じ手順に従いビジュアルを生成します

インベントリ ステータス別マネージドノード

図 7: ステータス別マネージドノード

OS 別マネージドノード

プロンプト: 「Create a donut chart for count of resourceid by platformname

インベントリ OS 別マネージドノード

図 8: OS 別マネージドノード

プラットフォーム別マネージドノード

プロンプト: 「Create a donut chart for count of resourceid by platformtype

SSM Agent バージョン

プロンプト: 「Create a visual for count of resourceid by version and application name equals Amazon SSM Agent

ディスク容量ステータス

プロンプト: 「Create a visual for count of resourceid by diskspacestatus

Amazon Quick SSM インベントリ運用ダッシュボード

図 9: 運用ダッシュボード

Amazon EC2 インスタンス固有のビジュアル

以下のビジュアルは、SSM カスタムインベントリアソシエーションから取得した Amazon EC2 インスタンスの詳細情報を表示し、さまざまな AWS 固有のコンポーネントとリソース構成に関する貴重な洞察を提供します。

以下は、ビジュアルを作成するためのプロンプトです。

AWS PV Driver バージョン

  1. プロンプト: 「Create a visual for count of resourceid by application version and application name equals AWS PV Drivers
  2. ビジュアルから null または empty データを選択し、Exclude null を選択します。Add to Analysis を選択してビジュアルを分析に追加します。これは、このビジュアルに該当しない他のプロバイダー(オンプレミスやハイブリッドノードなど)の null/空の値を除外するためです
  3. ダッシュボードにテキスト見出しを追加するには、ペインの上部にある Add Text アイコンを選択し、テキストを AWS Dashboard に変更します

Amazon EC2 ENA Driver バージョン

プロンプト: 「Create a visual for count of resourceid by enaversion

AWS NVMe Driver バージョン

プロンプト: 「Create a visual for count of resourceid by nvmeversion

ライセンスタイプ別 Amazon EC2 インスタンス

プロンプト: 「Create a pie chart for count of resourceid by licensetype

インスタンスタイプ別 Amazon EC2 インスタンス

プロンプト: 「Create a pie chart for count of resourceid by instancetype

Amazon Quick AWS ダッシュボード

図 10: AWS EC2 メトリクスダッシュボード

コンプライアンスシート

コンプライアンスシートは、特にパッチおよびアソシエーションのコンプライアンスに焦点を当てたコンプライアンス固有の可視化を作成するために使用されます。ここでは、非準拠のパッチを強調表示するビジュアルを生成するとともに、不足しているパッチの包括的なリストを提供し、システムのセキュリティポスチャの明確な概要を示します。

  1. シートの上部から Compliance シートを選択します
  2. 以下は、コンプライアンス固有のビジュアルのプロンプト例です

パッチコンプライアンス別マネージドノード

プロンプト: 「create a pie chart for count of resourceid by compliance status for compliancetype equals Patch

アソシエーションコンプライアンス別マネージドノード

プロンプト: 「create a pie chart for count of resourceid by compliance status for compliancetype equals Association

プロバイダー別パッチ準拠マネージドノード

プロンプト: 「create a donut chart for count of resourceid by provider for compliancetype equals Patch and compliance status equal COMPLIANT

プロバイダー別パッチ非準拠マネージドノード

プロンプト: 「create a donut chart for count of resourceid by provider for compliancetype equals Patch and compliance status equal NON_COMPLIANT

OS 別パッチ準拠マネージドノード

プロンプト: 「create a visual for count of resourceid by platformname for compliancetype equals Patch and compliance status equal COMPLIANT

OS 別パッチ非準拠マネージドノード

プロンプト: 「create a visual for count of resourceid by platformname for compliancetype equals Patch and compliance status equal NON_COMPLIANT

不足しているパッチ

プロンプト: 「create a pivot table with provider, accountid, region, platformname, resourceid, patch title for compliancetype equals Patch and compliance status equal NON_COMPLIANT and patch status equal Missing

SSM マネージドノードコンプライアンスダッシュボード

SSM パッチコンプライアンスダッシュボード

図 11: コンプライアンスダッシュボード

ビジュアルが作成されたら、Publish を選択してダッシュボードを公開します。さらに、Amazon Quick を活用して詳細情報を取得したり、ダッシュボードとインタラクションして質問に対する回答を得ることもできます。例えば、ディスク容量が危険な状態のマネージドノードのリストを取得するには、「List of resourceid by diskspacestatus equal Critical」というプロンプトで回答を得ることができます。

クリーンアップ

リソースを削除するには:

  1. AWS CloudFormation コンソールに移動します
  2. Stacks を選択し、ssm-inventory-patching-dashboard という名前のスタックを選択します
  3. Delete を選択し、Delete stack を選択します
  4. Amazon Quick コンソールに移動します
  5. ダッシュボード、分析、およびデータセットを削除します

まとめ

このブログ記事では、Amazon Quick が Systems Manager のパッチ適用およびインベントリダッシュボードの作成をどのように簡素化するかを紹介しました。自然言語によるインタラクションを活用することで、かつては複雑で多段階のプロセスだった作業が、包括的な可視化を生成するシンプルで直感的なプロンプトに変わりました。このソリューションは貴重な時間を節約するだけでなく、クラウドおよびオンプレミス環境全体のパッチ適用コンプライアンス、インベントリステータス、インフラストラクチャ分布に関するリアルタイムの洞察を提供します。

さらに、Amazon Quick は自然言語プロンプトによるダッシュボードデータのインタラクティブなクエリを可能にし、特定の情報を素早く取得できます。AWS Systems Manager と Amazon Quick を含む AWS サービスの組み合わせにより、組織はハイブリッドインフラストラクチャの管理を強化しながら、監視とレポートのプロセスを簡素化できます。パッチコンプライアンスの管理、インベントリの追跡、AWS 固有のコンポーネントの監視のいずれであっても、このソリューションはインフラストラクチャの可視化と管理に対する合理化されたアプローチを提供します。CloudFormation テンプレートをダウンロードし、AI を活用した可視化を数分で実装して、今すぐインフラストラクチャ監視を変革しましょう。

AWS Systems Manager のパッチ適用機能の詳細については、AWS Systems Manager Patch Manager のドキュメントをご覧ください。

Suhail Fouzan

Suhail Fouzan

Suhail Fouzan は、Amazon Web Services(AWS)のスペシャリストソリューションアーキテクトで、IT 業界で 15 年以上の経験を持っています。Microsoft ワークロード、移行サービス、AWS Systems Manager を使用したオペレーション管理を専門とし、お客様のインフラストラクチャの AWS への移行を成功に導いています。仕事以外では、クリケットを楽しんだり、家族と過ごしたりしています。

Eswar Sesha Sai Kamineni

Eswar Sesha Sai Kamineni

Eswar Sesha Sai Kamineni は、Amazon Web Services のソリューションアーキテクトです。クラウドソリューションの設計を支援し、技術的なガイダンスを提供することで、お客様のビジネス変革を支援しています。George Mason University でデータアナリティクスエンジニアリングの学位を取得しました。AI と機械学習に深い関心を持っています。テクノロジーの新しい進歩について読んだり、ハイキングを楽しんでいます。

Rizwan Mohammed

Rizwan Mohammed

Rizwan Mohammed は、AWS のシニアテクニカルアカウントマネージャーで、エンタープライズのお客様が AWS サービスを採用し、新しいアーキテクチャを構築し、現在の実装を最適化するのを支援しています。クラウドオペレーションと Microsoft ワークロードを専門とし、お客様のオペレーショナルエクセレンスの向上に情熱を注いでいます。

翻訳は Solutions Architect の小野が担当しました。原文はこちらです。