【发布时间】:2019-01-20 01:03:09
【问题描述】:
一旦我们在 AWS IOT Core 中创建了一个东西,我们就会得到一个端点,设备中的 java 程序必须使用该端点连接到 AWS IOT。
端点 *.iot.us-west-2.amazonaws.com 中包含区域。这个端点必须在我们想要避免的设备中进行配置。原因是设备与 AWS IOT 通信时具有低延迟。为此,我们计划拥有一个注册域并在 Route53 中创建一个托管区域。然后将此域映射到实际端点。在Route53中我们可以选择“Geolocation”作为路由策略,并为每个区域创建记录并映射对应的endpoint。您认为这是一个好的解决方案吗?
目的是——
- 设备不应该知道 IOT 端点,
- Route 53 应该能够识别传入流量的区域,并将其定向到托管区域中各种记录指定的相应端点。
另一个问题是 - 连接到 AWS IOT 的设备上的程序是 MQTT 客户端。它可以连接到Route53吗? (Route 53 不是 MQTT 服务器。)
【问题讨论】:
-
您能否提供更多详细信息 - 为此,我们计划拥有一个注册域并在 Route53 中创建一个托管区域。然后将此域映射到实际端点。在 Route53 中,我们可以选择“地理位置”作为路由策略,并为每个区域创建记录并映射相应的端点。就像设备如何仍然知道物联网端点一样。
-
我想从 AWS SDK for IOT Core 连接到 Route53。我收到一个异常 - MqttException (0) - javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject Alternative DNS name matching
-
这可能是因为您使用的证书绑定到单个区域,并且不会被其他区域的 AWS IoT 识别。您需要有一个预置策略才能在 AWS IoT 上完成多区域部署。第一个问题是,它真的需要吗?您的设备是否经常在世界各地“旅行”?
-
设备可能不经常移动。大概是偶尔一次吧。我创建了自己的 CA 证书(上传到 AWS IOT 核心)和自己的设备证书。还是同样的错误。再调试一下,发现它选择匹配 DNS 的证书仍然是特定于区域的证书。不知道为什么。
-
目前Route53不支持。你可以去这里然后添加“+1 request for this feature”让aws考虑添加它forums.aws.amazon.com/thread.jspa?threadID=232780