EC2 启动 - 如何判断 Windows 是否已准备就绪?

EC2 启动 - 如何判断 Windows 是否已准备就绪?

我正在使用 Amazon EC2,并且我有一些由 EBS 支持的 Windows AMI。当我从 EBS 快照启动新实例时,EC2Config 服务会为我准备 Windows 机器。我知道 EC2Config 何时完成,因为我可以检查实例控制台输出 - 一旦它显示“Windows 已准备就绪”,我就知道一切正常。

我正在寻找一种从操作系统内部判断“Windows 已准备就绪”的方法。我认为可以从操作系统内部访问的元数据 URL 会告诉我这一点,但我找不到任何合适的值。

http://169.254.169.254/latest/元数据/

我的目标是在“Windows 准备就绪”后运行配置脚本。我的某些配置任务需要确保机器在启动之前已完全配置 - 尤其是当 EC2Config 重命名计算机并重新启动时。我可以使用 EC2 工具或 C# 编写一些内容...但这需要我在 AMI 上使用我的 AWS 密钥(我不想这样做)。理想情况下,我想查看机器本身上的某些内容以了解何时可以开始配置 - 比如 EventLog 条目、查看文本文件、检查元数据 URL 等。

附带问题:我可以使用一篇好文章来准确了解捆绑/解绑过程对 EBS 机器的作用。

答案1

EC2Config 默认配置为在首次启动时重命名主机。在 Windows 上重命名主机需要重新启动,因此每个实例在首次启动后都会重新启动一次。如果您不使用实例的内部 DNS,则可以禁用主机重命名。更多详细信息请参见:

Windows 配置服务: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/appendix-windows-config.html

EC2Config 服务在实例内也有自己的日志文件:

C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt

此文件应包含您在 Amazon 控制台输出中看到的 EC2Config 服务相关详细信息。以下是我的一个实例的片段:

=====在新的线程中启动 Ec2RebootInstance=======
Ec2InitializeDrives:找到磁盘:\.\PHYSICALDRIVE0
检查当前卷是否有任何设备名称更改
C:已安装卷名
打开 COM 端口句柄以写入控制台
Ec2RebootInstance:等待所有线程完成
Ec2InitializeDrives:初始化完成。插件退出...
Ec2RebootInstance:检查是否有任何线程请求重新启动
Ec2RebootInstance:Windows 已准备好使用
向所有人发送事件窗口已准备好使用

Ec2RebootInstance:监控重启请求。

相关内容