如果您查看 Linux 生态系统(尤其是 Ubuntu and Alestic EC2 镜像),就会发现 common technique虚拟机已预先配置为查看 EC2 user-data并将其用作启动脚本。这种方法的好处是您可以编写一个引导脚本来进一步配置您的机器,从而避免每次在机器上运行的软件发生更改时创建新镜像。
我想为 Windows 做同样的事情,但鉴于我是 Mac 和 Linux 人,我有点迷失从哪里开始。我的要求是:
我不太确定服务在 Windows 中是如何工作的,或者我是否需要启用自动登录,所以这里的任何建议都将不胜感激。最终目标是运行一个 Java 程序,该程序启动一些自定义软件,然后启动一个 Web 浏览器(IE、Firefox 等)并能够截取屏幕截图。
屏幕截图部分很有趣,因为在过去,当我尝试这样做时,除了黑屏之外,我唯一能得到的东西就是让 UltraVNC 或 RealVNC 作为服务启动,尽管我不知道为什么会有帮助。
我正在寻找三个具体问题的答案,以及任何一般性建议:
最佳答案
我没有尝试在 EC2 中的 Windows 实例上自动登录,但是 here's the support document关于如何启用它。
我们使用已安装自定义 Windows“安装”服务的自定义 AMI 引导我们的 Windows 实例。引导安装程序在启动时从用户数据中读取 URL。 URL 指向存储在 S3 中的 ZIP 文件。然后安装程序下载、解压缩并执行实际的应用程序安装程序——在我们的例子中是一个简单的 CMD 文件。
这种设置允许我们拥有一个基础 AMI,然后能够轻松覆盖 15 种以上不同的应用程序配置(无需重建 AMI)。如果您只有一个应用程序配置,这对于您的情况来说可能是多余的。
我们遇到的唯一问题是让我们的安装程序服务提前启动——将服务启动模式更改为“自动延迟”解决了这个问题。
我们用 Java 编写了引导安装程序,通过 YAJSW 启动,因为我们对此感到满意。如果您只想要一些简单的 Unix 工具,大多数都可以为 Windows 预编译,例如 wget .
对于完全不同的东西,你可以试试PsExec在启动后配置实例。
关于windows-server-2008 - 我将如何创建灵活的 EC2 Windows 2008 启动脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844084/