タダです.
ChatOps サービスの AWS Chatbot が一般利用開始されました.Amazon Chime や Slack へ他サービスからの通知メッセージを Lambda 等で処理する手間が不要でメッセージが最適化されているため楽だなとベータ期間中に感じました.この記事で Chatbot がどんな通知を受け取れるかを整理します.そして,もう1つの特徴である Slack からのコマンド実行も紹介して Chatbot を利用検討されている人の参考になれば嬉しいです.
Chatbot と他のサービスとの連携
Chatbot はドキュメントに記載のように SNS をターゲットにして他サービスのイベントや通知を Amazon Chime もしくは Slack で受け取れるようになります.
通知のイメージ aws.amazon.com
コスト管理
AWS のコスト管理で AWS Budgets のアラートも Chatbot への連携できます.メールで見るよりも Slack 等で見るようにすると楽でしょう.AWS Budgets 連携イメージとして公式ブログに載っていますが,予算に対する利用状況をアラート通知してくれます.
開発ツール の通知
CloudFormation の通知はスタックの実行ステータスを作成が開始した時と完了した時で通知してくれます.画像はスタックの作成が成功した時のものです.この他に CodeCommit/CodeBuild/CodeDeploy/CodePipeline の通知も送信可能です.
CloudWatch アラーム
CloudWatch アラームの通知も可能なので AWS リソースの監視アラートを通知してみました.画像は EC2 の CPU 使用率が60%を超えた場合のアラートですが,メトリクスの画像で状況も示してくれていてわかりやすいです.
CloudWatch イベントでの設定
CloudWatch イベントルールで設定した対応する他サービスの通知も Chatbot に統合可能です.
Config からの通知
AWS Config の変更履歴に関するイベントも通知できます.リソースの変更があった時スピーディーな感知ができるようになりそうです.
GuardDuty からの通知
GuardDuty のセキュリティ脅威イベントも通知できます.
PHD からの通知
Personal Health Dashboard の通知は以前記事でも紹介しましたが,影響を受けるリソースを通知してくれます.
SecurityHub からの通知
SecurityHub からのセキュリティチェック結果を通知したのが画像のものです.
Systems Manager からの通知
Systems Manager のイベントも通知を統合できます.画像は RunCommand の実行結果を通知した例です.
Slack から AWS CLI コマンドを実行
Chatbot は通知を受け取るだけでなく Slack から AWS CLI コマンドを実行できます.Chatbot にアタッチした IAM ロールにコマンド実行に必要なポリシーを適用します.今回はドキュメントに記載のある参照の権限を付与しました.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "iam:*", "kms:*", "sts:*", "cognito-idp:GetSigningCertificate", "ec2:GetPasswordData", "ecr:GetAuthorizationToken", "gamelift:RequestUploadCredentials", "gamelift:GetInstanceAccess", "lightsail:DownloadDefaultKeyPair", "lightsail:GetInstanceAccessDetail", "lightsail:GetKeyPair", "lightsail:GetKeyPairs", "redshift:GetClusterCredentials", "s3:GetBucketPolicy", "storagegateway:DescribeChapCredentials" ], "Resource": [ "*" ] } ] }
複数アカウントで設定されている場合,@aws set default-account
で切り替えてから実行していきます.
試しに CloudWatch のアラーム一覧を@aws cloudwatch describe-alarms
で出力できます.
他にも Lambda を実行したり,CloudWatch Logs の確認もドキュメントで紹介されていますので,運用中のシステムでアラートが出たのを確認して Slack から状況を確認するというアプローチも今後できますので活用していきたいと思います.
まとめ
Chatbot の通知できるサービスを整理しました.Slack を業務で使っている事例も多く聞くため業務との親和性も高い Chatbot を活用してチャットから AWS をさらに使いこなしていきましょう!