7

情况说明

因此,当我在工厂中构建我的超级传感器时,它将每 30 秒通过 MQTT 将其指标发送到 AWS IoT,我必须将传感器将连接到的 DNS 域名烘焙到设备中。

AWS IoT 建议以<random-string>.iot.eu-west-1.amazonaws.com对我来说看起来像的形式使用端点A26PKG2U6WRS2I.iot.eu-west-1.amazonaws.com

这是稍微格式化的dig A26PKG2U6WRS2I.iot.eu-west-1.amazonaws.com命令输出,显示经过几次重定向后,此域名解析为 6 个 IP 地址,这似乎是负载平衡器。

DOMAIN DETAILS: 

A26PKG2U6WRS2I.iot.eu-west-1.amazonaws.com. 290 
POINTS TO CNAME 
iotmoonraker.eu-west-1.prod.iot.eu-west-1.amazonaws.com.


iotmoonraker.eu-west-1.prod.iot.eu-west-1.amazonaws.com. 254 
POINTS TO CNAME 
dualstack.iotmoonraker-e-elb-9q2vvmxp3rir-1271985754.eu-west-1.elb.amazonaws.com.

RESOLVES TO IPs:
dualstack.iotmoonraker-e-elb-9q2vvmxp3rir-1271985754.eu-west-1.elb.amazonaws.com. 50 IN A 54.229.34.249
dualstack.iotmoonraker-e-elb-9q2vvmxp3rir-1271985754.eu-west-1.elb.amazonaws.com. 50 IN A 52.19.106.35
dualstack.iotmoonraker-e-elb-9q2vvmxp3rir-1271985754.eu-west-1.elb.amazonaws.com. 50 IN A 52.18.139.53
dualstack.iotmoonraker-e-elb-9q2vvmxp3rir-1271985754.eu-west-1.elb.amazonaws.com. 50 IN A 52.48.96.41
dualstack.iotmoonraker-e-elb-9q2vvmxp3rir-1271985754.eu-west-1.elb.amazonaws.com. 50 IN A 52.19.155.13
dualstack.iotmoonraker-e-elb-9q2vvmxp3rir-1271985754.eu-west-1.elb.amazonaws.com. 50 IN A 54.76.47.209

问题

我有两个担心:

  • 当我在 C 中为我的 PIC 微控制器实现 MQTT 通信时,我的 DNS 解析器被单个域可以解析到的这么多 IP 弄糊涂了。目前我不知道我是否可以解决这个问题。目前我的解决方案是 - 创建我自己的域名iot-ingestion.domain-i-own.com 并将其指向其中一个 IP 地址。有更好的选择吗?

  • A26PKG2U6WRS2I.iot.eu-west-1.amazonaws.com将这个主机名烘焙到我的设备中有多可靠?如果我想在 2-3 年内切换更改 IoT 堆栈并切换到不同的技术/提供商怎么办?

4

2 回答 2

6

是的,我会避免透露“内部”AWS 主机名。您还应该避免固定到单个 IP 地址。在 AWS 中,IP 地址可以快速更改并重新分配给其他客户。

解决方案是确实使用您可以控制的自己的域名,但使用 DNS CNAME 记录。

iot-ingestion.domain-i-own.com CNAME A26PKG2U6WRS2I.iot.eu-west-1.amazonaws.com.

甚至可能值得将不同的主机名烘焙到不同的设备固件版本中,因此如果其中一个出现问题,您可以将其重新指向不同的端点,或者完全切断它,如果它会损坏您的服务。

我在使用亚马逊的 DNS 服务 Route 53 方面有过很好的体验。这也可能导致您的设备发出的到达最终 IP 地址的 DNS 请求减少。

于 2016-03-03T14:44:32.607 回答
1

我相信这篇文章是相关的。截至 2019 年 6 月,IOT 端点似乎并未正式支持自定义域,但已在路线图上。这是我们客户的常见问题。

此链接提供了进一步的说明。

于 2019-06-19T18:00:37.237 回答