2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

5分でできる SlackでBedrock連携 with Terraform

Last updated at Posted at 2025-04-30

はじめに

GW でもカレンダー通りに仕事中の @___nix___ です。
いつも地味が記事を公開していますが、たまには AI系 の記事をということでご紹介致します。

記事執筆の理由は以下の記事で、毎度のこと、Terraform で簡単に使いたいというのが理由でした。

背景

AWS BedrockとSlackの連携は、AWS Chatbotの機能拡張により実現可能になりました。しかし、この設定には以下の課題がありました。

  1. 手動での設定作業が多く、時間がかかる
  2. 設定の再現性が低い
  3. 環境ごとの設定管理が煩雑
  4. セキュリティ設定の一貫性が保ちにくい

これらの課題を解決するため、Terraformモジュールとして実装することで、インフラストラクチャのコード化(Infrastructure as Code)を実現しました。

概要

terraform-aws-bedrock-slack-agent は、AWS BedrockエージェントとSlackの連携を自動化するTerraformモジュールです。主な特徴は以下の通りです。

  1. シンプルな設定

    • 必要なのはSlackチャンネルIDとチームIDのみ
    • その他の設定はデフォルト値で最適化済み
  2. セキュリティの考慮

    • IAMロールとポリシーの適切な設定
    • 最小権限の原則に基づく設計
  3. 柔軟なカスタマイズ

    • エージェントの指示や説明のカスタマイズ
    • モデルの選択やパラメータの調整が可能
  4. 運用のしやすさ

    • 環境ごとの設定管理が容易
    • 変更履歴の追跡が可能

使い方

前提条件

  • AWSアカウント(Bedrockの利用権限が必要)
  • Slackワークスペース(管理者権限が必要)
  • Terraform v1.11.4以上

セットアップ手順

  1. モジュールのせt

    module "aws_bedrock_slack_agent" {
      source = "./modules/aws-bedrock-slack-agent"
      
      chatbot_slack_channel_id = "C0123456789"
      chatbot_slack_team_id    = "T0123456789"
    }
    
  2. Terraformの実行

    terraform init
    terraform apply
    
  3. Slackでの設定

    • AWS Chatbotアプリの追加
    • エージェントの接続
    • 質問の開始

カスタマイズ例

module "aws_bedrock_slack_agent" {
  source = "./modules/aws-bedrock-slack-agent"

  bedrock_agent_name        = "custom-agent"
  bedrock_agent_instruction = "カスタム指示..."
  bedrock_agent_description = "カスタムAIアシスタント"
  
  chatbot_slack_channel_id = "C0123456789"
  chatbot_slack_team_id    = "T0123456789"
  chatbot_logging_level    = "DEBUG"
}

終わりに

このモジュールにより、AWS BedrockとSlackの連携がより簡単に、より安全に実現できるようになりました。今後も以下のような機能追加を予定しています。

  1. 複数のSlackチャンネルへの対応
  2. より細かい権限設定のオプション
  3. モニタリングとアラートの設定
  4. バックアップとリストアの機能

また、コミュニティからのフィードバックを積極的に取り入れ、より使いやすいモジュールにしていきたいと考えています。

一言

この記事良かったと少しでも思って頂けたら是非 @___nix___ をフォローしてあげてください。或いは記事に対してリアクションをお願い致します。

謝辞

このモジュールの作成にあたり、以下の記事を参考にさせて頂きました。

ついにBedrockとSlackがノーコードで連携できるようになったよ! by @moritalous
この記事で紹介されている手順を基に、Terraformモジュールとして実装することで、より再現性の高い設定が可能になりました。

この場を借りて感謝申し上げます。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?