在Amazon Web Services上部署Java Web应用程序

Mic*_*ael 3 java amazon-web-services web

我想使用Amazon AWS开发J2EE Web应用程序.我应该计划使用哪些AWS组件以及用于何种目的?

以下是我的应用程序的一般规范:

  • 在SQL Server数据库实例上使用servlet,JSP,JPA的MVC模型.
  • 数据库目前不存在
  • 该应用程序将用于运行小规模财务方案模型,并通过HTML表单提供用户的假设输入
  • Aurora没有计划用于该应用程序

规格设计:

  • 10k I/O.
  • CPU:~2 GHz
  • 内存:2 GB
  • 数据库大小:2 GB

除数据库数据外,最初没有计划任何资产; 计划是使用最少的设计组件将数据呈现到JSP中.

我想负责最小的服务器和数据库管理.

目标预算为每月10-20美元.

我可以从AWS使用什么来满足此预算和这些规范?

Geo*_*ker 5

更新了2018年定价

由于您希望负责服务器管理,因此将您置于EC2区域(基本上是AWS的云基础架构上的虚拟机).

这就是云.你真的不想知道保持你的规格成本是多少(它超出了你的承受能力). 由于EC2 T2的性质,您获得了CPU积分,因此您保持运行的时间越长(而不是使用它),您使用它时获得的积分就越多.这样,假设昼夜使用,它符合您的规格.

让我们假设一下(为了降低成本),你希望你的SQL Server和你的Web应用程序在同一个EC2实例上(你真的不应该这样做).

对于EC2,根据您在同一主机上运行IIS和SQL Server的要求(为了省钱),您可以使用的最低主机是SQL Server Web Edition 2014/Windows 2012 R2 T2.Medium目前为0.272美元/小时.

SQL Server Web 2014/Windows 2012 R2(T2.Medium)

   2015         2018    

   .272        .1358
x   750     x    750
-------     --------
 198.83       101.85
Run Code Online (Sandbox Code Playgroud)

由于它没有实例存储,您也将支付根EBS卷.

因为你的数据库将是2GB; 你应该保留至少2周的备份,我们可以假设(给定一个天真的备份方案),你需要以下EBS实例(亚马逊的虚拟磁盘驱动器):

6 GB - Data Volume
6 GB - Log Volume 
30 GB - Backup Volume 
80GB - System Drive 
Run Code Online (Sandbox Code Playgroud)

使用Windows及其日志,SQL Server占用大约32-40GB; 我正在为交换文件,IIS和任何临时文件留出空间.由于这是Web Edition,因此无法压缩备份以节省空间,这也是备份卷如此之高的部分原因.您可以挥霍,在SQL备份上花费几百美元,并且能够每20分钟执行一次每周完整,夜间差异和日志备份,这可以节省一些钱; 但不足以值得(在你的实例中).

所以EBS卷每GB将运行$ .10 /月; 或者在这种情况下:

   2015         2018     

    .60         Unchanged
    .60
   3.00
+  8.00
-------
  12.20
Run Code Online (Sandbox Code Playgroud)

这只适用于EBS.

您可以通过选择磁性而不是SSD来将价格降低一半; 但它不会改变微积分 - 你的成本是在实例本身; 不在EBS卷IO中.

这也假设您正在使用具有公共IP和主机名的公共EC2实例; 并不是说您正在使用代理服务器并将您的Web服务器和SQL Server隐藏在该代理之后.你会为此付出更多.如果您想拍摄图像或EBS卷的快照并将其存储在S3($ .03/GB)中,您还需要支付更多费用.

这些都不包括任何实际带宽成本.

你可以做到这一点的最低价格是每月220美元,这假设几乎没有流量.在实际使用情况下,它可能接近每月250美元.

如果您决定转储管理自己的SQL Server实例,它可能会更便宜.您只需要一个用于Web Tier的EC2实例和一个SQL Server RDS实例.这是成本:

Linux T2.Micro + SQL Server RDS

Linux T2.Micro(Web Tier):

    2015         2018    

    .013        .0116
 x   731     x    731    
 -------     --------
   9.013         8.47   
Run Code Online (Sandbox Code Playgroud)

EBS卷(系统+ Web,1卷):

   2015      2018   

     10      unchanged
x   .10
-------
   1.00
Run Code Online (Sandbox Code Playgroud)

(假设您的Linux发行版+ Web文件只需要10GB)

SQL Server RDS:

       2015        2018   

db.t2.micro     db.t2.micro 

       .022        .022
   x    731    x    731   
   --------    --------
      16.08       16.08       
Run Code Online (Sandbox Code Playgroud)

因此,你仍然需要每月支付26.09美元(更像每月30美元,因为软糖因素).

这些价格适用于US-EAST-1.目前RDS最便宜的是爱尔兰 - 欧盟.以下是这些价格:

Linux T2.Micro + SQL服务器RDS(爱尔兰 - 欧盟)

   2015       2015         2018       2018
    RDS        EC2          RDS        EC2

   .018       .014         .023      .0126
 x  731     x  731       x  731    x   731 
 ------     ------       ------      -------
  13.16      10.23        16.81       9.21  
Run Code Online (Sandbox Code Playgroud)

加入EBS卷成本; 而你每个月的收入大约是26-27美元(包括带宽).因此,如果您使用SQL Server,这是迄今为止最便宜的选择.

如果您决定抛弃SQL Server(并留在爱尔兰 - 欧盟AZ),并使用最便宜的RDS数据库服务器选项(mySQL):

Linux T2.Micro + MySQL RDS(爱尔兰 - 欧盟)

       2015            2018  
db.t2.micro     db.t2.micro     

      0.018        unchanged  
   x    731
   --------
      13.16
Run Code Online (Sandbox Code Playgroud)

所以看来,如果你留在欧盟,RDS上的SQL Server和MySQL的价格是相同的.使用MySQL在RDS上的US-East-1定价每月减去0.73美元.

如果您选择使用内存数据库(如SQLLite),则可以进一步降低此成本.你需要一个更大的EBS卷(我把它加倍),但这只会增加你每月1.00美元的成本,你可以满足你的标准,只需支付Linux t2.micro:

Linux T2 Micro(Web Tier)+ SQLite DB:

    2015       2018 (EU-Ireland)

    .013         .0126  
 x   731       x   731
 -------       -------
    9.50          9.21  
 +  2.00        + 2.00
 -------        ------
   11.50         11.21  
Run Code Online (Sandbox Code Playgroud)

这符合您每月20美元以下托管的标准.然而,没有任何关于性能的说明.

VCSJones(在Twitter上)提出了SQL Server Express:

SQL Server Express/Windows 2012 R2 EC2实例

如果您完全适合SQL Server(它很酷,我也喜欢SQL Server),您可以拥有一个SQL Server Express实例,此时您需要支付实例的成本. SQL Server Express将您的数据库限制为10GB.

     2015          2018  

 T2.Micro      T2.Micro
     .018         0.017
  x   731      x    731  
  -------      --------
  ~ 13.16       ~ 12.43  
Run Code Online (Sandbox Code Playgroud)

从上面添加相同的EBS编号(12.20),每月定价约26美元.

参考文献: