Sending Amazon SNS messages to an Amazon SQS queue or Amazon Lambda function in a different Region - Amazon Simple Notification Service
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Sending Amazon SNS messages to an Amazon SQS queue or Amazon Lambda function in a different Region

Amazon SNS supports cross-region deliveries, both for Regions that are enabled by default and for opt-in Regions. For the current list of Amazon Regions that Amazon SNS supports, including opt-in Regions, see Amazon Simple Notification Service endpoints and quotas in the Amazon Web Services General Reference.

Amazon SNS supports the cross-region delivery of notifications to Amazon SQS queues and to Amazon Lambda functions. When one of the Regions is an opt-in Region, you must specify a different Amazon SNS service principal in the subscribed resource's policy.

The Amazon SNS subscription command must be executed in the target account in the Region where Amazon SNS is hosted. For example, if Amazon SNS is in account "A" in the us-east-1 region, and the Lambda function is in account "B" in the us-east-2 region, the subscription CLI command must be executed in account "A" in the us-east-1 region.

Opt-in Regions

Amazon SNS supports the following opt-in Regions:

Region name Region

Africa (Cape Town) Region

af-south-1

Asia Pacific (Hong Kong) Region

ap-east-1

Asia Pacific (Hyderabad) Region

ap-south-2

Asia Pacific (Jakarta) Region

ap-southeast-3

Asia Pacific (Melbourne) Region

ap-southeast-4

Asia Pacific (Osaka) Region

ap-northeast-3

Europe (Milan) Region

eu-south-1

Europe (Spain) Region

eu-south-2

Europe (Zurich) Region

eu-central-2

Israel (Tel Aviv) Region

il-central-1

Middle East (Bahrain) Region

me-south-1

Middle East (UAE) Region

me-central-1

For information on enabling an opt-in Region, see Managing Amazon Regions in the Amazon Web Services General Reference.

When you use Amazon SNS to deliver messages from opt-in Regions to Regions that are enabled by default, you must alter the resource policy created for the queue. Replace the principal sns.amazonaws.com with sns.<opt-in-region>.amazonaws.com. For example:

  • To subscribe an Amazon SQS queue in US East (N. Virginia) to an Amazon SNS topic in Asia Pacific (Hong Kong), change the principal in the queue policy to sns.ap-east-1.amazonaws.com. Opt-in regions include any regions launched after March 20, 2019, which includes Asia Pacific (Hong Kong), Asia Pacific (Jakarta), Middle East (Bahrain), Europe (Milan), and Africa (Cape Town). Regions launched prior to March 20, 2019 are enabled by default.

    Cross-region delivery support to Amazon SQS and Lambda
    Cross-region delivery type Supported/Not supported
    Default-enabled Region to opt-in Region

    Amazon SQS – Supported using sns.<opt-in-region>.amazonaws.com in the service principal for the queue

    Lambda –

    Opt-in Region to default-enabled Region

    Supported using sns.<opt-in-region>.amazonaws.com in the service principal for the queue

    Opt-in Region to opt-in Region

    Not supported

    The following is an example of an access policy statement that allows an Amazon SNS topic in an opt-in Region (af-south-1) to deliver to an Amazon SQS queue in an enabled-by-default Region (us-east-1). It contains the necessary regionalized service principal configuration under the path 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-cn:sqs:us-east-1:111111111111:destination_queue_name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws-cn:sns:af-south-1:111111111111:source_topic_name" } } }, ... ] }
  • To subscribe an Amazon Lambda function in US East (N. Virginia) to an Amazon SNS topic in Asia Pacific (Hong Kong), change the principal in the Amazon Lambda function policy to sns.ap-east-1.amazonaws.com. Opt-in regions include any regions launched after March 20, 2019, which includes Asia Pacific (Hong Kong), Asia Pacific (Jakarta), Middle East (Bahrain), Europe (Milan), and Africa (Cape Town). Regions launched prior to March 20, 2019 are enabled by default.

    Cross-region delivery support to Amazon Lambda
    Cross-region delivery type Supported/Not supported
    Default-enabled Region to opt-in Region Not supported

    Opt-in Region to default-enabled Region

    Supported using sns.<opt-in-region>.amazonaws.com in the service principal for the Lambda function
    Opt-in Region to opt-in Region Not supported