Amazon Simple Notification Service
开发人员指南 (API 版本 2010-03-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

为 Amazon SNS 创建 Amazon VPC 终端节点

要将消息从 Amazon VPC 发布到您的 Amazon SNS 主题,请创建一个接口 VPC 终端节点。然后,您可以将消息发布到主题,同时保留您利用该 VPC 管理的网络内的流量。

使用以下信息创建终端节点并测试 VPC 与 Amazon SNS 之间的连接。或者,有关可帮助您从头开始的演练,请参阅教程:从 Amazon VPC 私下发布 Amazon SNS 消息

创建终端节点

您可以使用 AWS 管理控制台、AWS CLI、AWS 开发工具包、Amazon SNS API 或 AWS CloudFormation 在 VPC 中创建 Amazon SNS 终端节点。

有关使用 Amazon VPC 控制台或 AWS CLI 创建和配置终端节点的信息,请参阅Amazon VPC 用户指南中的创建接口终端节点

注意

在创建终端节点时,请将 Amazon SNS 指定为您希望您的 VPC 连接到的服务。在 Amazon VPC 控制台中,服务名称因区域而异。例如,如果您选择了 美国东部(弗吉尼亚北部),则服务名称为 com.amazonaws.us-east-1.sns

有关使用 AWS CloudFormation 创建和配置终端节点的更多信息,请参阅AWS CloudFormation 用户指南中的 AWS::EC2::VPCEndpoint 资源。

测试 VPC 和 Amazon SNS 之间的连接

在为 Amazon SNS 创建终端节点后,您可以将消息从您的 VPC 发布到 Amazon SNS 主题。要测试此连接,请执行以下操作:

  1. 连接到 VPC 中的 Amazon EC2 实例。有关连接的信息,请参阅 Amazon EC2 文档中的连接到您的 Linux 实例连接到您的 Windows 实例

    例如,要使用 SSH 客户端连接到 Linux 实例,请从终端运行以下命令:

    $ ssh -i ec2-key-pair.pem ec2-user@instance-hostname

    其中:

    • ec2-key-pair.pem 是包含 Amazon EC2 在您创建实例时提供的密钥对的文件。

    • instance-hostname 是实例的公有主机名。要在 Amazon EC2 控制台中获取该主机名:请选择实例,选择您的实例,然后找到公有 DNS (IPv4) 的值。

  2. 在您的实例中,将 Amazon SNS publish 命令与 AWS CLI 结合使用。您可以使用以下命令将简单的消息发送到主题:

    $ aws sns publish --region aws-region --topic-arn sns-topic-arn --message "Hello"

    其中:

    • aws-region 是主题所在的 AWS 区域。

    • sns-topic-arn 是主题的 Amazon 资源名称 (ARN)。从 Amazon SNS 控制台获取该 ARN:选择主题,查找您的主题,然后找到 ARN 列中对应的值。

    如果 Amazon SNS 成功接收了消息,终端会打印一个消息 ID,如下所示:

    { "MessageId": "6c96dfff-0fdf-5b37-88d7-8cba910a8b64" }