有没有办法编写一个应用程序,该应用程序只有在可以验证它正在 AWS EC2 实例上运行时才会运行?应用程序如何验证它实际上在 AWS 上运行?
答案 0 :(得分:0)
这是来自官方docs
的参考您可以获取系统 UUID 并在 UUID 的开头八位字节中查找字符“ec2”或“EC2”的存在。此外,对于未使用 Amazon Linux 2 的 EC2 实例,SMBIOS 发行版的实现可能以 little-endian 格式表示 UUID,因此“EC2”字符不会出现在 UUID 的开头。
使用以下命令通过桌面管理界面 (DMI) 获取 UUID:
sudo dmidecode --string system-uuid
输出EC2E1916-9099-7CAF-FD21-01234ABCDEF
UUID 以“EC2”开头,表示系统可能是 EC2 实例。
另一种选择
目标是判断它是 EC2 实例还是另一种云实例,例如 google,然后 dmidecode 工作得非常好,不需要联网
# From an amazon ec2 VM
$ sudo dmidecode -s bios-version
4.2.amazon
如果您需要更多方法,请按照此答案https://serverfault.com/a/903599