为 Amazon SNS 创建 Amazon VPC 终端节点
要将消息从 Amazon VPC 发布到您的 Amazon SNS 主题,请创建一个接口 VPC 终端节点。然后,您可以将消息发布到主题,同时保留您利用该 VPC 管理的网络内的流量。
使用以下信息创建终端节点并测试 VPC 与 Amazon SNS 之间的连接。或者,有关可帮助您从头开始的演练,请参阅从 Amazon VPC 发布 Amazon SNS 消息。
创建终端节点
您可以使用 AWS Management Console、AWS CLI、AWS 开发工具包、Amazon SNS API 或 AWS CloudFormation 在 VPC 中创建 Amazon SNS 终端节点。
有关使用 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.com
或
。us-east-2
.queue.amazonaws.com
有关使用 AWS CloudFormation 创建和配置端点的信息,请参阅 AWS CloudFormation 用户指南中的 AWS::EC2::VPCEndpoint
资源。
测试您的 VPC 和 Amazon SNS 之间的连接
在为 Amazon SNS 创建终端节点后,您可以将消息从您的 VPC 发布到 Amazon SNS 主题。要测试此连接,请执行以下操作:
-
连接到位于您的 VPC 中的 Amazon EC2 实例。有关连接的信息,请参阅 Amazon EC2 文档中的连接到您的 Linux 实例或连接到您的 Windows 实例。
例如,要使用 SSH 客户端连接到 Linux 实例,请从终端运行以下命令:
$
ssh -iec2-key-pair.pem
ec2-user@instance-hostname
其中:
-
ec2-key-pair.pem 是包含 Amazon EC2 在您创建实例时提供的密钥对的文件。
-
instance-hostname 是实例的公有主机名。要在 Amazon EC2 控制台
中获取该主机名:请选择 Instances(实例),选择您的实例,然后找到 Public DNS (IPv4)(公有 DNS (IPv4))的值。
-
-
在您的实例中,将 Amazon SNS
publish
命令与 AWS CLI 结合使用。您可以使用以下命令将简单的消息发送到主题:$
aws sns publish --regionaws-region
--topic-arnsns-topic-arn
--message "Hello"其中:
-
aws-region 是主题所在的 AWS 区域。
-
sns-topic-arn 是主题的 Amazon Resource Name (ARN)。从 Amazon SNS 控制台
获取该 ARN:选择 Topics(主题),查找您的主题,然后找到 ARN 列中对应的值。
如果 Amazon SNS 已成功收到消息,终端会打印一个消息 ID,如下所示:
{ "MessageId": "6c96dfff-0fdf-5b37-88d7-8cba910a8b64" }
-