VPC 终端节点 DNS 没有响应

问题描述

我有一个设置,它由一个 ECS Ec2Service 和一个运行任务的单个实例组成,该任务在点击 /index 页面时向主题发送 SNS 消息。一切正常,如果我使用常规的“开放互联网”SNS 端点,我可以将消息发布到主题。但是,当我为 AWS SNS 服务创建 VPC 终端节点并从 VPC 终端节点详细信息选项卡获取 DNS 名称并尝试发布 SNS 消息时,在使用该 DNS 名称配置 SNS 客户端时,由于超时,操作失败如果端点不可达。

DNS names
   vpce-0c79xxxxxxxxx-xxxxxxxxx.sns.ca-central-1.vpce.amazonaws.com (ZRXXXXXXXXXX)
   vpce-0c79xxxxxxxxx-xxxxxxxxx-ca-central-1b.sns.ca-central-1.vpce.amazonaws.com (ZRXXXXXXXXXX)
   ...

我的 Ec2 和 VPC 端点都在同一个子网中(尝试了私有,然后是公共子网),所以我不确定我缺少什么。

EDIT1:指出我需要 Private DNS names enabled = false,因此我无法使用常规端点路由到 VPC 端点

解决方法

要使用私有 DNS 名称,请确保属性“启用 DNS 主机名”和“启用 DNS 支持”为您的 VPC 设置为“true”。

更多信息here

在您验证上述内容后,您还可以使用 this 文档执行 VPC 可达性分析,并且是可计费的。

从关联子网中的任何 EC2 实例尝试 dig +noall +answer <your-vpc-endpoint>,这应该打印您 CIDR 范围中的私有 IP。

This 的回答也可能有帮助。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...