AWS 让开发运营变得艰难。当有 400 个不同的 Amazon EC2 实例时,您应该如何理解 EC2 定价?
为工作选择正确的 VM 类型很困难。但也不必如此。
继续阅读快速介绍和 AWS EC2 定价以及削减云账单的专家提示。
你会在里面找到什么:
什么是 Amazon EC2 实例?
Amazon EC2 代表 Amazon Elastic Compute Cloud,这是一项 Web 服务,可为您提供云计算能力。AWS 设计这些实例是为了帮助开发人员获得 Web 级云计算的好处。
该服务提供了近 400 个不同的实例,可以选择跨处理器(英特尔、AMD 或基于 Arm 的)、存储选项、网络、操作系统和购买模型 - 遍布全球总共 24 个地区和 77 个可用区。
Amazon EC2 实例类型
一般用途
- 提供均衡的 CPU 与内存比率
- 非常适合以相等比例使用 CPU 和内存的通用应用程序 - 例如,具有中低流量的 Web 服务器或中小型数据库。
计算优化
- 针对 CPU 密集型工作负载进行了优化 CPU 与内存的高比率
- 非常适合中等流量的 Web 服务器、批处理预处理、网络设备和应用程序服务器
内存优化
- 具有高内存与 CPU 的比率
- 非常适合生产工作负载 - 例如,数据库服务器、关系数据库服务、分析和更大的内存缓存。
存储优化
- 需要大量读/写操作和低延迟的工作负载的理想选择
- 由于磁盘吞吐量和 IO 高,存储优化型实例可用于大数据、SQL 和 NoSQL 数据库、数据仓库和大型事务数据库
加速计算
- 使用硬件加速器(协处理器)执行数据模式匹配、图形处理和浮点数计算等功能比在 CPU 上运行的软件更好
- 机器学习 (ML) 和高性能计算 (HPC) 的绝佳选择
推理类型
- 专为支持机器学习应用程序而构建
- AWS EC2 Inf1 承诺与 AWS EC2 G4 实例相比,吞吐量高出 30%,每次推理成本降低 45%
- 包括 16 个 AWS Inferentia 芯片、第二代 Intel® Xeon® 可扩展处理器和多达 100 个Gbps网络
AWS EC2 定价快速指南
一经请求
现收现付模式适用于许多团队,因为他们只能为实际使用的资源付费。您可以及时增加或减少使用量,而不必担心任何具有约束力的长期合同或预付款。这也是您避免过度投入预算的风险的方式。
如何破解按需实例?
不要忘记,这种方便的选择也很昂贵,因此您可能会超出预算。
这些灵活的实例适用于流量高峰波动的不可预测的工作负载 - 否则,最好寻找替代方案。
预留实例
从理论上讲,这一切看起来都很棒。在给定的可用区中预先购买 1 年或 3 年的容量,与按需定价相比,可以获得非常好的折扣。您的预付款越大,折扣就越大。
如何破解预留实例?
最好避开它们。如果您承诺在一年内对公司没有意义的资源怎么办?
您正在致力于特定的实例或家庭。以后无法更改此设置。如果您的要求在此期间发生变化怎么办?你被屏蔽了。
储蓄计划
储蓄计划的工作方式类似于预留实例,只是您承诺在 1 或 3 年内使用特定数量的计算能力。您的承诺涵盖的所有使用量都将被涵盖,您将支付按需费率以获取额外费用。
如何破解储蓄计划?
最好避开它们。
您没有承诺使用特定的实例类型和配置,但您仍然面临着将自己锁定在云供应商中的风险。
同样,您承诺为可能在 1 或 3 年内对您的公司零意义的资源付费。
这适用于预留实例和 Savings Plans:当您的需求发生变化时,您要么投入更多,要么陷入未使用的容量。
这些选项阻止了缩放、季节性或轻松配置多区域/区域分布的任何灵活性。
Spot 实例
Spot 实例提供了一个绝佳的机会,可通过以按需定价高达 90% 的折扣来降低云成本。通过对 AWS 未使用的资源出价,您可以节省成本,并使您的工作负载面临潜在的中断风险。AWS 可以随时拔掉插头并给您 2 分钟的警告。
如何破解 Spot 实例?
专用主机
这基本上是一个物理服务器,专门为您提供实例容量。您可以获得 AWS 的弹性和灵活性以及使用自己的许可证的成本优势。
如何破解专用主机?
对于希望实现合规性或出于安全原因避免与其他租户共享硬件的公司来说,这是一个不错的选择。
您需要为每个活动的专用主机(而不是正在运行的实例)按小时计费。
这是一个昂贵的选择。
无论您选择哪种 EC2 定价模型,都不要忘记这些额外费用
AWS 对出口流量、负载平衡、块存储、IP 地址和高级支持等额外费用收费。在比较不同的定价模型和构建云预算时,请考虑这些成本。
实现正确的 EC2 定价和性能组合的 5 个技巧
1. 定义您的要求
看到一个负担得起的实例?你可能很想得到它。但是,如果您运行内存密集型应用程序后它无法处理您的工作负载怎么办?为可能影响整个公司声誉的糟糕表现做好准备。
这就是为什么您需要首先阐明您的要求。计算成本是云帐单中最大的项目,因此请谨慎努力只订购您实际需要的内容。
考虑您对所有计算维度的要求:
假设您已经完成了研究,了解了您的确切要求,并找到了一组与它们匹配的目标实例类型。选择第一个“足够好”的实例可能会适得其反。EC2 实例具有各种价格与性能比。您或许能够为云计算提供更好的性能并削减成本。
接下来的问题是:您应该选择 CPU 还是 GPU 密集型实例?
如果您正在构建基于机器学习的应用程序,请选择 GPU。在训练模型方面,它们要快得多。
并考虑像 AWS EC2 Inf1 这样的专用实例类型,它应该非常适合通过您训练的模型运行预测。
否则,基于 CPU 的实例将完成这项工作。
2. 选择正确的实例类型,方法如下
AWS 提供了针对不同用例优化的多种实例类型;看看上面的表格。
对于每种类型,您可以从一个或多个实例大小中进行选择。这允许扩展资源以满足您的工作负载的要求。
但是云服务提供商为这些实例推出了不同的计算机。这些计算机中的芯片具有不同的性能特征。
您最终可能会使用稍慢或更快的新一代处理器。因此,您选择的实例可能具有您甚至不需要的强大性能特征。而你根本不知道!
解决方案?您可以通过基准测试来验证这一点。只需在每种机器类型上删除相同的工作负载并检查其性能。
我们在一年多前开始时在 CAST AI 中做到了这一点。这是我们学到的:
基准测试案例研究:不可预测的 CPU 行为
下图显示了 Amazon t2–2x large(8 个虚拟核心)在几个空闲 CPU 周期后不同时间的 CPU 操作。
关于处理器的说明:基于 ARM 的实例
AWS 提供基于 ARM 的 VM,例如使用 Graviton2 ARM 处理器的 AWS EC2 A1 系列。ARM 是一个有趣的选择:它消耗的功率更少,因此运行和冷却它更便宜。这就是为什么云提供商倾向于对这种类型的处理器收取较少的费用。
但是如果您想使用它,您可能需要重新构建您的交付管道并为 ARM 编译您的应用程序。除非您已经在运行像 Python、Ruby 或 NodeJS 这样的解释型堆栈,否则您的应用程序很可能会运行。
3.利用CPU爆发
可突增性能实例旨在提供基准水平的 CPU 性能,并有机会在您的工作负载需要时突增至更高水平。
Burstable 性能实例是低延迟交互应用、微服务、中小型数据库和产品原型的不错选择。
CPU积分的累积数量取决于实例类型。较大的实例每小时收集更多积分。但它们也对您可以收集的学分数量有更高的限制。
以下是有关 AWS 中可突增性能实例的一些事实:
它们在实例系列中可用:T2、T3、T3a 和 T4g。
重启T2系列实例会导致所有累积积分丢失。
重启T3和T4系列的实例意味着您的积分将持续7天,然后将丢失。
我们对 AWS 可突增性能实例的研究表明,如果您平均每天加载实例 4 小时或更长时间,则非突增实例是更好的选择。但是,如果您经营的电子商务网站偶尔会吸引大量访问者,那么它就非常适合。
此外,CPU 容量在前 4 小时内趋于线性增加。之后,它变得更加有限,如 T2.2Xlarge 的这个例子:
资料来源:CAST AI
4. 检查存储传输限制
为了降低成本,您还需要考虑数据存储。
AWS EC2 实例使用弹性块存储 (EBS) 来存储磁盘卷。您还可以在 AWS 中获得本地临时存储。
每个应用程序都有其独特的存储需求。选择实例时,请确保它具有合适的存储吞吐量。
避免使用昂贵的驱动器选项,例如高级 SSD,除非您希望充分利用它们。
5. 利用 Spot 实例
Spot 实例是节省 AWS 账单的好方法。通过对 AWS 未使用的实例出价,您可以获得高达 90% 的按需定价折扣。
首先,请通过询问以下问题来确保您的工作负载适合 Spot 实例:
完成这项工作需要多少时间?
它是任务和时间关键的工作负载吗?
它能很好地忍受中断吗?
实例节点之间是否紧密耦合?
当 AWS 拔掉插头时,您移动工作负载的策略是什么?
选择 Spot 实例时,请考虑不太受欢迎的实例 — 被中断的可能性较低。
您还可以检查实例的中断频率。这是实例在过去一个月内回收容量的速率。看看 AWS Spot Instance Advisor:
不要害怕将 Spot 实例用于更重要的工作负载。AWS 提供了一种实例类型,可保证长达 6 小时的不间断运行(以小时为增量)。您必须为此多付一点钱,但您仍然可以获得 30-50% 的折扣。
在出价时,设置一个等于按需定价。否则,一旦价格上涨,您的工作负载中断的风险就会更高。
通过设置称为 AWS Spot 队列的组来增加获得 Spot 实例的机会。它们允许您同时请求多个实例类型。您将为整个队列支付每小时的最高价格,而不是特定的现货池(具有相同类型、操作系统、可用区和网络的实例)。
或使用自动化解决方案解决 AWS EC2 定价问题
与其手动选择 EC2 实例,不如将工作交给 AI 驱动的实例选择算法,例如我们在 CAST AI 构建的算法。
每当集群需要额外节点时,它将选择最佳实例类型来满足应用程序要求。这意味着您的工作负载将以最高性能和最低成本运行。
这是它的工作原理。
在15:41,应用程序收到意外流量激增。Horizontal Pod Autoscaler 创建新的 Pod,但它们没有地方运行。因此,我们立即需要15.5 个新 CPU 内核。
在 2 分钟内,CAST AI自动添加一个新的 16 核节点。
在15:45,应用程序中出现额外的流量。
为了管理这一点,它在一分钟内添加了一个额外的 8 核节点。
一旦流量消失,CAST AI立即退出 2 个节点以避免资源浪费。
请注意,成本优化引擎选择了 Spot 实例以提供大折扣的额外工作。自己尝试 CAST AI 或预订演示。
加入我们一起学习
QQ群:程序员副业交流
QQ群号:931035409
教程网站:https://ai2opencode.com/