10种AWS成本优化最佳实践

荒凉一梦 提交于 2020-10-30 07:19:56

对于现有的成本优化的问题,最常见的“解决方案”是调整大小,计划和购买预留实例以实现可预测的工作负载。


这三个“解决方案”可能是大多数AWS用户熟悉的AWS成本优化最佳实践,但不一定是“最佳”实践。有时,他们无法节省声称的成本的一小部分,而许多其他通常被忽视的AWS成本优化最佳实践可以节省更多。

10种AWS成本优化最佳实践
1.调整EC2实例的大小
正如我们已经提到的调整大小,调度和保留实例一样,让我们从这三个AWS成本优化最佳实践开始。调整大小的目的是使实例大小与其工作负载相匹配。不幸的是,由于实例的容量每增加一倍,容量就不能那样工作。


因此,只有在某些实例的峰值利用率不超过〜45%的情况下,调整大小才是值得的最佳实践。仍然值得分析利用率指标,以寻找机会将工作负载转移到更适合其需求的不同系列(“通用”之外)。


解决方案:在某些实例的峰值利用率(最好是结合CPU和内存一起)不超过〜45%的情况下,调整大小才是值得的最佳实践

2.安排开/关时间

值得安排非生产实例(例如用于开发和测试的实例)的开/关时间,因为如果您应用“按时”计划(从上午8.00到8.00),您将节省运行这些实例的65%的时间下午星期一到星期五。但是,可以节省更多的钱,尤其是如果开发团队以不规则的方式或不规则的时间工作。


您可以通过分析利用率指标来确定更经常使用的实例,从而应用更为激进的调度,或者应用始终停止的调度,当需要访问实例时,该调度可能会中断。值得指出的是,尽管计划关闭实例,但仍要向您收取EBS卷和附加到它们的其他组件的费用。


解决方案 使用Serverless服务进行处理
参考文章: 关于如何使用AWS服务进行定时开关机,你可以参考文章:
十分钟掌握AWS定时开关机,你Get到了吗?》


3.购买预留实例
购买预留实例是降低AWS成本的简便方法。如果您没有像预期的那样充分利用预留实例,购买了错误类型的预留实例或购买“标准”预留实例,只是为了发现AWS价格下跌,这也是增加AWS成本的简便方法。您的保留条款要比保留“节省”更多。


因此,我们不会建议购买预留实例是AWS成本优化的最佳实践之一,而是建议将有效管理预留实例作为AWS成本优化的最佳实践—有效管理包括权衡所有变量,然后再进行评估。进行购买,然后在预订的整个生命周期内监控使用情况。


解决方案:对于资源利用率处于合理范围(45%~75%)的机器,购买预留实例。

参考文章:预留实例到期如何监控,您可以参考文章:

使用Shell脚本实现EC2 预留实例RI到期提醒

4.删除未附加的EBS卷
返回弹性块存储(EBS),当您启动EC2实例时,EBS卷将附加到该实例以充当其本地块存储。终止EC2实例时,只有在启动实例时选中“终止时删除”框,才会删除EBS卷。如果未选中该框,则EBS量仍然存在,并且正在贡献每月AWS账单。

根据您的企业在云中运行了多长时间以及在未选中删除框的情况下启动的实例数,您的AWS云中可能有数千个未附加的EBS卷。即使您的企业对AWS Cloud而言相对较新,但这无疑也是我们要考虑的AWS成本优化最佳实践之一。
解决方案: 结合AWS Trusted Advisor服务进行监控优化
5.删除过时的快照
快照是将EBS卷上的数据备份到S3存储桶的一种有效方法,因为它们仅备份自上次快照以来已更改的数据,以防止S3存储桶中的重复。因此,每个快照都包含将数据(从创建快照之时)还原到新的EBS卷所需的所有信息。


通常,如果出现问题,您只需要使用最新的快照来还原数据(尽管建议将快照保留几周,具体取决于拍摄频率),尽管不需要成本非常高,您可以删除不再需要的成本,从而节省数千美元。


解决方案:结合使用AWS Lambda写一些函数进行删除

6.释放未附加的弹性IP地址
弹性IP地址是分配给实例的Amazon IP地址池中的公共IPv4地址,因此可以通过Internet进行访问。每个企业最多允许每个帐户使用五个弹性IP地址,因为Amazon没有无限的IP地址池。但是,它们附加到正在运行的服务时没有任何更改。如果您的EIP违背关联或者关联的EC2处于STOP状态,那么EIP将会被收费。
解决方案: 结合AWS Trusted Advisor服务进行监控和优化
7.将实例升级到最新一代
由于Amazon Web Services提供了广泛的产品和服务,因此经常发布有关如何升级产品或引入支持特定服务的功能的公告。关于AWS成本优化最佳实践,要注意的公告是与最新一代实例相关的公告。


当Amazon Web Services发布新一代实例时,与以前的实例相比,它们往往具有改进的性能和功能。这意味着您可以将现有实例升级到最新一代,也可以使用临界利用率指标缩小现有实例的规模,从而以较低的成本受益于相同级别的性能。


解决方案:将实例升级到最新的一代,目前是5代,一般可以节省30%~70%的花费。

8.购买Redshift和ElastiCache服务的预留节点
AWS最近的一项公告详细介绍了Amazon Redshift和ElastiCache的折扣计划如何更改。以前,企业可以购买预付款的“重用率”折扣,但现在已更改为(几乎)镜像EC2和RDS实例的预留实例购买。


可以为1年或3年期限购买Redshift,ElasticCache,Redis和Memcached Services的预留节点,可以选择预付全额或部分预付,或者按月支付。一个重要的注意事项是,为了利用对ElastiCache服务的保留,您必须首先将节点升级到最新一代。


解决方案: 对于资源利用率处于合理范围(45%~75%)的机器,购买预留实例。
9.终止僵尸资产
“僵尸资产”一词最常用于描述构成AWS云运行成本的任何未使用的资产-已经提到许多典型的僵尸资产(未附加的EBS卷,过时的快照等)。 属于此类别的其他资产包括实例启动失败时激活的实例组件和未使用的Elastic Load Balancer。

解决方案:删除相关的僵尸资产

10.将不常访问的数据移至低成本层

Amazon Web Services当前以不同的价格提供六层存储。确定哪个存储层最适合数据将取决于以下因素,例如访问数据的频率(由于检索费适用于较低的层)以及企业在发生灾难时需要多快的时间来检索数据(因为需要花费几个小时才能从较低的层检索)。

通过将不经常访问的非关键数据存储在较低成本层中,可以节省大量资金。四层存储:

  • S3 Standard

  • S3 Infrequent Access

  • S3 Glacier

  • S3 Deep Archive Glacier

解决方案:结合AWS S3 生命周期策略进行优化


AWS成本优化是一个持续的过程

应用AWS成本优化最佳实践是一个持续的过程。需要随时监控您的AWS云,以识别何时资产未得到充分利用(或根本没有利用),以及何时存在通过删除/终止/释放僵尸资产来降低成本的机会。同样重要的是,要保留预留实例,以确保它们被充分利用。

本文分享自微信公众号 - AWS Azure技术分享(MutiCloudLearning)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!