AWS Chatbot のアイコン

AWS Chatbot 专业2019年〜

在 Slack 和 Microsoft Teams 中接收 AWS 资源通知并进行操作的交互式代理

它能做什么

AWS Chatbot 是一个交互式代理,可以将 AWS 通知发送到 Slack 或 Microsoft Teams 频道,并从聊天中操作 AWS 资源。它能自动将 CloudWatch 告警、AWS Health 事件、Security Hub 检测结果等通知发送到聊天频道。此外,还可以从聊天中执行 AWS CLI 命令来查看和操作资源状态。

使用场景

用于将生产环境告警实时通知到团队的 Slack 频道、在事件发生时从聊天中快速确认情况并响应、即时通知 AWS 成本异常、通知部署完成或流水线失败等。是实现 ChatOps(基于聊天的运维)的理想选择。

日常类比

可以将其比作公司的联络员。当服务器机房(AWS)出现问题时,联络员(Chatbot)会立即跑到团队的会议室(Slack 频道)进行汇报。而且,如果从会议室说“让我看看服务器状态”,联络员就会去服务器机房把信息带回来。

什么是 AWS Chatbot

AWS Chatbot 是一项将 Slack 或 Microsoft Teams 与 AWS 连接的服务。在 AWS 运维中,确认告警或检查资源状态需要登录 AWS 控制台。使用 Chatbot,您可以在日常使用的聊天工具中接收 AWS 通知,甚至执行简单的操作。团队所有成员都能实时共享状况。

通知分发

Chatbot 通过 SNS 主题将 AWS 的各类通知分发到聊天频道。CloudWatch 告警(如 CPU 使用率飙升)、AWS Health 事件(服务故障信息)、Security Hub 检测结果、Budgets 成本告警等都会自动发布到聊天中。通知以富文本格式显示,包含告警详情和图表链接。

从聊天操作 AWS

使用 Chatbot,可以从聊天频道执行 AWS CLI 命令。例如,输入 @aws cloudwatch describe-alarms 就会显示告警列表。可执行的命令由 IAM 角色控制,因此可以仅授予只读权限来安全运维。还可以调用 Lambda 函数或查看 ECS 服务状态。 关于从聊天操作 AWS 的详细说明,也可以参考Amazon 的解说书

开始使用

在 AWS Chatbot 控制台中选择“配置新客户端”,选择 Slack 或 Microsoft Teams 并认证工作区。选择频道并设置 Chatbot 使用的 IAM 角色。要接收通知,需要创建 SNS 主题并关联到 Chatbot 频道,然后将 CloudWatch 告警等的通知目标指定为该 SNS 主题。

注意事项

  • AWS Chatbot 本身免费使用,通知分发和命令执行不产生额外费用(SNS 费用另计)
  • 从聊天中可执行的 AWS CLI 命令取决于 IAM 角色的权限,请遵循最小权限原则设置适当的权限
  • Chatbot 支持 Slack 的公共频道和私有频道,但不支持 DM(私信)
共有するXB!