向不同地区的亚马逊SQS队列或 AWS Lambda 函数发送亚马逊SNS消息 - Amazon Simple Notification Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

向不同地区的亚马逊SQS队列或 AWS Lambda 函数发送亚马逊SNS消息

Amazon SNS 支持跨区域配送,既适用于默认启用的区域,也适用于可区域。有关亚马逊SNS支持的 AWS 区域的最新列表(包括可选区域),请参阅中的亚马逊简单通知服务终端节点和配额。Amazon Web Services 一般参考

Amazon SNS 支持跨区域向亚马逊SQS队列和 AWS Lambda 函数发送通知。当其中一个区域是可选区域时,您必须在订阅资源的政策中指定不同的亚马逊SNS服务委托人。

亚马逊SNS订阅命令必须在亚马逊SNS所在的相应区域中执行。例如,如果亚马逊在 us-SNS east-1 区域的账户 “A” 中,而 Lambda 函数位于 us-east-2 区域的账户 “B” 中,则订阅CLI命令必须在 us-east-1 区域的账户 “A” 中执行。

选择加入的区域

Amazon SNS 支持以下选择加入区域:

区域名称 区域

非洲(开普敦)区域

af-south-1

亚太地区(香港)区域

ap-east-1

亚太地区(海得拉巴)区域

ap-south-2

亚太地区(雅加达)区域

ap-southeast-3

亚太地区(墨尔本)区域

ap-southeast-4

亚太地区(大阪)区域

ap-northeast-3

欧洲地区(米兰)

eu-south-1

欧洲地区(西班牙)区域

eu-south-2

欧洲(苏黎世)

eu-central-2

以色列(特拉维夫)区域

il-central-1

中东(巴林)区域

me-south-1

中东 (UAE) 区域

me-central-1

有关启用可选区域的信息,请参阅中的Amazon Web Services 一般参考管理 AWS 区域

当您使用 Amazon SNS 将来自可选区域的消息传送到默认启用的区域时,您必须更改为队列创建的资源策略。将委托人 sns.amazonaws.com 替换为 sns.<opt-in-region>.amazonaws.com。例如:

  • 要为美国东部(弗吉尼亚北部)的亚马逊SQS队列订阅亚太地区(香港)的亚马逊SNS主题,请将队列策略中的委托人更改为sns.ap-east-1.amazonaws.com。选择加入区域包括 2019 年 3 月 20 日之后推出的任何区域,包括亚太地区(香港)、亚太地区(雅加达)、中东(巴林)、欧盟(米兰)和非洲(开普敦)。2019 年 3 月 20 日之前推出的区域默认情况下处于启用状态。

    向 Amazon 提供跨区域配送支持 SQS
    跨区域传输类型 支持/不支持
    原定设置启用的区域至选择加入区域

    在队列的服务主体中使用 sns.<opt-in-region>.amazonaws.com 提供支持

    选择加入区域至原定设置启用的区域

    在队列的服务主体中使用 sns.<opt-in-region>.amazonaws.com 提供支持

    选择加入区域至选择加入区域

    不支持

    以下是访问策略声明的示例,该声明允许选择加入区域 (af-south-1) 中的亚马逊SNS主题发送到某个区域 (us-east-1) 中的亚马逊SQS队列。enabled-by-default 它在路径 Statement/Principal/Service 下包含必要的区域化服务主体配置。

    { "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "allow_sns_arn:aws:sns:af-south-1:111111111111:source_topic_name", "Effect": "Allow", "Principal": { "Service": "sns.af-south-1.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:us-east-1:111111111111:destination_queue_name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sns:af-south-1:111111111111:source_topic_name" } } }, ... ] }
  • 要将美国东部(弗吉尼亚北部)的 AWS Lambda 函数订阅亚太地区(香港)的亚马逊SNS主题,请将 AWS Lambda 函数策略中的主体更改为sns.ap-east-1.amazonaws.com。选择加入区域包括 2019 年 3 月 20 日之后推出的任何区域,包括亚太地区(香港)、亚太地区(雅加达)、中东(巴林)、欧盟(米兰)和非洲(开普敦)。2019 年 3 月 20 日之前推出的区域默认情况下处于启用状态。

    跨区域配送支持 AWS Lambda
    跨区域传输类型 支持/不支持
    原定设置启用的区域至选择加入区域 不支持

    选择加入区域至原定设置启用的区域

    在 Lambda 函数的服务主体中使用 sns.<opt-in-region>.amazonaws.com 提供支持

    选择加入区域至选择加入区域 不支持