電通総研 テックブログ

電通総研が運営する技術ブログ

【re:Invent 2024ワークショップ】 Amazon Q Businessによるクラウド運用業務の効率化

はじめに

クロスイノベーション本部 クラウドイノベーションセンター新卒2年目の宮崎です。
先日、AWSのre:Inventに参加させていただきました。
個人的にハンズオンやGameDayに参加し、手を動かすことでスキルアップしようと思い参加しましたので、参加して面白かったワークショップについてご紹介します。

re:Inventとは

下記記事に記載しております、ご興味がある方はご覧ください。
AWS re:Invent 2024とAWS GameDayについて

ワークショップとは

ワークショップは、約2時間程度のハンズオン型セッションです。各自のPCを使って新機能やサービスに実際に触れながら学べる場となっています。短時間で実践的にスキルを習得できるため、普段触れない技術に初めて挑戦する絶好の機会でもあります。AWS re:Inventでは、新しいサービスを活用したワークショップが多く開催されていました。
一方で、JP Contents Hubというものに、多くのハンズオン・ワークショップがまとめられており、非常に便利です。
既存のサービスについて、机上の知識だけでなく実際に触れて動かしてみたい方には特におすすめのコンテンツになっていますので、ご興味がある方は手を動かしてみてください。

JP Contents Hub
英語ワークショップ情報

今回紹介するワークショップ

題名:SUP303 | Amazon Q を使用して運用およびセキュリティインシデントの再発を防ぐ


内容(翻訳)
AWS サポートケース、AWS Trusted Advisor の推奨事項、AWS Health 通知などの AWS 運用データを使用して、Amazon Q Business の機能を見るもの。
冒頭で述べた各データを Amazon Q Business に取り込むことで、複雑なデータモデルを理解しなくても、自然言語での会話、根本原因の解明を行うことが可能になる。
AI アシスタント(Amazon Q Business)は、基礎となるデータソースへの直接リンクに裏打ちされたコンテキストに応じた回答を提供し、必要に応じてさらに調査できるようにする。
このワークショップでは、環境からのデータの収集、Amazon Q Business アプリケーションの作成、データのインデックス作成、IT サービス管理 (ITSM) システム (ServiceNow、Jira、Zendesk など) との統合についても説明があった。
これにより、独自のプレイブック/ナレッジベースを使用してコンテキストに応じた推奨事項を受け取り、それらの推奨事項を実行して、パフォーマンスと信頼性に優れた AWS 環境を実現できるという内容。

前提知識

AWS には、サポートケースや Trusted Advisor、AWS Health など、様々なデータが存在します。
これらを活用しようとしても、データがアカウントごとに散在していたり、適切な分析手段がなかったりすると、なかなか思うように可視化・活用できません。
そこで登場するのが、QSI (Support Insights with Amazon Q) です。
Amazon Q Business の生成 AI 機能を活用することで、選択したアカウント全体のサポートケース、Trusted Adviso、Healthデータから洞察や推奨事項を得て、可視化や情報の活用につなげることができるソリューションです。

QSI (Support Insights with Amazon Q)
※実態はCloud FormationでAWSリソースが作成できるテンプレートが含まれているものです、詳細はアーキテクチャ図の部分で解説します。)

QSI (Support Insights with Amazon Q) の詳細

参考:https://github.com/aws-samples/support-insights-with-amazon-q?tab=readme-ov-file

実際のアーキテクチャ図は下記です。
ハンズオンではこの仕組みづくりを行いました。
Amazon Q Business を活用して AWS サポートデータを分析する仕組み

図からわかるQSIの構成要素

各アカウントの役割

○DataCollection Account側(上部)
スコープ内すべてのアカウントから、S3へそれぞれの情報を格納する中央集権アカウント。
○Linked Account
DataCollectionアカウント以外のアカウントで、AWSサポートデータ(AWSサポートケース、Trusted Advisor、Health)を持っているアカウント。
参考情報
AWS Support
AWS Trusted Advisor
AWS Health

機能構成

Amazon Q Business コンポーネント
ユーザーがチャット形式でデータにアクセスし、自然言語で対話的に洞察を得られる環境。
Amazon Q Business アプリケーションと Web エクスペリエンス モジュールが含まれている。
参考リンク
Amazon Q Web インターフェース
チャットボットが稼働するウェブ画面。ユーザーはブラウザ上で “英語 or 日本語” (現時点では日本語対応無し)などの自然言語で質問し、リアルタイムに回答や推奨事項を得ることができる。
○ Q Business Application
Q Web インターフェースの背後にあるコアのアプリケーション。データソースや生成 AI エンジンとの連携を担っている。

AWS Support Collectorモジュール
組織内の各 AWS アカウント(Linked Account)から、サポートケース/Trusted Advisor/AWS Health といったデータを定期的に収集し、中央アカウント(Data Collection Account)の S3 バケットへアップロードする仕組みのモジュールです。
参考リンク
AWS Lambda & EventBridge
リンクされたアカウントから定期的に各情報を取得するためのもの。
Lambda 関数と EventBridge (Scheduler) を組み合わせてスケジューリングして実行している。
○ S3 バケット
それぞれのデータソース(サポートケース、Trusted Advisor、Health)から収集した JSON 形式のサポートデータは、中央の Data Collection Account にある S3 バケットへアップロード。そこから Q アプリケーションが読み取り、インデックス化してチャットボットの応答に活用していく。

ハンズオンではQSI を構成する大きく これらの部分をデプロイしました。

ハンズオンを始める前の前提条件

ハンズオンを開始する前に、以下の前提条件があり下記の内容を実施しました。

IAM Identity Center の有効化の確認
SAML 2.0 に対応した IdP(Identity Provider)として IAM Identity Center が設定されている必要があります。また、少なくとも1人以上のユーザー(有効なメールアドレス)がプロビジョニングされている必要があります。
詳細については下記を参照してください。
https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html

Amazon Q Business の対応リージョンの確認
Amazon Q Business を使用する場合は、対応するリージョンで操作を行う必要があります。
対応リージョンの一覧は下記を参照してください。
注意:日本(東京リージョン)は現時点では対応リージョンに含まれていません。
Amazon Qを触ってみたい方は、日本リージョン以外の対応リージョンを選択して操作を進めてください。
対応リージョンの一覧:https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/quotas-regions.html

IAM Identity Center で多要素認証(MFA)の有効化
IAM Identity Center の多要素認証(MFA)はデフォルトで無効化されています。そのため設定を行い有効化します。

アイデンティティストアへのユーザー作成
IAM Identity Center インスタンス内で少なくとも1人のユーザーが必要です。そのため、アイデンティティストアにユーザーを作成します。

Q Business アプリケーションへのユーザー割り当て
前手順で作成したユーザーを Q Business アプリケーションに割り当てる必要があります。これを行わない場合、Amazon Q Web エクスペリエンスにアクセスしようとした際に「アクセスが拒否されました」というメッセージが表示されます。

S3 バケットの準備
管理アカウント(または Data Collection Account)に、AWS サポートデータを格納するための S3 バケットを作成しておきます。

※実際のAmazonQへログイン後の画面
・IAM アイデンティティセンターで作成したユーザをQアプリに割り当てることで、そのユーザー情報でQアプリにアクセスすることができました。

デプロイ手順

  1. CloudFormation テンプレートを入手
    GitHub から以下のファイルをダウンロードします:
    https://github.com/aws-samples/support-insights-with-amazon-q/blob/main/src/q_application/amazon-q-cfn.yaml

  2. CloudFormation スタックの作成
    https://console.aws.amazon.com/cloudformation/home を開き、リージョンを Amazon Q Business 対応リージョン に設定します。

  3. 「スタックの作成」 → 「新しいリソースを使用」 を選択し、ダウンロードした amazon-q-cfn.yaml をアップロード。

  4. スタックの名前を例として amazon-q-cfn とし、以下のパラメータを入力
    ①IAMIdentityCenterARN: IAM Identity Center インスタンスの ARN
    (IAM Identity Center コンソール → [設定に移動] → ARN コピー)
    ②QBusinessApplicationName: Q アプリケーション名 (任意)
    ③S3DataSourceBucket: サポートデータを置く S3 バケット名 (例: qsi-app-data-ACCOUNT_ID)
  5. 最終画面で IAM ロール作成に同意し、スタックを作成。
  6. スタックのステータスが CREATE_COMPLETE になるまで待機(約10分)。

ここで作成されたリソース
構成図の部分で前述した各リソースが作成されました。

  • Amazon Q Businessコンポーネント
  • AWS Support Collectorモジュール
  • S3データソースコネクタ
  • Web エクスペリエンス (チャットインターフェース)
  • インデックスユニット(初期は20,000件までのドキュメントを登録可能)

データソースの同期

本テンプレートで作成したデータソース(サポートケース、Trusted Advisor、Health)は、毎日 UTC 深夜に S3 バケット内のデータを同期するようにスケジューリングされています。
バケット内にサポートデータ(あるいは合成データの zip 解凍結果)を配置すると、下記の手順で即時同期も可能です。

  1. Amazon Q コンソール を開き、先ほど作成した Q アプリケーション名 を選択。
  2. 「データソース」のメニューから、S3データソースを手動で同期 (Sync) できます。
  3. 同期が完了すると、サポートデータがインデックス化され、Q Business 上で検索対象となる。

ユーザーのアクセス設定

  • Identity Center 上で Q Business へのアクセスが許可されたユーザー(またはグループ)を追加しておく。
  • CloudFormation の展開時に指定した IAM Identity Center ARN と連携されているため、Q Business 側から Identity Center のユーザー/グループを簡単に検索・割り当て可能。

Amazon Q Businessへのアクセス

ここまで完了すると、Amazon Q Business のWeb エクスペリエンス(チャット画面)にアクセスできるようになりました。
手順

  1. AWS マネジメントコンソール → Amazon Q Business → Q アプリケーション → Web エクスペリエンスURL を開く。
  2. Identity Center の認証画面でメールアドレス・パスワードなどを入力。

ログイン後、チャット画面が表示されるので質問が可能になります。
質問に対して Q Business が回答し、サポートケースの詳細や Trusted Advisorの推奨事項など、実際のサポートデータをもとにした洞察が返されます。

実際に質問してみた

試しに直近のイベントについて聞いてみました。
直近のHealthイベントに何があるかを聞く質問をすると、下記画像にあるように実際のイベントソースに基づいて回答を出力してくれました。

得られた回答の翻訳
データソースに基づき、最近報告されたヘルスイベントが2つあります:
AWS MediaPackageに運用上の問題が発生し、ライブおよびオンデマンドコンテンツのビデオ再生が断続的に中断され、遅延が増加し、バッファリング時間が長くなっています。この問題は部分的に解決しており、24時間以内に完全に回復する見込みです。
また、2024年9月26日から29日にかけてWorkDocs APIに問題が発生し、API操作に影響が出ましたが、WorkDocsサービス全体の可用性や既存のドキュメントのセキュリティには影響しませんでした。この期間中も、ユーザーはウェブ・インターフェイスやデスクトップ・アプリケーションを通じてコンテンツにアクセスすることができました。
さらに、サポート・ケースによると、us-west-2リージョンにおけるRDSのバックアップに継続的な問題があり、自動バックアップが指定されたバックアップ・ウィンドウ内で完了せず、手動スナップショットが「バックアップ・ジョブ・キュー」ステータスで立ち往生しているとのことです。サポートチームは、これらのバックアップの失敗を積極的に調査し、影響を受ける顧客にトラブルシューティングの手順を提供しています。

優先順位が高く、対応が必要な5つの項目についても聞いてみました。


翻訳:データソースに基づき、取り組むべき優先事項のトップ5は以下のとおりである:
セキュリティとアクセス制御: セキュリティ・グループ・ルールとネットワーク・アクセス・コントロール・リスト(NACL)を見直し、強化し、必要なインバウンド・トラフィックのみを許可するようにする。
システムのアップデートと監視: インスタンスが最新のオペレーティング・システム・アップデートとセキュリティ・パッチを実行していることを確認し、包括的なセキュリティ・ロギングと監視を有効にして、潜在的な脅威をプロアクティブに検出して対応する。
バックアップとストレージの管理: ストレージの割り当てを確認し、自動バックアップが正常に完了するのに十分な空き領域を確保することで、RDSのバックアップの失敗に対処します。
ヘルスチェックの実装: アプリケーションの健全性を正確に反映する適切な健全性チェックを構成し、インフラリエストの完了と不健全なインスタンスの削除のバランスをとるために適切な登録解除遅延を設定する。
高可用性と耐障害性: インスタンスのマルチアベイラビリティゾーンディストリビューションを実装し、不健康なインスタンスを自動的に置き換えるためにオートスケーリングを利用し、可用性とパフォーマンスを向上させるためにAWS Global Acceleratorの実装を検討する。

個人的に他にも下記のような質問ができると思いました。
「過去3か月で一番多かったサポートケースの内容は?」
「Trusted Advisor のコスト最適化に関する推奨事項を一覧で教えて」
「頻繁に発生しているAWS Healthイベントの原因は?」

まとめ

QSI (Support Insights with Amazon Q) は、AWS サポートデータ(サポートケース、Trusted Advisor、Health)を特定のアカウントへ集約し、生成 AI と 会話型インターフェースによって高度な分析と推奨事項を得られるソリューションです。
実際のハンズオンでは、この仕組みの中核となる Amazon Q Business アプリケーション と AWS Support Collectorモジュールをデプロイし、ユーザーがチャットで簡単にサポート情報へアクセスできる環境を構築しました。

  • 過去のサポートケースから発生しがちなインシデント傾向を素早く把握すること。
  • Trusted Advisor のリソース最適化情報をもとにコスト削減や信頼性向上などAWSの推奨に従った取り組みを検討する。
  • AWS Health のステータスを踏まえ、サービスイベントにプロアクティブに対応していく。
    上記のこれらを 1 つの対話型インターフェース で実現できるメリットは非常に大きいと思います。
    クラウド運用の効率化のために、ぜひ今後QSI を導入してみてはいかがでしょうか。
    ※日本のリージョンではこれから対応されていくと思います。

また、今回ワークショップで使用したAmazon Qのアップデートには他にも様々あり、今後の日本語対応にも期待できる生成AIソリューションであるため、皆様もぜひ触ってみてください。

Amazon Q関連情報
Amazon Q
Amazon Q Developer とは?
Amazon Qを深めるハンズオン(このワークショップでもおすすめされていました)
https://catalog.workshops.aws/amazon-q-business/en-US

私たちは一緒に働いてくれる仲間を募集しています!

株式会社 電通総研 新卒採用サイト

執筆:@miyazaki.hirotoshi、レビュー:@miyazawa.hibiki
Shodoで執筆されました