在多个ec2实例上部署asp.net应用程序?

时间:2012-05-19 10:52:27

标签: amazon-ec2

假设我创建了一个带有三个ec2实例的亚马逊负载均衡器:A,B,C。

每当我将asp.net应用程序部署到实例A时,负载平衡是否在B,C实例中部署/更新它?

如果不是,那怎么能实现呢?

1 个答案:

答案 0 :(得分:0)

ELB(负载均衡器)与部署无关,至少没什么用处。它只是将流量分配给来自客户端的传入(http)请求的不同实例。

AWS Elastic Beanstalk(简单方法)

创建一个Elastic Beanstalk应用程序,您可以通过Amazon Visual Studio Toolkit部署asp.net应用程序。这个过程非常简单,并不是您的部署到所有实例的部署。在构建项目并将其上传到S3之后,beanstalk将在20-60秒内将新版本分发到所有实例,具体取决于大小。

优势:

  • 非常容易
  • 现有工具
  • 它是平台即服务(PaaS),而非基础架构即服务(IaaS),如果您自己设置所有AWS资源,则适用。

缺点:

  • 您可以为每个Beanstalk应用部署 ONE “项目”,这意味着您无法部署不同的“虚拟导演应用”
  • 也许你需要构建自己的自定义Beanstalk AMI,但通常你可以使用AWS默认映像(beanstalk主机管理器需要在实例上运行,否则它将无法工作)
  • 你可能会失去一点控制权,但imho不是问题

更多信息:

更难的方式

如果您已经设置了一个负载平衡器,其背后有3个实例,则可以将代码部署到所有实例。

你可以这样做,例如通过Visual Studio和Web Deploy一个接一个地部署到所有3个实例...你需要在这里使用实例本身的公共DNS名称,而不是负载均衡器/ app dns名称。

您可以为app目录使用某种Web服务器同步软件,例如: MS web部署,应该可以工作,但设置不像有趣的imho,绝对比Beanstalk更复杂。

更多信息: