在Amazon Beanstalk和IIS设置上部署网站

我有兴趣与Amazon Elastic Beanstalk合作部署我的新网站。 我需要知道的一些事情,不能得到答案:

1)如何维护所有部署和未来部署的机器的IIS设置? 2)如果我可以维护,如果我更改了一台服务器上的设置会发生什么情况,它会自动将其设置在其他服务器上? 3)如何备份数据。 在其他服务器上,我通常会创build一个AMI,并在出现问题时部署到新的服务器上?

Beanstalk并不仅仅是调用各种AWS服务的集合,比如自动调节,S3和EC2等等,还有一些脚本和路由使得部署新的应用程序版本变得容易。 如果你用这种理解来对待它,那么它的结构就更有意义了:

  1. Beanstalk提供了股票AMI,但是您也可以部署自定义的 。 将你的IIS设置烘焙成一个AMI(一定要基于一个股票Beanstalk AMI),它们将通过所有的自动缩放操作持续下去。 这仅适用于服务器configuration。 不应该将新版本的应用程序烘焙到AMI中,并通过beanstalk本身传播到您的服务器。
  2. 实例化服务器后,进行configuration更改是一种反模式。 改变一个人不会把这些改变传播给其他人。 相反,您应该为新configuration削减AMI, 启动第二个环境,然后更改域路由以实现零停机时间切换。 第一次做这件事非常违反直觉,特别是如果您习惯数据中心部署。 在实例化之后,通过改变环境的AMI可以避免路由改变,但是这将是中断的。

恐怕我不太清楚问题3.你指的是什么数据? 如果你可以让我知道评论,我会很高兴编辑这个答案与我知道的任何东西。

与@克里斯托弗的评论相反:

1)通过EB部署一个定制的AMI是一种反模式。 每次EB更新基础平台,您将需要重新创build您的自定义AMI。

2)是的,服务器上的手动configuration更改是反模式。 但build议将configuration指定为部署单元的一部分。

查看有关在Windows服务器上定制软件的AWS EB文档。

3)您的服务器上不应有任何需要备份的状态。 部署应用程序所需的一切都在您的部署包和EBconfiguration中。 EB使用健康检查和自动缩放来确保您的环境始终在运行。