情况描述
因此,当我在工厂中构建我的 super 传感器时,它将每 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
题
我有两个顾虑:
iot-ingestion.domain-i-own.com
并将其指向 IP 地址之一。有更好的选择吗? A26PKG2U6WRS2I.iot.eu-west-1.amazonaws.com
主机名?如果我想在 2-3 年内切换更改 IoT 堆栈并切换到不同的技术/提供商怎么办? 最佳答案
是的,我会避免透露“内部”AWS 主机名。
您还应该避免固定到单个 IP 地址。在 AWS 中,IP 地址可以快速更改并重新分配给其他客户。
解决方案是确实使用您可以控制的自己的域名,但要使用 DNS CNAME 记录。
iot-ingestion.domain-i-own.com CNAME A26PKG2U6WRS2I.iot.eu-west-1.amazonaws.com.
甚至可能值得将不同的主机名烘焙到不同的设备固件版本中,因此如果某个主机名出现问题,您可以将其重新指向不同的端点,或者完全切断它,如果它会损坏您的服务。
我在使用 Route 53(Amazon 的 DNS 服务)方面有很好的经验。这也可能导致您的设备到达最终 IP 地址的 DNS 请求减少。
关于amazon-web-services - 我应该将哪个域名作为 IoT MQTT 端点加入到我的 IoT 设备中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35771149/