我正在开发一个在 Amazon EC2 上的 Windows 上运行的图像处理应用程序。该应用程序目前是一个控制台应用程序,我正在几台机器上手动启动它。我正在将其重构为 Windows 服务,并试图了解在大型集群计算机环境中部署和管理 Windows 服务的最佳方法。
我意识到我可以更新一台中央机器,创建一个新的 AMI,然后开始用这个新的 AMI 创建新的实例,但感觉必须有更好的方法来大规模部署、更新和控制(启动/停止/重新启动)Windows 服务。
关于如何做到这一点,有没有什么最佳实践?
谢谢-Hg
答案1
我自己还没有这样做过,但文档中有通过命令行管理 ec2 实例的方法。我读过有人使用亚马逊监控服务来编程服务器的启动/停止时间。
这是 ec2 api 的链接:http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/
祝你好运!
答案2
对于“主力”类型的应用程序,从模板启动新实例并终止旧实例的模式可以说是最简单的(如果不是这样,那么绝对是最推荐的模式)。
在这些场景中,本地硬盘被视为临时空间,工作从某些服务器外的源(如数据库、S3 或 SQS 等)获得,结果存储回类似的东西。
此外,这样,如果您的一台服务器出现故障,您只需从 AMI 模板启动更多服务器来进行补偿。