我可以在法兰克福的EC2实例中使用AWS SNS SMS服务(爱尔兰)吗?

时间:2018-01-08 14:46:04

标签: amazon-web-services amazon-ec2

我在区域EU-CENTRAL-1中有一个运行docker镜像的EC2实例。泊坞窗图像需要能够通过区域EU-WEST-1中的SNS发送短信。

据我所知,该实例默认情况下应该能够通过安全组访问外部的互联网,让所有出站通信都通过。但是我必须设置一些东西以允许实例访问爱尔兰的SNS吗?

我正在使用以下代码,但AWS的响应就好像我在没有SMS的EU-CENTRAL-1区域中使用SNS一样。

// Setup AWS SNS
        AWS.config.update({
          region: 'eu-west-1',
          accessKeyId: process.env.AWS_ACCESS_KEY_ID,
          secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
        });
        var sns = new AWS.SNS();


        var params = {
          Message: "SMS message test",
          MessageStructure: 'string',
          PhoneNumber: '0045xxxxxxxx',
          Subject: 'Alarm',
          MessageAttributes :{
            'AWS.SNS.SMS.SenderID': {
              'DataType': 'String',
              'StringValue': 'MySender'
            },
            'AWS.SNS.SMS.SMSType': 'Transactional'
          }
        }; 

2 个答案:

答案 0 :(得分:1)

实例化变量sns时必须设置区域:

var sns = new AWS.SNS({region:'eu-west-1'});

答案 1 :(得分:1)

我通过查找正在运行docker镜像的实例并编辑IAM角色以允许它访问SNS来解决问题。重新启动实例后,SNS服务工作正常。