azure - 快速检测 VM 是否在 Azure 上运行
问题描述
检测 VM(在我的例子中是在 Linux VM 上运行的 Docker 容器)是否在 Azure 上运行的一种方法是使用 HTTP 查询元数据服务以获取某些信息。
这个技巧在 AWS 和 GCP 上运行良好,可以使用 DNS 名称 (instance-data.ec2.internal
和metadata.google.internal
) 完成查询,因此在完成 DNS 查找时查询将很快失败。
但是对于 Azure,我不知道元数据服务的任何 DNS 名称,只有它的原始 IP 地址 ( 169.254.169.254
) 和代码必须等待请求超时,而不是需要更长的时间。
一种解决方案是为 Azure 元数据服务查找 DNS 名称,但也可能有其他解决方案。
解决方案
推荐阅读
- redirect - HAProxy 在 302 重定向之前添加一些标头
- typescript - TypeScript 中的 Lodash pickBy 给出错误:索引签名不兼容
- python-3.x - 从具有计算值的 2 个数据帧创建 Pandas 数据帧
- javascript - C# Cefsharp 无法获取ElementsByClassName
- ansible - Ansible 在字符串中查找列表的任何成员
- python - Discord bot 将嵌入消息发送到另一个频道
- java - 错误:无法创建 Java 虚拟机
- c# - 如何在没有继承属性的情况下在设计时填写列表?
- android - React native:Haste模块映射中不存在模块`DrawerLayoutAndroid`
- sql - 通过使用索引加速使用聚合函数的查询