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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (166)

情况描述

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

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

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

用户回答回答于

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

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

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

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

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

扫码关注云+社区

领取腾讯云代金券