针对 Amazon SNS 创建 Amazon VPC 终端节点 - Amazon Simple Notification Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

针对 Amazon SNS 创建 Amazon VPC 终端节点

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

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

创建终端节点

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

有关使用 Amazon VPC 控制台或 AWS CLI 创建和配置终端节点的信息,请参阅 https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/vpce-interface.html#create-interface-endpoint 中的创建接口终端节点Amazon VPC 用户指南。

注意

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

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

测试 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 控制台中获取主机名,请执行以下操作: 选择 Instances,选择您的实例,然后找到 Public 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,请执行以下操作: 选择 Topics (主题),找到您的主题,然后在 ARN 列中找到该值。

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

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