使用Amazon EC2托管Asp.net应用程序

Ale*_*lex 23 c# asp.net iis amazon-s3

我目前正在开发一个对图像很重的应用程序,我希望能够"在云端"托管

这是ac#/ asp.net应用程序.

所以我正在考虑使用Amazon S3存储图像.那很好.

但是,我正在考虑使用EC2来托管应用程序.

该应用程序使用SQL服务器(仅在相当基本的水平)我想知道如何设置我的托管解决方案.是否可取:

  • 有一个专门用于SQL服务器的小实例(将使用快速版开始)

  • 有一个专门用于
    运行IIS(并托管
    应用程序)的小实例将sql conn
    字符串指向上面提到的sql
    实例

  • 使用弹性块存储来存储SQL数据和aspx页面,编译的
    程序集等...

还有其他想法吗?

Mat*_*ley 26

暂时将它们保存在同一个实例中,不要过早地优化/缩放.您可能会发现只需升级到中等CPU实例(36c/hr而不是12c/hr)就足以让您连续运行数月而不会出现任何缩放问题.

将来,如果您的单服务器设置不能满足,那么您可以将数据库移动到一个单独的实例上,最初是一个小型CPU,稍后升级到介质.

值得注意的一件事是,如果您无法从中型CPU升级到高级别CPU实例,因为32位操作系统映像不能在较大的实例上运行,而64位将无法在较小的实例上运行.

选择32位Windows(因为EC2将其用于较小和中等实例),在较小的单个实例上运行,然后在需要时进行扩展.

关于EBS - 我建议创建一个健康大小的卷,它会让你停留一段时间并配置SQLServer来存储它的数据.

您也可以将您的ASP.NET应用程序存储在EBS卷上,但实例的10GB操作系统驱动器可能没问题,我认为这里没有太大区别.

我强烈建议使用弹性IP而不是临时IP EC2在启动实例时指定您.创建弹性IP,更新DNS以指向它并将其与您的实例相关联.

在按照您的需要配置映像后,将其关闭,捆绑实例,然后为其注册新的AMI(私有).大约需要40分钟.这意味着如果您的实例发生了可怕的事情,您可以通过以下步骤在15分钟内恢复:

  1. 分离您的EBS卷
  2. 取消您的弹性IP
  3. 终止你的错误实例
  4. 启动AMI的实例
  5. 将您的EBS卷附加到新实例
  6. 将弹性IP与新实例相关联

  • 一个问题......如果我有一个MS SQL服务器实例并且他们终止实例,我会丢失所有数据吗? (3认同)