AWS Chatbot 常见问题

一般性问题

AWS Chatbot 是一种交互式座席,可让您轻松地在 Amazon ChimeMicrosoft TeamsSlack 频道中设置适用于 AWS 的 ChatOps,并与多个 AWS 服务安全交互。您可以在聊天室中接收有关操作事件、安全发现或预算警报的通知,您的整个团队可以在聊天室中查看和讨论这些通知。您可以从 Microsoft Teams 和 Slack 频道发出 AWS 命令行界面(CLI)命令,以检索诊断信息、调用 AWS Lambda 函数、配置 Amazon Simple Storage Service (S3) 存储桶、更改 Kinesis 分片、重新启动 Amazon Elastic Compute Cloud (EC2) 实例,以及解决 AWS System Manager 事件。

您可以收到来自 AWS 服务的通知,如 CloudWatch 告警、运行状况事件、Security Hub 检测结果、Budgets 提醒,以及 CloudFormation 堆栈事件。 您还可以收到 Amazon EventBridge 支持的大多数 AWS 服务事件的通知。有关支持的服务的完整列表,请参阅 AWS Chatbot 文档

AWS Chatbot 支持大多数 AWS 服务的只读和变化 CLI 命令。AWS Chatbot 不支持与凭证、授权和 AWS Identity and Access Management (IAM) 权限相关的服务和操作命令,如 IAM、STS、KMS 和 EC2.GetPasswordData。此外,您可以指定防护机制策略权限,定义频道中的可用命令。AWS Chatbot 命令使用大家熟悉的 AWS CLI 语法。要键入命令,请键入“@aws <command>”,在消息中提到 AWS Chatbot。 AWS Chatbot 将提供命令线索,如果使用的语法错误,将提示您需要的其他命令参数。

要开始使用 AWS Chatbot,请转到 AWS Chatbot 控制台,为 Microsoft Teams、Slack 或 Chime 创建配置,并将 AWS Chatbot 添加到频道或聊天室。

AWS Chatbot 可帮助您的整个团队随时了解 AWS 环境中运行的应用程序的操作事件、安全发现或预算警报并对其作出响应和解决。如果使用 AWS Chatbot 支持的聊天应用程序,则可以将 AWS Chatbot 配置为在团队频道或聊天室中发布通知并运行命令,以便您的整个团队可以查看这些通知并快速采取行动。例如,您可以设置 CloudWatch 告警,进入“Cloud DevOps”聊天频道,DevOps 工程师可以在其中查看告警,发生事件后立刻检索诊断信息,讨论迁移计划,通过从聊天频道配置 AWS 资源或运行 AWS Systems Manager 运行手册来解决告警。

您可以在配有 AWS Chatbot 的 Microsoft Teams 和 Slack 频道中与 Amazon Q 开发者版聊天。AWS Chatbot 中的 Amazon Q 可以回答有关您 AWS 账户中的资源、用来构建解决方案的最佳实践、问题排查和如何确定后续步骤的问题。您可以直接在聊天频道中键入 "@aws list by ec2 instances in us-west-1" 或“@aws 如何解决 Lambda 并发性问题?”,以便向 Amazon Q 提问。

有关更多信息,请参阅在 AWS Chatbot 中与 Amazon Q 开发者版聊天

AWS Chatbot 是预构建的交互式座席,设计用于监控、操作您的 AWS 资源(ChatOps)并与之交互。借助 AWS Chatbot,您可以安全地接收警报,从 Amazon CloudWatch 和 AWS GuardDuty 等服务请求诊断信息,并通过运行 CLI 命令(如执行 AWS System Manager 运行手册,或增加 Microsoft Teams 或 Slack 频道中 AWS Lambda 并行限制的命令)来解决事件。

Amazon Lex 提供高级深度学习功能,包括用于语音文本转换的自动语音识别(ASR)和自然语言理解(NLU),可识别意图并构建逼真交互。这可以让您快速和轻松构建自己复杂的自然语言对话机器人。

AWS 聊天机器人不额外收费。您仅为用于 AWS Chatbot 的 AWS 资源付费,例如 Amazon Simple Notification Service (SNS) 主题或 Amazon CloudWatch 告警。

您可以使用 AWS CLI、AWS CloudFormation、AWS 云管控 API 和软件开发工具包来预置 Microsoft Teams 和 Slack 频道配置。Terraform 用户可以通过 AWS 提供商管理 Chatbot 频道配置。

AWS Chatbot 是一项全球服务,可用于所有商业 AWS 区域。您可以在单个 AWS Chatbot 配置中组合来自多个区域的 Amazon SNS 主题。有关可用性的详细信息,请访问 AWS 区域产品和服务表

AWS Chatbot 是一项全球性服务,我们可以在任何商业 AWS 区域存储或处理客户信息,如 Chatbot 配置与权限、Microsoft Teams 团队标识符、Slack 工作区标识符和频道名称、通知、用户输入和 AWS Chatbot 生成的响应与图像。

您可以联系 AWS Support,请求删除用于分析的数据,提高账户相关服务的质量。您的信任、隐私与数据安全性是我们最重视的问题,我们会采取适当并且先进的技术和物理控制措施(包括静态和动态加密)来防止他人未经授权访问或披露您的数据,并确保我们依照对您的承诺使用您的内容。有关更多信息,请参阅 https://thinkwithwp.com/compliance/data-privacy-faq/。 

如果选择不使用数据改进和提高 AWS Chatbot 以及其他 Amazon 机器学习/人工智能技术的质量,将从所有 AWS 区域移除您的数据。有关如何选择退出的更多信息,请联系 AWS Support。

您可以自定义 AWS Chatbot,以满足您的 ChatOps 使用案例。您可以指定不同的频道,以监控和操作云应用程序的不同方面。您可以通过一个频道操作多个账户和区域中的资源。借助基于 IAM 的权限、护栏和服务控制策略(SCP),您可以决定频道成员可以从聊天频道中执行的操作的类型。

您还可以发送自定义通知,以了解您的资源和应用程序的状态。您还可以自定义通知上的操作按钮以及配置命令别名,以便能够快速运行命令以诊断和修复问题。

聊天客户端集成

AWS Chatbot 支持 Microsoft Teams、Slack 和 Amazon Chime。目前仅 Microsoft Teams 和 Slack 支持运行命令。

AWS Chatbot 通过 Webhook 与 Amazon Chime 集成。

AWS Chatbot 使用 AWS Chatbot for Microsoft Teams 应用程序(可在 Microsoft Teams 中安装)与 Microsoft Teams 集成。您在 AWS Chatbot 控制台中创建 Microsoft Teams 频道配置,并授权 AWS Chatbot 向已配置的频道发送通知以及在聊天频道中处理 AWS 命令。安装是通过浏览器中的点击式流或使用 AWS CloudFormation 模板执行的,需要几分钟才能完成设置。

AWS Chatbot 通过 AWS Chatbot Slack 应用程序与 Slack 集成,您可以从 AWS Chatbot 控制台将该应用程序安装到 Slack 工作区。安装是通过浏览器中的点击式 OAuth 2.0 流执行的,只需几秒钟即可完成。

AWS Chatbot 配置是 Microsoft Teams 频道、Slack 频道或 Amazon Chime 聊天室与 Amazon SNS 主题和具有相关防护机制策略的 AWS IAM 角色的映射。

通知

AWS Chatbot 通过 Amazon SNS 主题与支持的 AWS 服务集成。您需要将服务配置为将通知发布到 SNS 主题,然后创建将主题映射到 Amazon Chime、Microsoft Teams 或 Slack 频道的 AWS Chatbot 配置。

要从具有 AWS Chatbot 的支持的服务接收 EventBridge 事件通知,请使用 Amazon SNS 主题作为 EventBridge 事件规则的目标,然后在 AWS Chatbot 配置中使用该主题。EventBridge 接收与规则定义的事件模式匹配的事件后,事件规则触发,将事件通知发送到配置的聊天频道。有关支持的服务的完整列表,请参阅 AWS Chatbot 文档

单击通知的标题以导航到 AWS 管理控制台页面以获取通知源。例如,如果您单击 AWS Budgets 通知上的标题,您将进入该特定预算的详细信息页面,可以在其中查看并分析预算绩效。

可以。AWS Chatbot 支持向聊天频道发送 Amazon EventBridge 事件和自定义应用程序事件通知。Amazon EventBridge 事件通知发送到聊天频道,带有原始事件消息内容。使用 AWS Chatbot 自定义通知,您可以在通知中定义和添加额外的信息,以监控您的 AWS 应用程序的运行状况和性能。要为应用程序事件发送自定义通知或者修改现有的 EventBrige 事件,您可以将事件以 Chatbot 自定义通知架构格式发送到 SNS 主题。客户可以编写 Lambda 函数或使用 EventBridge InputTransformers 来生成这些事件。

有关更多信息,请参阅 AWS Chatbot 中的自定义通知

不可以。只能使用托管 AWS Chatbot 配置的 AWS 账户的 SNS 主题。但是,您可以在其他 AWS 账户中创建 Chatbot 配置,将这些配置映射到一个聊天室。由于每个 AWS Chatbot 配置链接到单独的 AWS 账户,因此配置将彼此独立。或者,您可以使用一个 AWS Chatbot 配置和一个 Amazon SNS 主题,接收 Amazon Chime、Microsoft Teams 和 Slack 频道中 AWS 账户与区域之间的 EventBridge 事件通知。有关接收 AWS 账户与区域之间的 EventBridge 事件通知的更多信息,请参阅 AWS Chatbot 文档。

符合。您可以在同一 AWS Chatbot 配置中使用来自多个公共 AWS 区域的 SNS 主题。

您可以使用 Amazon SNS 筛选策略或 Amazon CloudWatch 事件规则筛选有关支持筛选的事件的通知。对于其他事件,筛选不可用。

尽管您无法直接自定义 AWS 服务事件通知的格式,但可以使用 AWS Chatbot 自定义通知在通知中定义和添加额外的信息,以监控您的 AWS 应用程序在 Microsoft Teams 和 Slack 频道中的运行状况和性能。有关更多信息,请参阅 AWS Chatbot 中的自定义通知

是的,AWS Chatbot 受 Microsoft Teams、Slack 和 Amazon Chime 的速率限制。有关详细信息,请参阅 Microsoft Teams 开发人员文档Slack Web API 文档Amazon Chime Webhook 文档

AWS Chatbot 支持 Amazon EventBridge 处理的 AWS 服务事件的通知。如果 AWS Chatbot 当前不支持您需要的服务,将无法用于 AWS Chatbot。请使用 AWS Chatbot 控制台页脚中的“反馈”按钮提交请求以供考虑。

要从通知取消订阅频道或聊天室,可以移除相应配置。如果您只想取消订阅频道或聊天室中的某些通知,则可以从 AWS Chatbot 配置中移除特定的 Amazon SNS 主题。

您可以在 Amazon CloudWatch 指标和日志中看到通知尝试和失败的详细信息。有关故障排除的更多详细信息,请参阅 AWS Chatbot 文档

运行命令和操作

要在 Microsoft Teams 或 Slack 频道中运行命令,请先使用 AWS Chatbot 控制台创建频道配置。

要开始在 Microsoft Teams 或 Slack 中与 AWS Chatbot 进行交互,请键入“@aws”,然后输入使用标准 AWS CLI 语法的命令。例如,要获取 CloudWatch 告警的列表和图表,请键入“@aws cloudwatch describe-alarms”。您可以在 Microsoft Teams 和 Slack 频道中运行只读和变化 CLI 命令。请参阅 AWS Chatbot 文档,以了解与 AWS CLI 相比的限制。如果不记得命令语法,AWS Chatbot 将提供命令线索,要求提供需要的其他命令参数,完成命令。

您还可以使用命令别名来运行命令,或者选择推荐的 Chatbot 服务或自定义操作按钮。

AWS Chatbot 支持大多数 AWS 服务的命令,其权限范围由 AWS Chatbot 配置中使用的 IAM 角色和频道 IAM policy 防护机制定义。无论 IAM 角色权限如何,都将禁用对某些服务和命令(例如 IAM 和 AWS Key Management Service (KMS))的访问,以防止在聊天频道中公开凭证。请参阅 AWS Chatbot 文档,了解有关权限的详细信息。

直接消息目前不受支持。您可以创建一个仅包含您自己及 AWS Chatbot 的私有频道,并将其用作直接消息通信的频道。

消息操作是快捷方式,通过单击 AWS Chatbot 发送的通知和消息上的按钮,可以快速执行操作。例如,针对 Lambda 函数和 API Gateway 阶段的 CloudWatch 告警通知具有“Show Logs”(显示日志)和“Show Error Logs”(显示错误日志)按钮,这些按钮将在聊天频道中显示受影响资源的日志。

目前,你可以在 Microsoft Teams 和 Slack 中使用命令和操作。

安全和监管

客户可以使用 AWS Organizations 中的聊天机器人策略和多账户管理服务,以确定可以使用哪些权限模型、聊天应用程序和聊天工作区来访问他们的账户。例如,可以只允许通过指定工作区/团队中的聊天通道访问生产账户。客户还可以使用服务控制策略(SCP)为通过聊天频道执行的 CLI 命令任务指定护栏。例如,您可以指定拒绝通过聊天通道执行的所有 rds: delete-db-cluster CLI 操作。

AWS Chatbot 配置使用该服务在代表 AWS Chatbot 用户进行 API 调用和运行命令时承担的 IAM 角色。可以对分区频道 IAM 角色或单个用户 IAM 角色设置 AWS Chatbot 权限范围。对于分区频道角色,所有频道成员使用共享 IAM 角色运行命令。或者,可以配置 AWS Chatbot 要求频道成员选择 IAM 角色以运行命令。权限范围由频道防护机制 IAM 策略进一步控制。请参阅 AWS Chatbot 文档,了解有关权限的详细信息。 

有关详细信息,请参阅 AWS Chatbot 文档。 

AWS Chatbot 提供其在 CloudWatch Logs 中执行的命令的审计日志。该日志包含执行的命令及其聊天工作区 ID、频道 ID 和频道用户 ID 属性。CloudWatch Logs 中的审计日志始终启用,无法禁用。有关详细信息,请参阅 AWS Chatbot 文档