Amazon Web Services ブログ

AWS Config のデータの可視化を AWS Systems Manager で自動化する

このブログは Isaiah Salinas (Senior Specialist Solution Architect with the Cloud Operations Team) によって執筆された内容を⽇本語化したものです。原⽂はこちらを参照して下さい。

昨年の初め、 Visualizing AWS Config data using Amazon Athena and Amazon QuickSight というブログを公開しました。そのブログでは Amazon AthenaAmazon QuickSight を使用して AWS Config をセットアップする手順の概要を説明しています。そのブログに対して素晴らしいフィードバックをいただきました。お客様によるこれらのツールの導入をさらに支援するため、可視化ソリューションに必要なコンポーネントの設定プロセスを簡素化する AWS Systems Manager (SSM) Automation ランブックのサンプルが利用可能になったことをお知らせします。

ソリューションの概要

AWS Config データを適切に可視化するために、すべての要件を自動設定する方法を提供したいと考えています。このブログで説明するサンプルソリューションは、各ステップを手動で実行するのではなく、 Systems Manager Automation で関連するステップを構築することで、プロセスを簡素化します。これは SSM Automation の機能を使って実現できることの一例です。さらに、インフラストラクチャを管理する複雑なタスクを簡素化して、AWS Config が組織全体で記録したデータから可視化ダッシュボードを作成できる優れたサンプルも提供します。

前提条件

このサンプルソリューションを実行する前提条件として、以下のセットアップが必要です。

  1. AWS Config で Amazon Simple Storage Service (Amazon S3) への設定スナップショットの配信を有効にします。
  2. AWS Config で使用されている Amazon S3 バケット名を確認します。
  3. Automation ランブックを実行しているのと同じ AWS アカウントで Amazon QuickSight サブスクリプションにサインアップします。
  4. QuickSight が Athena と AWS Config で使用する Amazon S3 バケットに接続できるように認可します。
  5. QuickSight ユーザ名を取得します。

AWS CloudFormation テンプレートをデプロイする

AWS CloudFormation テンプレートは、 Config-QuickSight-Visualization と呼ばれる SSM Automation ランブックをデプロイします。これは、 Athena で使用するために AWS Config をセットアップし、QuickSight を設定して可視化ダッシュボードを作成できます。

  1. CloudFormation テンプレート Config-QuickSight-Visualization-SSM-Automation.yaml をダウンロードして保存します。
  2. AWS CloudFormation コンソールを開きます
  3. [スタックの作成] で [新しいリソースを使用] を選択します
  4. [テンプレートの指定] で、[テンプレートファイルのアップロード] を選択し、ローカルに保存したファイルである [Config-QuickSight-Visualization-SSM-Automation.yaml] を選択して、[次へ] を選択します
  5. [スタック名] に Config-QuickSight-Visualization-SSM-Automation と入力し、[次へ] を選択します
  6. [スタックオプションの設定] ページで、デフォルトのまま [次へ] を選択します
  7. [レビュー] ページで [スタックの作成] を選択します

Config-QuickSight-Visualization Automation ランブックを実行するための詳細情報の確認

  1. 次の AWS Command Line Interface (AWS CLI) コマンドを実行すると、Amazon S3 バケット名と、現在使用中の AWS Config 配信チャネルの名前が出力されます。
    aws configservice describe-delivery-channels
    TXT
  2. Amazon S3 バケット名と配信チャネル名を書き留めておきます。これは SSM Automation ランブックを実行するときに必要になります。
  3. QuickSight で、右上のプロファイルメニューを開き、[ユーザー名] をクリックします

プロフィールメニューでユーザー名をクリックします

図 1: Amazon QuickSight プロファイルメニュー

  1. QuickSight ユーザー名を選択してメモします。これは SSM Automation ランブックを実行するときに必要になります。

[アカウント情報] で、ユーザー名をメモします

図 2: Amazon QuickSight ユーザー名

Config-QuickSight-Visualization Automation ランブックの実行

  1. AWS Systems Manager Documents コンソールを開きます
  2. [自己所有] をクリックします
  3. Config-QuickSight-Visualization をクリックします
  4. [オートメーションを実行する] をクリックします
  5. Automation ランブックで必要とされる以下のパラメーターを入力します。

[入力パラメータ] 画面で、必要なパラメータを入力します

図 3: AWS SSM Automation ランブックの入力パラメータダイアログボックス

  • ConfigDeliveryChannelName: (必須) AWS Config 配信チャネルの名前。デフォルト値は default に設定されています。この情報の取得方法は前のセクションを参照してください。
  • ConfigS3BucketLocation: (必須) AWS Config S3 バケット名。AWS Config で現在使用されている S3 バケットの名前です (例:config-bucket-1234567891)。この情報の取得方法は前のセクションを参照してください。
  • QuickSightUserName:(必須) Amazon QuickSight ユーザー名。この情報の取得方法は前のセクションを参照してください。
  • AutomationAssumeRole:(オプション) AWS Identity and Access Management (IAM) ロールの Amazon Resource Name (ARN)。SSM Automation がユーザーに代わってアクションを実行できるようにします。このロールには、ビジュアライゼーションの作成に必要なすべてのアクションを実行するためのアクセス権が必要です。
  1. [実行] をクリックします

Amazon QuickSight でビジュアルを作成する

Config-QuickSight-Visualization Automation ランブックでは、Athena と QuickSight 内に次のビューとデータセットを作成します。その後、これらを利用して、ビジュアライゼーションダッシュボードを作成できます。

  • v_config_rules_compliance
  • v_config_resource_compliance
  • v_config_rds_dbinstances
  • v_config_iam_resources
  • v_config_ec2_vpcs
  • v_config_ec2_instances
  • v_config_resources

Amazon QuickSight で分析を作成する

  1. QuickSight コンソールで、[新しい分析] を選択します

[新しい分析] ボタンをクリックします

図 4: Amazon QuickSight の新しい分析

  1. [データセット] ページで、v_config_resource_compliance データセットを選択し、[分析の作成] を選択します

選択したデータセットの下の [分析の作成] をクリックします

図 5: Amazon QuickSight 分析の作成

AutoGraph を使ってビジュアルを作成する

  1. AutoGraph を使用してビジュアルを作成します。AutoGraph はデフォルトで選択されています。
  2. 分析ページで、[フィールド] リストペインの [resourcetype] と [compliancetype] を選択します。
  3. QuickSight は、このデータを使用して横棒グラフを作成します。

横棒グラフのサンプル

図 6: 横棒グラフ

分析へのデータセットの追加

  1. 分析にデータセットを追加して、より多くのビジュアルを作成します。
  2. 分析内で、[データセットを追加、編集、置換、削除] アイコンをクリックします。

データセットの追加、編集、置換、削除を行うアイコン

図 7: データセットの追加、編集、置換、削除

  1. [データセットの追加] をクリックします
  2. v_config_rules_compliance を選択し、[選択] をクリックします。
  3. 分析ページで、[フィールド] リストから [configrulename] と [compliancetype] を選択します。
  4. [ビジュアルタイプ] ペインで、[ドーナツグラフ] を選択します。
  5. [compliancetype] フィールドを [フィールドウェル] の下の [] フィールドにドラッグします。

[フィールドウェル] セクションにフィールドを追加します

図 8: フィールドウェルセクション

  1. フィルターは、現在選択しているビジュアルのどのフィールドにも作成できます。フィルタを作成すると、デフォルトでは現在選択されているビジュアルにのみ適用されます。
  2. QuickSight サイドバー内の [フィルター] アイコンをクリックします。
  3. [フィルター] セクションで [1つ作成…] をクリックし、compliancetype を選択します。
  4. [compliancetype] フィールドをクリックし、 [すべて選択] チェックボックスをオフにします。
  5. NON_COMPLIANT を選択し、適用 をクリックします
  6. サイドバーの [視覚化] ボタンをクリックして戻り、ビジュアルに変更を加えます。

完成したドーナツグラフ

図 9: ドーナツグラフ

ダッシュボードを作成する

  1. 分析で、右上のアプリケーションバーの [共有] を選択し、[ダッシュボードの公開] を選択します
  2. 開いた [ダッシュボードの公開] ページで、[新しいダッシュボードとして公開] を選択し、[Config Dashboard] という名前を入力します
  3. [ダッシュボードの公開] をクリックします
  4. ダッシュボードの共有を促す画面が表示される場合は右上の [X] アイコンをクリックして閉じます。

完成したダッシュボードの作成と公開

図 10: Amazon QuickSight ダッシュボード

クリーンアップ

Config-Quicksight-Visualization の Automation ランブックで作成されたリソースを削除する場合は、次の手順を実行します。

  1. AWS Systems Manager Documents コンソールを開きます
  2. [自己所有] をクリックします
  3. Config-QuickSight-Visualization をクリックします
  4. [オートメーションを実行する] をクリックします
  5. DeleteConfigVisualizationtrue に設定します
  6. 他のパラメータは前回と同様に設定します。
  7. [実行] をクリックします
  8. AWS CloudFormation コンソールを開きます。
  9. スタック Config-QuickSight-Visualization-SSM-Automation を選択し、[削除] をクリックします
  10. [スタックの削除] をクリックします

まとめ

この投稿では、AWS Systems Manager Automation ランブックを使用して、AWS Config データを Amazon Athena および Amazon QuickSight と統合するプロセスを簡素化する方法を示します。これにより、手動で行っていた設定作業を数分に短縮することができます。これは、インフラストラクチャを管理するために複雑なタスクを単純化する方法を示す優れた例であり、AWS Config が組織全体で記録したデータから可視化ダッシュボードを作成できるようにします。AWS Systems Manager Automation ランブックの詳細については、「ランブックの操作」を参照してください。

著者について

Isaiah Salinas

Isaiah Salinas は、クラウド運用チームのシニアスペシャリストソリューションアーキテクトです。10 年以上の AWS テクノロジーの使用経験を持つ Isaiah は、お客様と協力して複雑なクラウドインフラストラクチャを設計、実装、サポートしています。また、AWS のサービスを使用してどのように問題の解決策を提供するかについて、他の人と話すことも楽しんでいます。


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