为 Amazon SNS 创建 Amazon VPC 终端节点 - Amazon Simple Notification Service

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

为 Amazon SNS 创建 Amazon VPC 终端节点

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

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

创建终端节点

您可以使用 AWS Management Console、、、软件开发工具包、亚马逊 SNS API 或在您的 VPC 中创建亚马逊 AWS SNS 终端节点。 AWS CLI AWS CloudFormation

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

重要

您只能将 Amazon Virtual Private Cloud 与 HTTPS Amazon SNS 端点一起使用。

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

当您将 Amazon SNS 配置为从 Amazon VPC 发送消息时,必须启用私有 DNS 并按格式 sns.us-east-2.amazonaws.com 指定端点。

私有 DNS 不支持传统端点,例如 queue.amazonaws.comus-east-2.queue.amazonaws.com

有关使用创建和配置端点的信息 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 控制台中获取该主机名:请选择 Instances(实例),选择您的实例,然后找到 Public DNS (IPv4)(公有 DNS (IPv4))的值。

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

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

    其中:

    • aw s-region 是 AWS 该主题所在的区域。

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

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

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