Amazon Q Developer in chat applicationsをSlack統合して、チャットで対話してみた
クラウド事業本部運用イノベーション部の いそま です。
Amazon Qについて色々勉強している中で、
Amazon Q Developer in chat applications(旧ChatBot)とSlack統合を統合できるという便利機能があることを知り、実際に動かしてみましたので、ご紹介します。
Amazon Q Developer in chat applicationsとは
本題に入る前に、Amazon Q Developer in chat applicationsとは何かご紹介します。
Amazon Q Developer in chat applicationsは、チャットアプリケーション内からAWS管理タスクを直接実行できるAWSのサービスです。従来はAWSマネジメントコンソール上でのみ利用可能だったAmazon Qの機能を、SlackやMicrosoft Teamsなどのチームコラボレーションツールに統合できるようになりました。
簡単に特徴を紹介します。
チャット統合
・Slack、Microsoft Teams などの主要チャットプラットフォームに対応
・普段使っているチャットツールから離れることなくAWS操作が可能
自然言語での操作
「EC2インスタンスの一覧を表示して」「CPUアラートの状況を教えて」などの自然言語でAWSリソースを操作・照会する
リアルタイム監視
・AWSリソースの状態監視
・CloudWatchメトリクスの確認
・アラート通知の受信
AWSコンソールにログインする手間も省けますし、普段使用しているチャットツールでAmazon Qに問い合わせができるのは便利ですよね。
Amazon Q Developer in chat applicationsとSlackの統合
Amazon Q Developer in chat applicationsとSlackを統合する方法をご紹介します。
今回は以下のような流れで、作業を進めます。
- Amazon Q Developer in chat applicationsにSlackのワークスペースをクライアントに設定する
- Slackチャネル設定
a. Slackチャネルを指定
b. アクセス許可設定
まずは、Amazon Q Developer in chat applicationsにSlackのワークスペースをクライアントとして設定します。
- AWSコンソールにログイン後、Amazon Q Developer in chat applicationsに遷移
- [チャットクライアント設定]にて、[Slack]を選択
- [クライアントを設定]をクリック
- ワークスペースを設定して、[許可する]を選択する
- クライントの作成完了
次に、Slackのチャネルを設定します。
- [新しいチャンネルを設定]をクリック ※参考キャプチャの赤枠どちらでも可
- 項目に沿って設定する
設定の詳細
設定箇所 | 設置値 |
---|---|
[設定名] | 任意の設定名を設定 |
Slackチャネル
設定箇所 | 設置値 |
---|---|
[チャネルタイプ] | チャネルタイプを指定 |
[パブリックチャネル名] | チャネル名を指定 |
アクセス許可
設定箇所 | 設置値 |
---|---|
ロール設定 | チャネルロール |
チャネルロール | テンプレートを使用してIAMロールを作成する |
ロール名 | 任意のロール名を設定 |
ポリシーテンプレート | 通知のアクセス許可,Amazon Q Developerのアクセス許可 |
チャネルガードレールポリシー | ReadOnlyAccess,AmazonQDeveloperAccess |
※ SlackチャネルでAmazon Q Chatを利用するためには、「AmazonQDeveloperAccess」の設定が必要となります。
今回はQ Chatを使用したかったため、設定しました。
https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/q-in-chat-applications.html
通知 - オプション
今回は特に設定していません。
設定箇所 | 設置値 |
---|---|
SNSトピック | ー |
タグ
今回は特に設定していません。
設定箇所 | 設置値 |
---|---|
タグ | ー |
最後に[設定]をクリックします。
- 設定完了
確認
テストメッセージが送信できるので、送信してみます。
設定したワークスペースのチャネルにメッセージが届いていました!
Amazon Q Developer in chat applicationsとSlackの統合はできていそうですね!
質問してみる
Slackで実際にAmazon Qに質問をしてみました。
EC2インスタンスの一覧を取得してもらおうとすると、ご丁寧にリージョンを聞いてくれました!
米国東部(バージニア北部)に検証用のインスタンスを立てていたので、そちらを見つけてきてもらいます。
権限不足でエラーが出ました。
申し訳ございませんが、お客様のEC2インスタンスを表示する権限がありません。EC2インスタンスを表示するには、
ec2:DescribeInstances
アクションの権限が必要です。AWSの認証情報に必要な権限があることを確認してください。これはIAMポリシーを通じて付与できます。
指示通り、IAMロールに必要な権限を付与してあげます。
今回はIAMポリシー「AmazonEC2ReadOnlyAccess」を付与しました。
IAMロールは、クライアントのアクセス許可設定にて作成したIAMロールです。
再度Slackにて問い合わせると、EC2の一覧を表示してくれました!
まとめ
Amazon Q Developer in chat applicationsとSlackの統合を実際に試してみました。
設定手順は比較的シンプルで、以下のポイントに注意すれば問題なく統合できると思います。
- Slackワークスペースとの連携設定
- 適切なチャンネルの設定
- IAMロールへの必要な権限付与
実際に使用してみると、Amazon QがSlack上でAWSリソースの情報を自然な会話形式で提供してくれるため、運用効率の向上が期待できそうです。
権限管理に注意は必要ですが、チーム内でのAWS情報共有や運用業務の自動化に活用できそうな機能だと感じました。