代码之家  ›  专栏  ›  技术社区  ›  Alex

使用AmazonEC2托管ASP.NET应用程序

  •  23
  • Alex  · 技术社区  · 16 年前

    i_m目前正在开发一个图像处理能力很强的应用程序,我希望它能够在云中承载__

    它是一个C/ASP.NET应用程序。

    所以我正在考虑使用AmazonS3来存储图像。 那一点很好。

    但是,我正在考虑使用EC2在上承载应用程序。

    应用程序使用SQL Server(仅在相当基本的级别上) 我想知道如何设置托管解决方案。 是否建议:

    • 有一个小实例专用于 SQL Server(将使用 开始的版本)

    • 有一个小实例专用于
      运行IIS(并托管
      应用程序)指向SQL连接
      上述SQL的字符串
      实例

    • 使用弹性块存储 SQL数据和ASPX页,已编译
      组件等

    还有其他想法吗??

    1 回复  |  直到 16 年前
        1
  •  26
  •   Matt Brindley    16 年前

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

    在将来,如果您的单服务器设置的增长率不够,那么您可以将DB移动到一个单独的实例上,最初是一个小CPU,稍后升级到一个中等的实例。

    值得注意的一点是,如果您不能从中等CPU升级到高CPU实例,因为32位操作系统映像不会在较大的实例上运行,64位不会在较小的实例上运行。

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

    关于EBS,我建议您创建一个正常大小的卷,它可以让您继续运行一段时间,并配置sqlserver将其数据存储在那里。

    您也可以将您的ASP.NET应用程序存储在EBS卷上,但实例的10GB OS驱动器可能会很好,我认为这里没有太大的区别。

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

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

    1. 分离EBS音量
    2. 解除弹性IP的关联
    3. 终止故障实例
    4. 启动您的AMI实例
    5. 将EBS卷附加到新实例
    6. 将您的弹性IP与新实例关联