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