我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例无法检索实例元数据。
解决方法
我在 VPC 中的实例无法访问或未通过实例状态检查
如果您的实例位于虚拟私有云 (VPC) 中,请连接第二个弹性网络接口。使用该实例提供所需的路由和有效的 IP 地址。然后,您可以在第二个网络接口上访问该实例并解决主网络接口上的网络配置问题。
**注意:**如果您在添加第二个网络接口时更改实例类型,请确保使用兼容的实例类型。
我的实例通过了两项状态检查并且可以访问
从 Windows PowerShell 运行 route print 命令。查看输出,以检查是否存在与以下示例类似的路由:
Network Address Netmask Gateway Address
169.254.169.254 255.255.255.255 Subnet Router Address
**重要事项:**在完成以下步骤之前,最佳做法是备份您的 Amazon Elastic Block Storage (Amazon EBS) 卷和路由表。
如果路由不存在或网关地址与现有子网不匹配,请完成以下步骤:
- 确认您的实例上已安装最新版本的 EC2Config 或 EC2Launch:
对于 Windows Server 2012 或更早版本,请安装最新的 EC2Config 版本。
对于 Windows Server 2016 或更高版本,请使用最新的 EC2Launch v2 版本。如果您使用的是 EC2Launch v1,请参阅安装最新版本的 EC2Launch。
- 根据您使用的软件将路由应用于实例:
对于 EC2config,请重新启动 EC2config 服务。
对于 EC2Launch v1,请从提升的 PowerShell 会话中运行以下命令:
Import-Module c:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psm1 ; Add-Routes
对于 EC2Launch v2,请重新启动 EC2 Launch 服务。
如果路由存在,但实例无法检索元数据,请查看您的实例的 Windows 防火墙、第三方防火墙以及防病毒配置。确保没有显式拒绝流向 169.254.169.254 的流量。