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

时间:2015-01-31 13:52:19

标签: 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使用哪些内容来满足此预算和这些规范?

1 个答案:

答案 0 :(得分:5)

更新了2018年定价

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

这是云。你真的不想知道保持你的规格成本是多少(它超出了你的承受能力)。 Due to the nature of the EC2 T2, you get CPU credits,所以你让它运行的时间越长(而不是使用它),你使用它时获得的积分就越多。通过这种方式,它符合您的规格,假设昼夜使用。

让我们假设一下(为了降低成本),你希望你的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

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

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

6 GB - Data Volume
6 GB - Log Volume 
30 GB - Backup Volume 
80GB - System Drive 

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

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

   2015         2018     

    .60         Unchanged
    .60
   3.00
+  8.00
-------
  12.20

这只适用于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   

EBS卷(系统+网络,1卷):

   2015      2018   

     10      unchanged
x   .10
-------
   1.00

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

SQL Server RDS:

       2015        2018   

db.t2.micro     db.t2.micro 

       .022        .022
   x    731    x    731   
   --------    --------
      16.08       16.08       

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

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

Linux T2.Micro + SQL server RDS(Ireland-EU)

   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  

添加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

所以看来,如果你留在欧盟,RDS上SQL Server和MySQL的价格是相同的。使用RDS上的MySQL进行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  

这符合您每月20美元以下托管的标准。然而,没有任何关于表现的说法。

VCSJones (on twitter) brought up SQL Server Express

SQL Server Express / Windows 2012 R2 EC2实例

如果您非常喜欢SQL Server(它很酷,我也喜欢SQL Server),您可以拥有一个SQL Server Express实例,此时您需要支付实例的成本。 SQL Server Express caps your database at 10GB

     2015          2018  

 T2.Micro      T2.Micro
     .018         0.017
  x   731      x    731  
  -------      --------
  ~ 13.16       ~ 12.43  

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

参考文献: