识别 EC2 Windows 实例 - Amazon Elastic Compute Cloud

识别 EC2 Windows 实例

您可能需要确定您的应用程序是否运行在 EC2 实例上。

有关识别 Linux 实例的信息,请参阅Amazon EC2 用户指南(适用于 Linux 实例)中的识别 EC2 Linux 实例

检查 实例身份文档

对于标识 EC2 实例的明确且以加密方式验证的方法,请查看实例标识文档,包括其签名。这些文档适用于本地、不可路由地址 http://169.254.169.254/latest/dynamic/instance-identity/ 处的每个 EC2 实例。有关更多信息,请参阅实例身份文档

检查系统 UUID

您可以获取系统 UUID 并检查 UUID 的起始 octet 中是否存在字符 “EC2”。此确定系统是否为 EC2 实例的方法速度快,但可能不准确,因为不是 EC2 实例的系统也有很小的几率使用以这些字符开头的 UUID。此外,使用 SMBIOS 2.4 的 EC2 实例可能表示 little-endian 格式的 UUID,因此“EC2”字符不显示在 UUID 的开头。

例 使用 WMI 或 Windows PowerShell 获取 UUID

使用如下 Windows Management Instrumentation 命令行 (WMIC):

wmic path win32_computersystemproduct get uuid

或者,如果您使用 Windows PowerShell,则可使用 Get-WmiObject cmdlet,如下所示:

PS C:\> Get-WmiObject -query "select uuid from Win32_ComputerSystemProduct" | Select UUID

在以下示例输出中,UUID 以“EC2”开头,表示该系统可能是 EC2 实例。

EC2AE145-D1DC-13B2-94ED-012345ABCDEF

对于使用 SMBIOS 2.4 的实例,可能用 little-endian 格式表示 UUID,例如:

45E12AEC-DCD1-B213-94ED-012345ABCDEF

检查系统虚拟机生成标识符

虚拟机生成标识符由被解释为加密随机整数标识符的 128 位的唯一缓冲区组成。您可以检索虚拟机生成标识符来识别 Amazon Elastic Compute Cloud 实例。生成标识符通过 ACPI 表条目在实例的来宾操作系统中公开。如果您的计算机被克隆、复制或导入到 AWS,例如使用 VM Import/Export,该值将改变。

例 :从 Windows 检索虚拟机生成标识符

您可以创建示例应用程序以从运行 Windows 的实例中检索虚拟机生成标识符。有关更多信息,请参阅 Microsoft 文档中的获取虚拟机生成标识符