Amazon Q Developer in chat applicationsをSlack統合して、チャットで対話してみた
クラウド事業本部イノベーション部の いそま です。
Amazon Q Developer in chat applicationsをSlack統合し、実際に動かしてみましたので、ご紹介します。
Amazon Q Developer in chat applicationsとSlackの統合
Amazon Q Developer in chat applicationsとSlackを統合する方法をご紹介します。
まずは、Amazon Q Developer in chat applicationsにSlackのワークスペースをクライアントとして設定します。
- AWSコンソールにログイン後、Amazon Q Developer in chat applicationsに遷移
- [チャットクライアント設定]にて、[Slack]を選択
- [クライアントを設定]をクリック
- ワークスペースを設定して、[許可する]を選択する
- クライントの作成完了
上部のバナーに『Slack に通知を送信する前に、少なくとも 1 つのチャネルを設定する必要があります』とあるので、<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
通知 - オプション
タグ
- 今回は特に設定せず、デフォルトのままにしました。
最後に[設定]をクリックします。
- 設定完了
確認
テストメッセージが送信できるので、送信してみます。
設定したワークスペースのチャネルにメッセージが届いていました!
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情報共有や運用業務の自動化に活用できそうな機能だと感じました。