在 Amazon Web Services 上部署 Java 个 Web 应用程序
Deploying Java web application on Amazon Web Services
我想使用 Amazon AWS 开发 J2EE 网络应用程序。我应该计划使用 AWS 的哪些组件以及出于什么目的?
以下是我的应用程序的一般规格:
- SQL 服务器数据库实例上带有 servlet、JSP、JPA 的 MVC 模型。
- 数据库当前不存在
- 该应用程序将用于 运行 小规模金融场景模型,用户通过 HTML 表格进行假设输入
- Aurora 未计划用于该应用程序
规格设计:
- 10k I/Os
- CPU:~2 GHz
- 内存:2 GB
- 数据库大小:2 GB
除了数据库中的数据之外,最初没有计划资产;计划是使用最少的设计组件将数据呈现到 JSP 中。
我想负责最少的服务器和数据库管理。
目标预算是每月 10-20 美元。
我可以使用 AWS 的什么来满足这个预算和这些规范?
更新为 2018 年定价
由于您想负责服务器管理,这使您处于 EC2 领域(本质上是 AWS 云基础设施上的虚拟机)。
这是云。您真的不想知道保持您的规格需要多少成本(这超出您的承受能力)。 Due to the nature of the EC2 T2, you get CPU credits,所以你离开它的时间越长 运行ning(而不是使用它),你在使用它时获得的积分就越多。这样,假设白天使用,它就会满足您的规格。
让我们暂时假设(为了降低成本),您希望 SQL 服务器和 Web 应用程序位于同一个 EC2 实例上(您真的不应该这样做)。
对于 EC2,鉴于您对 运行 IIS 和 SQL 服务器在同一主机上的要求(为了省钱),您可以使用的最低主机是 SQL 服务器网络版 2014 / Windows 2012 R2 T2.Medium 当前为 0.272 美元/小时。
SQL 服务器 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 服务器占用 Windows 及其日志约 32-40GB;我正在为交换文件、IIS 和任何临时文件留出空间)。由于这是网络版,您无法压缩备份以保存 space,这也是备份量如此之高的部分原因。您可以挥霍一下,花几百美元进行 SQL 备份,并且能够每 20 分钟进行一次每周完整备份、每晚差异备份和日志备份,这可能会节省一些钱;但还不够值得(在你的例子中)。
因此 EBS 卷将 运行 $.10/月每 GB;或者在这种情况下:
2015 2018
.60 Unchanged
.60
3.00
+ 8.00
-------
12.20
这仅适用于 EBS。
如果选择磁性而不是 SSD,您可以将价格减半;但这不会对微积分产生太大影响——你的成本在实例本身;不在 EBS 卷 IO 中。
这还假设您正在使用具有 public IP 和主机名的 public EC2 实例;并不是说您正在使用代理服务器并将您的网络服务器和 SQL 服务器隐藏在该代理后面。你会为此付出更多。如果您想拍摄图像或 EBS 卷的快照并将它们存储在 S3 中 ($.03 / GB),您还需要支付更多费用。
None 其中包括任何实际带宽成本。
您可以执行此操作的最低费用为每月 220 美元,并且假设流量很少或没有流量。根据实际使用情况,每月可能接近 250 美元。
如果您决定放弃管理您自己的 SQL 服务器实例,它可能会更便宜。您的 Web 层只需要一个 EC2 实例和一个 SQL 服务器 RDS 实例。这是费用:
Linux T2.Micro + SQL 服务器 RDS
Linux T2.Micro(网络层):
2015 2018
.013 .0116
x 731 x 731
------- --------
9.013 8.47
EBS 卷(系统 + Web,1 卷):
2015 2018
10 unchanged
x .10
-------
1.00
(假设您的 Linux 发行版 + Web 文件只需要 10GB)
SQL 服务器 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 是 Ireland-EU。这是这些价格:
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
加入 EBS 批量成本;而且您每月的费用约为 26-27 美元(包括带宽)。因此,如果您继续使用 SQL 服务器,这是迄今为止最便宜的选择。
如果您决定放弃 SQL 服务器(并留在爱尔兰-欧盟 AZ),并为 RDS (mySQL) 选择最便宜的数据库服务器选项:
Linux T2.Micro + MySQL RDS(爱尔兰-欧盟)
2015 2018
db.t2.micro db.t2.micro
0.018 unchanged
x 731
--------
13.16
看来,如果您留在欧盟,SQL 服务器的价格和 RDS 上的 MySQL 的价格是一样的。在 RDS 上使用 MySQL 的 US-East-1 定价每月减去 0.73 美元)。
如果您选择使用像 SQLLite 这样的内存数据库,则可以进一步降低此成本。您需要更大的 EBS 容量(我会加倍),但这只会使您的成本每月增加 1.00 美元,并且您可以满足您的标准并且只需支付 Linux t2.micro :
Linux T2 微型(Web 层)+ SQLite 数据库:
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 服务器 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 美元。
参考文献:
- Amazon EC2 Pricing(截至 2015 年 2 月 3 日)
- Amazon EBS Pricing(截至 2015 年 2 月 3 日)
- Amazon RDS for MySQL Pricing(截至 2015 年 2 月 3 日)
- Amazon RDS for SQL Server Pricing(截至 2015 年 2 月 3 日)
我想使用 Amazon AWS 开发 J2EE 网络应用程序。我应该计划使用 AWS 的哪些组件以及出于什么目的?
以下是我的应用程序的一般规格:
- SQL 服务器数据库实例上带有 servlet、JSP、JPA 的 MVC 模型。
- 数据库当前不存在
- 该应用程序将用于 运行 小规模金融场景模型,用户通过 HTML 表格进行假设输入
- Aurora 未计划用于该应用程序
规格设计:
- 10k I/Os
- CPU:~2 GHz
- 内存:2 GB
- 数据库大小:2 GB
除了数据库中的数据之外,最初没有计划资产;计划是使用最少的设计组件将数据呈现到 JSP 中。
我想负责最少的服务器和数据库管理。
目标预算是每月 10-20 美元。
我可以使用 AWS 的什么来满足这个预算和这些规范?
更新为 2018 年定价
由于您想负责服务器管理,这使您处于 EC2 领域(本质上是 AWS 云基础设施上的虚拟机)。
这是云。您真的不想知道保持您的规格需要多少成本(这超出您的承受能力)。 Due to the nature of the EC2 T2, you get CPU credits,所以你离开它的时间越长 运行ning(而不是使用它),你在使用它时获得的积分就越多。这样,假设白天使用,它就会满足您的规格。
让我们暂时假设(为了降低成本),您希望 SQL 服务器和 Web 应用程序位于同一个 EC2 实例上(您真的不应该这样做)。
对于 EC2,鉴于您对 运行 IIS 和 SQL 服务器在同一主机上的要求(为了省钱),您可以使用的最低主机是 SQL 服务器网络版 2014 / Windows 2012 R2 T2.Medium 当前为 0.272 美元/小时。
SQL 服务器 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 服务器占用 Windows 及其日志约 32-40GB;我正在为交换文件、IIS 和任何临时文件留出空间)。由于这是网络版,您无法压缩备份以保存 space,这也是备份量如此之高的部分原因。您可以挥霍一下,花几百美元进行 SQL 备份,并且能够每 20 分钟进行一次每周完整备份、每晚差异备份和日志备份,这可能会节省一些钱;但还不够值得(在你的例子中)。
因此 EBS 卷将 运行 $.10/月每 GB;或者在这种情况下:
2015 2018
.60 Unchanged
.60
3.00
+ 8.00
-------
12.20
这仅适用于 EBS。
如果选择磁性而不是 SSD,您可以将价格减半;但这不会对微积分产生太大影响——你的成本在实例本身;不在 EBS 卷 IO 中。
这还假设您正在使用具有 public IP 和主机名的 public EC2 实例;并不是说您正在使用代理服务器并将您的网络服务器和 SQL 服务器隐藏在该代理后面。你会为此付出更多。如果您想拍摄图像或 EBS 卷的快照并将它们存储在 S3 中 ($.03 / GB),您还需要支付更多费用。
None 其中包括任何实际带宽成本。
您可以执行此操作的最低费用为每月 220 美元,并且假设流量很少或没有流量。根据实际使用情况,每月可能接近 250 美元。
如果您决定放弃管理您自己的 SQL 服务器实例,它可能会更便宜。您的 Web 层只需要一个 EC2 实例和一个 SQL 服务器 RDS 实例。这是费用:
Linux T2.Micro + SQL 服务器 RDS
Linux T2.Micro(网络层):
2015 2018
.013 .0116
x 731 x 731
------- --------
9.013 8.47
EBS 卷(系统 + Web,1 卷):
2015 2018
10 unchanged
x .10
-------
1.00
(假设您的 Linux 发行版 + Web 文件只需要 10GB)
SQL 服务器 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 是 Ireland-EU。这是这些价格:
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
加入 EBS 批量成本;而且您每月的费用约为 26-27 美元(包括带宽)。因此,如果您继续使用 SQL 服务器,这是迄今为止最便宜的选择。
如果您决定放弃 SQL 服务器(并留在爱尔兰-欧盟 AZ),并为 RDS (mySQL) 选择最便宜的数据库服务器选项:
Linux T2.Micro + MySQL RDS(爱尔兰-欧盟)
2015 2018
db.t2.micro db.t2.micro
0.018 unchanged
x 731
--------
13.16
看来,如果您留在欧盟,SQL 服务器的价格和 RDS 上的 MySQL 的价格是一样的。在 RDS 上使用 MySQL 的 US-East-1 定价每月减去 0.73 美元)。
如果您选择使用像 SQLLite 这样的内存数据库,则可以进一步降低此成本。您需要更大的 EBS 容量(我会加倍),但这只会使您的成本每月增加 1.00 美元,并且您可以满足您的标准并且只需支付 Linux t2.micro :
Linux T2 微型(Web 层)+ SQLite 数据库:
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 服务器 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 美元。
参考文献:
- Amazon EC2 Pricing(截至 2015 年 2 月 3 日)
- Amazon EBS Pricing(截至 2015 年 2 月 3 日)
- Amazon RDS for MySQL Pricing(截至 2015 年 2 月 3 日)
- Amazon RDS for SQL Server Pricing(截至 2015 年 2 月 3 日)