AWS 第25回『プレビュー中の「Amazon Q」を使いたおそう!』

こんにちは、DIS AWS推進チームです。

2023年末に開催された AWS re:Invent でAmazon Q と呼ばれる生成系AI アシスタントサービスが発表されました。2024/3時点でプレビュー期間中なのですが、実は今だけほとんどの機能が無償で利用できてしまいます。発表からちょっと時間経ってしまいましたが、おすすめの活用方法をご紹介します。

Amazon Qとは

Amazon Q はAWSで利用できる生成系AI アシスタントサービスです。ビジネス特化の設計になっており、企業や部署向けに検索するデータソースをカスタマイズできるという特徴があります。下記2つのプランが用意されており、用途に応じて選択することになります。

・Amazon Q Business(20USD/ユーザー)

一般のビジネスパーソン向けに設計されたプランです。社内専用のChatGPTをイメージいただくとわかりやすいかもしれません。例えば社内規定をインプットした内部向けAmazon Qであれば、「出張費用の精算方法を教えて」と質問すると、「領収書を添付して総務部へ申請してください。領収書の宛名は~です。引用元:XXXX.doc」のような回答が得られます。

・Amazon Q Builder (25USD/ユーザー)

プラス5USDでBusinessプランのすべての機能に加えて、AWSに関するテクニカルな質問に回答してくれるプランです。ベストプラクティス、設計パターン、製品など17年以上にわたるAWSの知識・経験を学習しており、構築時のFAQやトラブルシュート、コードレビューなどに活用できます。

設計/構築アシスタントとして活用

コラム冒頭で今だけほとんどの機能が無償で使えるとお伝えしたのですが、特におススメの機能がBuilderプランのAWS上で使えるチャット機能です。ChatGPTなどの生成系AIサービスと使い勝手は全く同じで、AWS公式の知識やナレッジをソースとした回答が得られる、AWSに対する質問に特化した機能となっています。当然ながらレスポンスがはやいので検証・構築で発生したトラブルの最初の確認先にも適任です。実際に「EC2管理者権限が付与されたIAMユーザーの作成方法」を聞いてみます。

Amazon Q はすでにAWSマネジメントコンソール上に実装されており、コンソール右上のQアイコンをクリックするとよくある生成系AIのチャット画面が展開します。

AIのチャット画面が展開

現状英語のみ対応とのことなので、某翻訳サービスを利用した文章で質問しました (青吹き出し) 。すると、手順が返ってきました。さらに手順によって作成されたIAMユーザーの概要も記載してくれています。

質問

さらに「EC2インスタンスの終了権限」だけはく奪することはできるか質問しました。「上記IAM」と記載したらちゃんと前の質問で作成したIAMを認識していました。

IAMユーザーへ付与したポリシーをjson形式で回答

最後にここまでの質問でIAMユーザーへ付与したポリシーをjson形式で教えてもらいました。最終確認はもちろんする必要はありますが、0から調べるよりベースを作ってくれるのはありがたいですね。最後にポリシーで許可される権限の説明までついています。

ポリシーで許可される権限の説明

AWSエキスパートによるトラブルシュート

Amazon Qを利用した自動トラブルシュート機能は現在オレゴン(米国西部)リージョンのEC2 , ECS , S3 , Lambdaで発生したコンソールエラーにのみ動作するようです。
実際にAWSの環境上でエラーを発生させた場合、Amazon Qがどのような挙動をするのか検証してみました。今回は事前にインスタンスの停止アクションを拒否するIAM権限を付与したユーザーを使い、エラーを発生させてみます。

ユーザーに権限がないためインスタンスの停止アクションを実行した際にエラーが出力されました。
エラー内容を確認すると右上に「Troubleshoot with Amazon Q」のボタンが表示されています。

「Troubleshoot with Amazon Q」のボタン

「Troubleshoot with Amazon Q」のボタンを押下すると。Amazon Qがエラー解決をサポートする旨の内容が表示されました。表示後少し待つと、分析結果としてAnalysisに実行ユーザーのIAMポリシーにEC2インスタンスを停止する権限が不足していることが指摘されていました。 今回エラーを発生させるために権限を絞っていたことがしっかり分析できているようです。 さらに「Help me resolve」のボタンを押してみます。

「Help me resolve」のボタン

するとエラーを解決するための推奨手順が表示されました。

  1. 該当ユーザーのIAMポリシーを編集する
  2. EC2インスタンス停止アクションに関する拒否設定を削除する
  3. EC2インスタンス停止アクションを許可する権限を追加する
  4. 変更したIAMポリシーを保存する
  5. AWSコンソールからEC2インスタンスの停止を再試行する

画面推移の順や選択項目には触れていないため、ある程度の予備知識は必要となりそうですがエラー解決に向けた正しい流れは案内してくれるようです。エラーが表示されて困った際はAmazon Qを活用することで解決の一助になるかもしれませんね。

参考までに検証中にAmazon Qの権限が絞られていた場合のエラーが確認できたので、こちらも紹介します。権限を絞っている場合、Amazon Qがエラー解決に向けてサポートする旨の内容は表示されたのですが、ユーザーにAmazon Qを利用するための権限が不足しているためAnalysis以降が表示されませんでした。その場合はIAMポリシーからAmazonQFullAccessが付与されていることの確認をしてあげましょう。その中でもAmazon Qの権限以外にも前提となる権限が不足している場合はそのユーザーではHelp me resolve以降が表示されないなども確認されたので同様の事象が確認できた場合は権限を見直してみるといいかもしれませんね。

Amazon Qの権限が絞られていた場合のエラー

まとめ

今回はAmazon QのBuilderプラン機能をメインで紹介しました。私は普段の業務では公式ドキュメントかAWS有償サポートを利用していますが、レスポンスがはやいので検証・構築で発生したトラブルの最初の確認先としても適任のサービスという印象でした。25USDのサービスが今だけ無償で使えてしまうので是非有効活用してしまいましょう!

  • プレビュー期間終了後の当社でのお取り扱いについては現在確認中です。

最後までお読みくださりありがとうございました。

--Let's Enjoying Amazon Web Services!

マルチクラウドの記事