我想要什么样的 EC2 设置?

我想要什么样的 EC2 设置?

好吧,我更像是一名程序员,对系统设置之类的事情不太熟悉,尽管我尽力了。我目前使用 Slicehost(统计数据如下)来运营一个个人网站,该网站的流量还不错。

  • Linux(Ubuntu 8.04.2)
  • 512MB 内存
  • 平均传输量 = 4.85GB (0.68 输入 / 4.17 输出)
  • 自动备份

我每月支付 48 美元(38 美元用于托管,10 美元用于备份)。

我正在重新设计网站,因此我想迁移到 AWS (EC2 和 S3)。我正在尝试找出类似的设置(可能在 RAM 方面会更好一些,因为我一直有很高的 root 和 swap IO 使用率),以及这会花费我多少钱。

亚马逊提供简单月历,但我不确定我是否输入了正确的信息,无论是寻找可比较的设置,还是价格是多少。

关于我的网站新版本的相关信息:

  • Ruby(REE 1.8.7)/Rails 3.1
  • PostgreSQL 9.0.4
  • SearchSphinx (2.0) 需要在后台运行
  • 随着应用程序的成熟,将添加各种其他 cron 作业和 rake 任务
  • 应用程序允许用户上传图片作为其个人资料的一部分,我计划将其存储在 S3 中

为了进行比较,我的网站当前版本在 Slicehost 上运行:

  • PHP5
  • PostgreSQL 8.3
  • Apache、数据库和文件(图像)都存储在同一系统上

我想我的问题可以归结为:

  1. 我想要按需实例还是预留实例?我猜是预留实例,但这样一来,仅 1 个实例的价格就高达数千美元。
  2. 根据AWS 实例类型,我可能可以选择微型 (613MB RAM) 或小型 (1.7GB RAM) 实例。听起来对吗?
  3. 我不知道要将哪些数字放入计算器的 EBS 卷部分。我是否真的需要 EBS 卷,或者我的 EC2 实例是否有足够的空间?(请记住,我正在将用户上传的照片卸载到 S3。)

我想就是这样。当我试着粗略估计一下我认为正确的价格时,结果是每月 63 美元,安装费 350 美元。(这还不包括任何 S3 费用。)我认为从长远来看,额外的成本将非常值得,因为它将为我解决痛苦,但我甚至不确定我是否在计算器中输入了“正确”的数字。

答案1

虽然我喜欢 Amazon AWS,但我会质疑它是否适合您。AWS 专注于云计算;也就是说,它们的大部分增值都存在于服务器虚拟机之间——管理工具、高度可扩展的数据存储、流量路由等。但您只需要一个更大的服务器虚拟机。

有一个看看 Linode,他们在自助服务领域享有盛誉,并且 RAM 更大的 VPS 价格合理。或者,如果您不是系统管理员,也许可以从 ServInt、WiredTree 等供应商处寻找托管 VPS。

假设你无论如何都会选择亚马逊:

我想要按需实例还是预留实例?

从长远来看,预订会便宜得多。

我可能可以选择微型 (613MB RAM) 或小型 (1.7GB RAM) 实例。

你需要措施您的 appstack + 应用程序 RAM 使用情况。我猜想 1.7 GB RAM 的小型实例是最低要求。

我是否需要 EBS 卷

严格需要 EBS;当 VM 崩溃/关闭时,“本地”实例存储(称为临时存储)将被销毁。所有持久数据都需要存储在 EBS、S3 等上。但不要太担心 EBS 成本,对于小型数据库来说,它通常占总成本的一小部分。

请记住,我正在将用户上传的照片卸载到 S3。

好主意 - 您也可以从 Slicehost、Linode 等处这样做。

答案2

除非你的问题中缺少了某些基本的东西,否则我认为 AWS 对你来说是个糟糕的选择。甚至在考虑流量和 EBS(你肯定需要它来存储你的 PgSQL 和 SearchSphinx 数据库)之前,它的成本就已经翻倍了,而且是为了什么?你的用例似乎不包括 AWS 真正擅长的任何事(处理非常高峰的负载,特别是那些可以通过后台处理处理的负载;或者处理快速增长和无法进行容量规划的无能 IT 人员),因此你将支付“即时扩展”税而得不到任何回报。

回答您的具体问题:

  1. “我想要一个按需实例吗?”——也许吧。将预留实例想象成直接购买服务器。如果您愿意为您的服务这样做,那么您将获得一个预留实例。如果您不知道您是否会在 6 个月或一年后需要该服务器,那么您可能不应该这样做。如果您没有预付现金来支付,那么显然您无法支付。
  2. 实例大小——正如 Jesper 所说,分析服务的内存占用量并做出自己的决定。如果您现在在 512MB 上运行,我猜微型机对您没什么用。
  3. 是的,您需要 EBS。否则,您的 PgSQL 和 Sphinx 索引将存放在哪里?我猜您可能没有意识到 EC2 与其他托管服务提供商有着根本的不同。启动实例时,您无法恢复关闭时的状态。启动实例时,您将获得启动的 AMI 中的内容。这意味着,每次进行安全更新或更改操作系统中任何想要保留的内容时,您都必须重新滚动该 AMI,并且执行过程中自然更改的任何内容都必须放在 EBS 上(根据我的经验,它们的性能并不好)。

再说一遍,我认为你不适合使用 AWS。坚持使用传统的 VPS 服务。

答案3

我将对此提供另一种观点,因为我的情况有些不同(不是非常关键),并且给我更多的回旋余地。

我的一台服务器在 AWS 上运行 - 它主要用于我和几个朋友的一些小型网站,大约 10 个网站,总数据传输量为 2GB/月。所有服务器都是运行一些 CMS 的 PHP/MySQL。

我的每月成本是 12+/-2 美元:实例成本 5 美元,快照成本 2.5 美元,EBS 成本 3.5 美元(剩余部分用于“杂项”(S3 0.5 美元,带宽 0.2 美元,Cloudfront 0.08 美元等)。我可以以每月约 8 美元的价格添加另一台服务器(我计划在某个时候这样做)。

我的 t1.micro 以 FastCGI 模式运行 PHP,使用 Apache、nginx、postfix、dovecot、vsftp 和 mysql - 使用 250 MB 内存,并在 2 秒内加载 Wordpress 博客。

我的成本如此之低的原因(除了显而易见的小型站点和微型实例之外)是因为我采用现货价格。我注意到波动很小,通常与预留实例成本相同。因此,我出价过高(例如,0.007 美元的实例出价 0.5 美元),并且我基本上保证实例不会被终止。我怀疑您是否会找到每月低于 5 美元且具有 root 访问权限的 VPS 解决方案。

当然,这个前提对于某些关键任务来说毫无用处,但只要实现一点故障转移,你就能轻松获得可行的结果。对我来说,它是以最低成本进行实验和测试的完美平台。

我对你的问题的回答是:

  1. 竞价过高现货实例(否则,您必须预订)
  2. 服务器取决于您的特定需求 - 我建议使用 PHP-FPM 并使用 nginx 作为静态文件的反向代理 - 它将显著降低您的内存使用量。如果您可以使用微型实例,那就去使用它吧 - 请记住,您以后可以随时升级 - 这是 AWS 的优势。
  3. 您必须使用 EBS 卷 - 记住使它们持久(EBS 根卷默认不是持久的)。

在某些情况下,AWS 可能非常便宜,而在其他情况下则极其昂贵——发挥创造力并保持开放的选择,您就会找到最适合自己的。

答案4

如果你注重成本,你可以尝试云朵,它将计算多个提供商的服务器价格。但它不会计算备份,而是计算服务器和传输。

相关内容