据我了解,为了利用 EC2 现货实例,必须将实例的 AMI 配置为在启动时立即开始执行其应该执行的任何操作,并持续执行直到完成或实例终止。
这本身不是问题,但我需要定期使用新软件和/或配置脚本更新 AMI,因此我偶尔需要启动一个可以通过 ssh 进入并进行修改的常规实例,但这对于立即开始尝试执行操作的启动脚本来说并不好(例如,当我为一些计算工作者更新 AMI 时,相关的控制服务器可能会关闭)。
有没有办法为同一个 AMI 配置两种(或更多)启动模式?有点像老式的 SysV 运行级别……实际上,它对于此应用程序来说非常适用,只是我没有看到任何方法可以从 EC2 Web 或 CLI 界面控制内核命令行。
(如果重要的话,AMI 内部的操作系统是 Linux。)
答案1
使用用户数据字段并设置标志以禁用执行。
例如,让您的启动脚本检查实例的用户数据,如果该数据设置为“不运行”,则中止您的启动脚本。
然后,当您需要启动“维护”实例时,请确保您的用户数据设置为“不运行”。