【プレビュー】AWS ChatBotからAmazon Qを活用する

記事タイトルとURLをコピーする

こんにちは。営業推進課の島村です。

re:invent 2023から帰ってきました。
時差ボケしており、夜中の時間全く眠くならない状態になっています。
体内時計は太陽に当たることでリセットされるようなので、しばらくは早起き頑張りたいと思います。

re:invent 期間、11/27 - 12/2までに多くのアップデートが発表されました。
中でも、Amazon Q がプレビューですが、発表され、より手軽に生成AIを活用できるサービスの登場は個人的に衝撃的でした。

aws.amazon.com

aws.amazon.com

AWS ChatbotからもAmazon Qを呼び出すことができるようになったので、早速試したいと思います。
Amazon Q は現状英語のみサポートされています。日本語は今後に期待ですね。
Amazon Qは現状プレビュー段階のサービスです。本記事の投稿日時時点の情報ですので参考程度にご覧ください。

aws.amazon.com

AWS Chatbot とは

Slack,Microsoft Teams, Amazon Chime と連携することで、チャンネルから呼び出すことができるチャットボットサービスです。
AWS CLIの実行や、SecurityHubやヘルスイベントなどをSlackチャンネルに通知することができます。

ChatOps と呼ばれる概念を実現するサービスでもあります。

ChatOps とは?

ChatOps とはシステムを運用する組織で活用されているチャットにシステムも参加させ、運用していくスタイルを指します。
チャットでシステム運用者が参加しているチャンネルに通知を流すことで、シームレスに対応が可能になり、コマンドも実行することで 迅速な障害対応などが可能になります。

一方、チャットは流動性が非常に高いツールのため課題を書き留めていく、チケット管理システムのようなものも合わせて使う必要があります。

aws.amazon.com

AWS ChatbotとAmazon Qの連携でできること

ChatbotとAmazon Qを連携することでできることは以下の通りです。

1.AWSサービスへの質問

AWSサービスの質問は、AWS製品に関する仕様を質問することで関連する仕様が記載されているドキュメントを返してくれます。

2.AWSリソースに関する質問

AWSリソースに関する質問は、ChatbotがあるアカウントにResource Explorerを作成することでそのアカウント内にあるリソース情報を返してくれる機能です。
Amazon QがResource Explorerを参照し、一致する情報のリソースの上位5件を返してくれるようです。
タグやリージョン、リソースタイプでフィルタリングもかけることができます。
マネージドコンソールで確認しなくてもいいので楽ではありますね。

セットアップしてみる

AWS Chatbotの作成

Slack でセットアップします。

AWS にログインした状態で以下のURLにアクセスすれば Chatbotコンソールへ遷移できます。 https://us-east-2.console.aws.amazon.com/chatbot/home?region=us-west-2#/home

[クライアントを設定] を選択します。

認証画面へリダイレクトされます。[許可]を押してください。
ワークスペースに誤りがないか、しっかり確認しましょう。

[設定済みクライアント]からSlackを選択し、[新しいチャネルを設定]を選択します。

設定画面です。
以下の通り、入力していきましょう
今回の設定では、Chatbotによる変更は許容しない設定となります。

項目 入力値 備考
設定名 任意
SlackチャネルID チャットボットを参加させたいチャンネルID Webでアクセスした際のURL末尾がチャンネルIDです。
ロール設定 チャネルロール 全てのチャネルメンバーが同じ権限を使用する。
ロール名 任意
ポリシーテンプレート Resource Exprorerのアクセス許可,
Amazon Qのアクセス許可
チャネルガードレールポリシー ReadOnlyAccess
SNSトピック 専用のSNS Topic 設定しなくとも問題ありません。

入力を終えたら[設定]を押してください。
正常に連携しているかの確認は、[テストメッセージの送信]から行うことができます。

正常に連携できていると、連携したチャンネルに投稿されます。

Resource Explorer のセットアップ

AWSリソースに関する質問 に回答できるようにするために、Resource Explorerを作成していきます。

以下のリンクからResource Explorerのコンソールにアクセス可能です。 https://resource-explorer.console.aws.amazon.com/resource-explorer/home#/home

[Resource Explorer のオンにする]を選択します。
画面が遷移したら設定値を入力します。

アグリゲーターインデックスを作成しておくことで、チャットから全てのリージョンのリソースを検索できるようになります。
作成しておきましょう。
特に要件がなければ、デフォルトビューも作成してください。

試してみる

1.AWSサービスへの質問

まずは、1.AWSサービスへの質問を試してみます。

質問は @aws 質問~ で行えます。

まずはサンプルに記載のあった文言で質問してみます。

Lambdaの同時実行に関する回答を翻訳してみた結果は次のとおりです。

予約された同時実行 - AWS Lambda
Lambda 関数に予約された同時実行性を設定して、全体の容量が使い果たされた場合でも関数を確実に呼び出すことができます。予約された同時実行数は、Lambda 関数に 2 つの影響を与えます。 予約された同時実行数は、特定のリージョンの AWS アカウントの全体的な容量から差し引かれます。 Lambda 関数には、常に、それ自体の呼び出しにのみ使用できる予約された同時実行性があります。予約された同時実行数により、その関数の同時呼び出しの最大数が制限されます。予約された同時実行制限を超えて到着する同期リクエストは、スロットリング エラーで失敗します。

セットアップ方法を聞いたのですが、概念のページが返ってきました。
とはいえ、このページを参考にたどれはしそうです。

2.AWSリソースに関する質問

こちらもまずはサンプルに記載のあった文言で質問してみます

EC2のリソース情報が5件返ってきました。
レスポンスは5件までしか表示できないようですね。
フィルターのドロップダウンも選択できるようですが、予期せぬエラーとなってしまいました。

Lambdaでも試してみました。
リソースにはリンクが設定されており、クリックすると対象リソースのマネージドコンソールページへ遷移できますね。

最後に

今回、Chatbotから手軽にAmazon Qを活用してみました。
AWSに関する情報をチームチャットツールでかなり手軽にセットアップできる点、かなり強みだと感じました。
セットアップ自体は10分程度でできると思います。

日本語対応とリソース検索のフィルターや表示される件数の制御などは今後のアップデートに期待ですね。

島村 輝 (Shimamura Hikaru) 記事一覧はコチラ

最近ECS周りをキャッチアップ中。趣味は車・バイク全般。
一応、AWS12冠です。