我们在 m5.xlarge EC2 实例上部署了一个 Web 应用程序,当我们尝试购买年度或 3 年预留许可证时,AWS 建议根据我们当前的使用情况,建议购买 54 个 t2.nano 实例而不是 m5.xlarge我们现在有。它计算并显示总成本的差异,并表明选择该选项对我们来说更有利可图。
我无法理解的是,购买 54 个 t2.nano 而不是一个 m5.xlarge 意味着什么?这是否意味着我们需要在所有 54 个 nano EC2 服务器中托管应用程序,然后将其通过 ELB?我对该怎么做有点困惑
有几点需要理解:
预留实例只是一种计费结构。AWS 将尝试在计费时将购买的预留实例与您正在运行的实例进行匹配。即,您不将 RI 分配给您的实际 EC2 实例,您会自动获得折扣。
预留实例容量不必与正在运行的实例相匹配。价格
t2.medium
与 2xt2.small
或 8x相同t2.nano
。因此,如果您购买32x t2.nano它将完全覆盖1x t2.xlarge的价格。从计费的角度来看,它是相同的。另一方面t2。任何东西都不会适用于m5。任何东西——它们是不同的实例类。您可以购买2x m5.large而不是1x m5.xlarge预留实例——从计费的角度来看是一样的。
现在为什么推荐54x t2.nano?可能它发现您的实际需求介于
t2.xlarge
和之间t2.2xlarge
- 最好将其表示为54x t2.nano。根据您的应用程序,您可能会也可能不会将负载分散到多个较小的实例上。我不会去54x t2.nano但也许3x t2.large可能是一个不错的选择?然后,您可以设置自动缩放以在安静时间删除一些节点并保存。甚至使用Spot 实例并节省更多。但是,对于 ASG 和 Spot,您需要一些自动化。
要获得更大的灵活性,请查看AWS Saving Plans - 这样您就可以将应用程序迁移到更新的实例类型、混合和匹配实例类型等。使用预留实例,您可以锁定到特定实例中的特定实例类地区。使用Saving Plans,您每月只需承诺一定的支出,如何使用它取决于您。
希望有帮助:)
这背后的总体思路是,您无需为峰值负载配置一台大型服务器,而是拥有大量较小的服务器,这些服务器可以自动扩展和缩减以满足负载。您将服务器放在应用程序负载平衡器后面。这也为您提供了冗余,以防一台服务器出现问题。
54 t2.nano 是一个奇怪的建议。也许它是最佳的,但它并不直观。这也意味着每台服务器的 RAM 非常少,这可能不适用于应用程序。t 实例也可能用完 CPU 积分,因此我不会在负载均衡器后面使用它们。如果您打开 T 实例上的选项以购买额外积分,则它比使用非 T 实例花费更多。
m5.xlarge 不是一个特别大的服务器,因此拆分它比较困难。我会继续使用 m 系列,较小的是 m5.large,因此您可能会在其中的 1 到 3 个之间进行缩放。
如果它是一个相当稳定的应用程序并且成本不是问题,那么最简单的选择是保留您的 m5.xlarge。