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 ドライバー、インスタンスタイプ全体にわたるコンピューティングリソースの分布を把握するためのグラフを作成できます。
ソリューションの概要

図 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 バケットに同期されます。
前提条件
このウォークスルーを実施するには、以下が必要です。
- Systems Manager マネージドノード(カスタムインベントリ情報をキャプチャするための Amazon EC2 インスタンスまたはハイブリッドノード)
- アカウントで Systems Manager Inventory が有効化されていること
- マネージドノードにパッチを適用するための Systems Manager Patch Manager のスキャンまたはインストール操作
- Admin pro または Author pro の Amazon Quick ユーザーアカウント
- CloudFormation StackSet を作成するために必要な権限
- AWS Organization ID
ウォークスルー
AWS CloudFormation スタックを使用してソリューションをデプロイし、必要なリソースを作成します。CloudFormation スタックは、Organization 管理アカウントまたは StackSet の委任管理者アカウントからデプロイできます。中央の S3 バケット、Quick ダッシュボード、およびその他のリソースは、スタックをデプロイしたアカウントとリージョンに作成されます。
デプロイ後、Amazon Quick を使用したビジュアルの作成についての手順を説明します。
- GitHub リポジトリから CloudFormation テンプレートをダウンロードし、スタックをデプロイします。
- パラメータエリアで、以下のパラメータを入力します。
- 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: 対象インスタンスのタグ値
- 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 リージョンのリスト
図 2: AWS CloudFormation パラメータ – Organization デプロイOrganization を使用せずにアカウントにデプロイする場合:
- AWS Organization ID: フィールドを空のままにします
- AWS Account IDs: デプロイする AWS アカウント ID のリスト(アカウントはいずれの Organization にも属していない必要があります)
- AWS Account Regions: AWS リージョンのリスト
図 3: Organization に属さないアカウント用の AWS CloudFormation パラメータ - Amazon Athena セクション:
- Amazon Athena Database Name: AWS Systems Manager リソースデータ同期用の Amazon Athena データベース名
- Amazon Quick セクション:
- Amazon Quick user: Amazon Quick のユーザー名を入力します
- SSM Resource Data Sync and Custom inventory configuration セクション:
- Resources タブに移動して、CloudFormation スタックによって作成されたリソースを確認します。
CloudFormation のデプロイが完了したら、アカウント上の SSM インベントリアソシエーションの実行が完了するまで待ちます。デフォルトでは、インベントリアソシエーションは 30 分ごとに実行されます。インベントリの実行が完了したら、以下の手順に従って Glue クローラーを実行します。
- AWS Glue クローラーコンソールに移動します
- 「SSM-GlueCrawler-*」で始まるクローラーを選択します
- Run を選択してクローラーを実行します
Glue クローラーは、中央の S3 バケットからインベントリデータをクロールし、Glue データベース ssm_datasync_resources を更新します。
Quick ユーザーと権限の検証
Quick ユーザーロール:
- Amazon Quick コンソールに移動してサインインします
- 右上のユーザーアイコンを選択し、Manage Quick を選択します
- Manage users を選択し、Quick ユーザーのロールとして Admin Pro を選択します

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

図 5: Amazon Quick ロールの S3 バケットへの権限
Amazon Quick を使用したビジュアルの作成
- Quick のホームページで、Analysis を選択し、CloudFormation スタックによって作成された SSM Inventory Analysis を選択します
- Visuals の下にある Build アイコンを選択します。ビジュアルを構築するためのクエリを入力するサイドパネルが開きます
- 以下は、ビジュアルを生成するためのプロンプト例です。必要に応じてプロンプトやビジュアルをカスタマイズできます
プロバイダー別マネージドノード
このビジュアルは、さまざまなクラウドプロバイダーおよびオンプレミスインフラストラクチャにデプロイされたマネージドノードの数を表示し、プラットフォーム間のワークロード分布に関する洞察を提供します。
- プロンプトとして「Create a pie chart for count of resourceid by provider」と入力し、BUILD を選択します
- または、「Create a visual for count of resourceid by provider」と入力して、Amazon Quick にビジュアルタイプを決定させることもできます
- Amazon Quick がビジュアルを生成します。Add to Analysis を選択し、必要に応じてビジュアルのサイズを変更します
- 見出しをダブルクリックして編集し、「Managed Node by Provider」に更新します

図 6: Amazon Quick を使用したビジュアルの構築
ステータス別マネージドノード
- プロンプトとして「Create a donut chart for count of resourceid by instancestatus」と入力し、BUILD を選択します
- Add to Analysis を選択し、必要に応じてビジュアルのサイズを変更します。ビジュアルの見出しを更新します
- 以下に説明する他のビジュアルについても、異なるプロンプトを使用して同じ手順に従いビジュアルを生成します

図 7: ステータス別マネージドノード
OS 別マネージドノード
プロンプト: 「Create a donut chart for count of resourceid by platformname」

図 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」

図 9: 運用ダッシュボード
Amazon EC2 インスタンス固有のビジュアル
以下のビジュアルは、SSM カスタムインベントリアソシエーションから取得した Amazon EC2 インスタンスの詳細情報を表示し、さまざまな AWS 固有のコンポーネントとリソース構成に関する貴重な洞察を提供します。
以下は、ビジュアルを作成するためのプロンプトです。
AWS PV Driver バージョン
- プロンプト: 「Create a visual for count of resourceid by application version and application name equals AWS PV Drivers」
- ビジュアルから null または empty データを選択し、Exclude null を選択します。Add to Analysis を選択してビジュアルを分析に追加します。これは、このビジュアルに該当しない他のプロバイダー(オンプレミスやハイブリッドノードなど)の null/空の値を除外するためです
- ダッシュボードにテキスト見出しを追加するには、ペインの上部にある 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」

図 10: AWS EC2 メトリクスダッシュボード
コンプライアンスシート
コンプライアンスシートは、特にパッチおよびアソシエーションのコンプライアンスに焦点を当てたコンプライアンス固有の可視化を作成するために使用されます。ここでは、非準拠のパッチを強調表示するビジュアルを生成するとともに、不足しているパッチの包括的なリストを提供し、システムのセキュリティポスチャの明確な概要を示します。
- シートの上部から Compliance シートを選択します
- 以下は、コンプライアンス固有のビジュアルのプロンプト例です
パッチコンプライアンス別マネージドノード
プロンプト: 「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」


図 11: コンプライアンスダッシュボード
ビジュアルが作成されたら、Publish を選択してダッシュボードを公開します。さらに、Amazon Quick を活用して詳細情報を取得したり、ダッシュボードとインタラクションして質問に対する回答を得ることもできます。例えば、ディスク容量が危険な状態のマネージドノードのリストを取得するには、「List of resourceid by diskspacestatus equal Critical」というプロンプトで回答を得ることができます。
クリーンアップ
リソースを削除するには:
- AWS CloudFormation コンソールに移動します
- Stacks を選択し、ssm-inventory-patching-dashboard という名前のスタックを選択します
- Delete を選択し、Delete stack を選択します
- Amazon Quick コンソールに移動します
- ダッシュボード、分析、およびデータセットを削除します
まとめ
このブログ記事では、Amazon Quick が Systems Manager のパッチ適用およびインベントリダッシュボードの作成をどのように簡素化するかを紹介しました。自然言語によるインタラクションを活用することで、かつては複雑で多段階のプロセスだった作業が、包括的な可視化を生成するシンプルで直感的なプロンプトに変わりました。このソリューションは貴重な時間を節約するだけでなく、クラウドおよびオンプレミス環境全体のパッチ適用コンプライアンス、インベントリステータス、インフラストラクチャ分布に関するリアルタイムの洞察を提供します。
さらに、Amazon Quick は自然言語プロンプトによるダッシュボードデータのインタラクティブなクエリを可能にし、特定の情報を素早く取得できます。AWS Systems Manager と Amazon Quick を含む AWS サービスの組み合わせにより、組織はハイブリッドインフラストラクチャの管理を強化しながら、監視とレポートのプロセスを簡素化できます。パッチコンプライアンスの管理、インベントリの追跡、AWS 固有のコンポーネントの監視のいずれであっても、このソリューションはインフラストラクチャの可視化と管理に対する合理化されたアプローチを提供します。CloudFormation テンプレートをダウンロードし、AI を活用した可視化を数分で実装して、今すぐインフラストラクチャ監視を変革しましょう。
AWS Systems Manager のパッチ適用機能の詳細については、AWS Systems Manager Patch Manager のドキュメントをご覧ください。