0

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

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

如果没有,怎么能做到这一点?

4

1 回答 1

0

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

AWS Elastic Beanstalk(简单的方法)

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

优势:

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

坏处:

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

更多信息:

更难的方式

如果您已经设置了一个带有 3 个实例的负载均衡器,那么您的任务就是将代码部署到所有实例。

例如,您可以通过 Visual Studio 和 Web Deploy 部署到所有 3 个实例来执行此操作……您需要在此处使用实例本身的公共 dns 名称,而不是负载均衡器/应用程序 dns 名称。

您可以为应用程序目录使用某种网络服务器同步软件,例如 MS web deploy,它应该可以工作,但设置并不像恕我直言,而且肯定比 Beanstalk 复杂。

更多信息:

于 2013-03-10T16:21:38.123 回答