通常与 Amazon SNS 搭配使用的 Amazon 服务 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

通常与 Amazon SNS 搭配使用的 Amazon 服务

将 Amazon SNS 与多种 Amazon Web Services 云服务集成,以增强消息处理、改善访问控制、启用事件驱动型处理并实现资源自动化。这种集成优化了性能,增强了安全性,并简化了操作。

Amazon CloudWatch

Amazon CloudWatch 为 Amazon SNS 提供监控和可观测性,帮助您跟踪消息传输、检测异常情况和解决问题。借助 CloudWatch,您可以:

  • 监控 Amazon SNS 指标,例如跨主题和订阅发布、传输或失败的消息数量。

  • 设置 CloudWatch 警报,以便在 Amazon SNS 指标超过预定义阈值(例如高传输失败率或节流)时触发自动操作。

  • 使用 CloudWatch Logs 捕获发送到 HTTP/S、Lambda 和 Amazon SQS 端点的消息的 Amazon SNS 传输状态以进行调试和审计。

有关更多信息,请参阅 使用 CloudWatch 监控 Amazon SNS

Amazon SQS

Amazon SQS 是一种完全托管式消息队列服务,可实现分布式软件组件之间安全、持久和可扩展的通信。它通过缓冲消息、确保消息可靠传输并防止因消息丢失而导致系统故障,帮助解耦应用程序架构。Amazon SQS 通过以下方式与 Amazon SNS 集成:

  • 死信队列 - Amazon SNS 可以将无法传输的消息路由到 Amazon SQS 死信队列,以进行故障排除和重新处理。

  • 主题订阅 - 您可以将 Amazon SQS 队列订阅到 Amazon SNS 主题,从而使 Amazon SNS 能够使用 Amazon SQS 将消息扇出到多个使用者。

  • FIFO 队列支持 - 可以将 Amazon SQS FIFO 队列订阅到 Amazon SNS FIFO 主题,从而确保严格的消息排序和一次性处理。标准 Amazon SQS 队列也可以订阅到 Amazon SNS 主题,但不能保证按顺序传输消息或删除重复数据。

Amazon CloudFormation

Amazon CloudFormation使用基础设施即代码(IaC)自动预置和管理Amazon资源,包括 Amazon SNS 主题和订阅。通过使用 Amazon CloudFormation,您可以:

  • 在可重复使用、受版本控制的模板中定义 Amazon SNS 主题、订阅和权限

  • 确保跨多个 Amazon Web Services 账户和区域一致地部署 Amazon SNS 资源。

  • 使用更改集更新或修改 Amazon SNS 配置,无需人工干预。

有关更多信息,请参阅《Amazon CloudFormation 用户指南》

Amazon CloudTrail

借助 CloudTrail,可以了解 Amazon SNS 的 API 活动,帮助您监控和审核对 Amazon SNS 主题、订阅和消息的访问权限。借助 CloudTrail,您可以:

  • 跟踪对 Amazon SNS 的 API 调用,包括谁访问或修改了主题、订阅和权限。

  • 出于安全和合规目的,通过分析日志来检测未经授权或意外的活动

  • 与 Amazon CloudWatch 或 Amazon Security Hub CSPM 集成,根据异常 Amazon SNS 操作创建警报。

有关更多信息,请参阅使用 Amazon CloudTrail 记录 Amazon SNS API 调用日志

Amazon Lambda

Amazon Lambda 是一项无服务器计算服务,可自动运行代码来响应事件并无需预置或管理服务器。借助该服务,您可以构建事件驱动型应用程序,这些应用程序可以自动扩展并在高度可用的计算环境中执行。

Amazon SNS 通过让 Lambda 函数订阅到 Amazon SNS 主题与 Lambda 集成。当 Amazon SNS 主题收到消息时,它可以触发 Lambda 函数,从而实现实时处理、自动化和应用程序逻辑执行。这种集成通常用于:

  • 事件驱动型处理 - 自动触发函数以响应 Amazon SNS 消息。

  • 数据转换 - 修改或筛选 Amazon SNS 消息,然后再将其转发到其他服务。

  • 自动化工作流程 - 处理应用程序警报、系统监控或事件编排的通知。

Amazon Identity and Access Management(IAM)

IAM 为 Amazon 资源提供安全的访问控制,您可以借此管理谁可以访问您的 Amazon SNS 主题、他们可以执行哪些操作以及在什么条件下可以执行哪些操作。使用 IAM,您可以:

  • 用户和服务与 Amazon SNS 主题互动之前对其进行身份验证

  • 定义精细权限以指定用户或角色可以发布、订阅或管理的 Amazon SNS 主题。

  • 使用基于身份的策略来实施安全最佳实践,例如限制对特定 Amazon Web Services 账户、IP 地址或条件的访问。

有关更多信息,请参阅 将基于身份的策略用于 Amazon SNS

Amazon Key Management Service (Amazon KMS)

Amazon KMS 通过启用服务器端加密(SSE)来实现消息机密性,从而增强 Amazon SNS 的安全性。通过使用 Amazon KMS,您可以:

  • 使用 Amazon 托管加密密钥(CMK)或客户自主管理型加密密钥对 Amazon SNS 静态消息进行加密

  • 通过定义用于限制谁可以进行发布或订阅的精细密钥策略来控制对 Amazon SNS 主题的访问权限

  • 通过 Amazon CloudTrail 审计密钥使用情况确保遵循安全和监管要求

有关更多信息,请参阅 管理 Amazon SNS 加密密钥和成本

Amazon X-Ray

X-Ray 为 Amazon SNS 提供跟踪功能,帮助您分析和调试通过事件驱动架构的消息流。使用 X-Ray,您可以:

  • 跟踪 Amazon SNS 消息的传输Amazon Web Services 服务,例如 Lambda、Amazon SQS 和 HTTP/S 端点。

  • 通过可视化消息发布、传输和处理所需的时间来识别延迟瓶颈

  • 检测 Amazon SNS 消息流中的错误和重试次数,以解决传输失败或处理时间缓慢的问题。

有关更多信息,请参阅 Amazon SNS 中的主动跟踪