因此,我们一直在运行单个服务器,并且一切进展顺利(在开发中)。但现在是时候设置一些自动扩展了,我有点迷茫。我们目前已设置发布配置文件。当我们在构建服务器上构建时,我们有一个发布配置文件来发布到我们的 Amazon EC2 IIS 实例。太棒了。
但是您如何处理自动扩展?第二个实例将根据我的参数自动设置,很可能使用一些初始脚本来设置用户、安装角色、创建站点等...但是将站点实际“发布”到新创建的、位于负载均衡器后面的 EC2 IIS 实例的最佳做法是什么?
我好想念 Azure...
答案1
您有两个主要选择:
- 将您的应用程序和配置预先放入 AMI,ASG 使用它来启动新实例。
- 使用
user-data
启动配置字段让实例本身下载您的应用程序并将其配置为启动过程的一部分。
我通常更喜欢 #1,因为它可以更快地启动和运行实例。不过,#2 更灵活,并且让新发布的代码在 ASG 上运行所需的步骤更少。
答案2
了解如何使用 AWS Elastic Beanstalk。
如果您使用 AWS Elastic Beanstalk,则不会直接部署到您的 EC2 实例。相反,您可以:
- 将你的站点从 Visual Studio 发布为部署包 (ZIP),
- 将该 ZIP 文件上传到 AWS EB,然后
- 让 AWS EB 将该 ZIP 包部署到您的 EC2 实例(无论是否在 ELB 后面)
AWS Tools for Visual Studio 还允许您将部署包直接从 Visual Studio 部署到 AWS EB。
适用于 .NET 的 AWS Elastic Beanstalk 信息:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_NET.html