我应该将哪个域名作为IoT MQTT端点烘焙到我的IoT设备中?

时间:2016-03-03 11:38:13

标签: amazon-web-services dns mqtt iot aws-iot

情境描述

因此,当我在工厂中构建我的超级传感器时,它将通过MQTT每隔30秒向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堆栈并切换到不同的技术/提供商,该怎么办?

2 个答案:

答案 0 :(得分:3)

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

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

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

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

我使用Route 53,亚马逊的DNS服务有很好的经验。这也可能导致您的设备更少的DNS请求到达最终IP地址。

答案 1 :(得分:1)

我相信这篇文章是相关的。截至2019年6月,IOT端点似乎尚未正式支持自定义域,但仍在规划中。这是我们客户的常见问题。

This link提供了进一步的说明。