繁体   English   中英

跨账号、跨地域SNS消息处理

[英]Cross account, cross region SNS message processing

我们正在努力将 SNS 整合到 HTTPS API 两个团队之间。 因此,另一个团队在us-east-1区域配置了 SNS 主题,而我们的 HTTPS API 在us-west-2区域运行。

只是想检查我们是否可以处理从us-east-1us-west-2区域中的不同 AWS 账户生成的 SNS 消息。

我在某处读到(现在不记得博文链接了),如果 SNS 消息是在us-east-1中生成的,则它们必须仅在us-east-1中处理。 如果我们尝试在us-east-2中处理,消息签名验证将失败并抛出无效的 TopicArn 异常。

是否正确请指导。

因此,另一个团队在us-east-1区域配置了SNS主题,我们的HTTPS API在us-west-2区域运行。

当SNS发布到HTTPS端点时,端点可以位于Internet上的任何位置 它根本不需要在AWS中。 只要您的HTTPS端点可以从Internet访问并且具有有效的SSL证书(与主机名匹配,未过期,由认可的证书颁发机构签名,而不是自签名),这就是SNS所需要的全部内容。

目标区域和目标AWS账户在此类设置中失去了所有意义。 这里没有约束。

如果主题在us-east-1中,那么发送 SNS的所有请求必须被发送 us-east-1端点(例如, SubscribePublish ),但即使这样,它们也可以因特网上的任何地方发送。

通过将 API 网关附加到 lambda 并复制相同的 HTTPS URL,可以通过 lambda 的 HTTPS 端点跨区域配置 SNS。

拿到后HTTPS URL 的lambda 哪个地区都可以。 可能你只是在SNS服务中通过创建订阅在SNS服务中添加了SNS服务订阅部分。

之后,只需发布一条消息。 如果您在 lambda 中打印事件,您将在 Cloudwatch 日志中看到条目。您将看到类似“订阅 URL”的内容。 复制 URL 并将其粘贴到 SNS 服务中,在那里您将能够看到“Pending on Subscription”。 这将适用于最新的亚马逊 SNS 服务。

我尝试并测试了它以验证它是否有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM