概要
Slack(Chatbot)経由でLambdaを使ってChatOpsを実現できるのでその方法について解説します
前提
- SlackのワークスペースとChatbotとの連携が完了していること
ChatOpsとは
Chatツール(Slack、Teamsなど)を通じてシステム開発・運用から一般業務などさまざまな業務の効率化を行う手法のことです
ChatOpsでできることは色々あり、Slackにメッセージを送ることで
- SSOユーザの発行
- SGへIPアドレスを登録
- デプロイ
などさまざまなことを行うことができます
また、Slackのワークフローを組み合わせることでより汎用性が高くなります
Chatbotの設定
Chatbotの設定を行います
設定名とチャネルIDを設定します
アクセスロールは下記の通りに行います
Lambda経由で処理を実行するので今回はガードレールポリシーにAWSLambda_FullAccessを追加します
設定が終わったら保存を押します
以下のように設定できれば成功です
Lambdaの作成
以下の通りにLambdaを作成します
今回は以下のレスポンスを返す簡単なLambdaを使ってChatOpsを実現します
Slack内でChatbotの設定を行うには
以下のコマンドを実行するとAWSが招待されます
/invite @aws
また、以下のコマンドを実行するとChatbotの色々な使い方が表示されます
@aws --help
実際に実行してみよう!
以下のようにawsのアプリケーションにメンションした上でaws cliを使ってLambdaを実行します
@aws lambda invoke --function-name TestChatOps --region ap-northeast-1
以下のようにコマンドが実行されてLambdaからレスポンスが返ってきたら成功です
参考