【发布时间】:2016-12-14 19:19:10
【问题描述】:
我的 ASP.Net 站点作为 Windows EC2 Web 服务器场运行。由于最近流量激增,我切换到 Spot 实例以控制成本。当小时费率低于设定费率时,从 AMI 创建 Spot 实例。 Web 服务器不存储任何数据,因此动态创建和终止它们不是问题。到目前为止,该网站运行良好。
问题在于部署更新。该应用程序大部分时间都会更新。
在切换到 Spot 队列之前,更新部署如下 (1) CI 服务器将构建站点并将其部署到临时服务器 (2) 我将使用简单的 xcopy 对 Web 场进行交错部署文件到映射的驱动器。
切换到 Spot 实例后,流程为:(1) {no change} (2) 将更新部署到其中一个 Spot 实例 (3) 从该部署创建新的 AMI (4) 请求新的 Spot 队列使用新的 AMI (5) 终止旧的 Spot 车队。 (用于 Spot 请求的 AMI 无法更改。)
有没有办法通过让节点自行配置或使用共享驱动器(如 Microsoft Azure 所做的那样)来简化此过程?该站点正在运行 Umbraco CMS,它支持来自物理位置的多个实例,但我在尝试从网络共享运行 .Net 应用程序时遇到了安全错误。
额外问题:如何将新的 Spot 实例自动添加到负载均衡器?假设有一个脚本可以获取应用程序的最新版本,它可以在完成后将实例添加到负载均衡器。
【问题讨论】:
标签: asp.net amazon-web-services amazon-ec2 ec2-ami elastic-load-balancer