计算类资源成本优化方案
方案概述
由于对云上计算类资源管理粗放、不合理的使用方法与购买方式、对资源计费缺乏足够了解等原因,企业在云上计算类资源使用上存在浪费以及不适合自身实际的情况,用户会发现云上计算资源成本偏高、亟需优化。
本文介绍了如何对云服务器ECS、容器服务ACK等计算资源进行合理使用及治理,减少资源浪费、优化云上计算类资源成本的方法。
方案优势
合理优化计算类资源成本
通过对计算类资源用法、影响计费因子、资源供给方式等进行规划,引入适合企业自身的计费与供给方式等方法,能够让企业用户更高效地使用计算类资源,减少不必要的开支,节省相关资源支出成本。
客户场景
云上计算类资源成本优化
场景描述
由于对云上计算资源管理粗放、不合理的使用方法、对资源计费缺乏足够了解等原因,企业在云上计算资源使用上存在浪费以及不适合自身实际的情况,用户会发现云上计算资源成本偏高,甚至由于成本原因不再使用高成本的计算类云产品,此时企业亟需对云上计算资源进行治理与优化。
适用客户
对云上计算成本敏感、有优化诉求的企业客户。
期望以更贴合自身实际、更优成本使用云上计算产品的企业客户。
方案架构
方案目前包括云服务器ECS、容器集群ACK(其成本还是以宿主机ECS占大头)的成本优化相关内容。通过分析影响云服务器费用的关键因素,进而推荐采用合理的计费方式与资源供给方式。
计费方式优化
公共云的最大优势便是资源使用的灵活性,用户无需超前制定采购计划,同样也无需顾虑容量规划不足所导致的应用稳定性风险。弹性计算的产品实际上是为了解决客户在使用资源的确定性、灵活性和成本最优三方面的一个均衡。作为一种服务,提供了多种多样的付费模式选择,用户可结合不同的业务场景,自由搭配多种付费方式从而降低成本。
包年包月
包年包月是一种先付费后使用的计费方式。通过包年包月,用户可以提前预留资源,同时享受更大的价格优惠,更大程度节省支出。在创建包年包月实例时,各项资源单独计费,汇总出总费用,需要提前完成费用支付才能开始使用包年包月资源。创建包年包月实例后,可以升降配包年包月实例或扩容包年包月云盘。如果需要在当前计费周期的到期日后继续使用包年包月资源,可以续费包年包月实例。若持有多台包年包月实例,可以使用统一到期日功能将实例的到期日对齐到各月份的同一天,方便统一管理续费时间。
包年包月的计费方式适用于对未来资源使用确定性的业务场景。尤其是生产环境下一些资源用量较为稳定的系统,资源的使用者可以预估出在未来一段时间内,不会发生任何业务变化及调整。
在使用包年包月实例时,务必提前做好容量规划,尤其是对于有状态应用,如在服务器资源上安装Redis、MySQL等应用。
按量付费
按量付费是一种先使用后付费的计费方式,在使用方式上也最为灵活,是云平台资源极致弹性的基础。通过按量付费,可以按需开通和释放资源,无需提前购买大量资源。按量付费ECS资源按照计费周期计费,在每个结算周期生成账单并从账户中扣除相应费用。
基于按量付费的计费方式,用户能够为一些用户端系统在日常部署基础容量的计算资源,而在一些大型活动、新品发布等场景下,通过按量付费方式在数天内完成计算资源购买,横向扩展应用实例数,在确保应用稳定性的同时,最大化的降低活动所带来的额外成本,而这点在传统数据中心时代是难以实现的。
抢占式实例
抢占式实例同样也是一种按需使用的实例,相对于按量付费实例价格有一定的折扣,其价格随市场供需关系实时变化。在创建抢占式实例时,用户需指定出价模式,用于提供出价获得使用抢占式实例资格。
创建抢占式实例时,用户需要指定出价模式,当指定实例规格的当前市场价格低于出价且库存充足时,就能成功创建抢占式实例,并按照当前市场价格计费。抢占式实例采用按量付费的计费方式,即先使用后付费。费用根据市场价格和计费时长进行计算。默认有1小时的保护期,支持在创建实例时设置为无保护期。如果设置为有保护期,在保护期内即使市场价格浮动超过了出价,抢占式实例也不会被释放,可以在该抢占式实例上正常运行业务。如果抢占式实例设置为无保护期,会比有保护期价格更低,在有保护期实例价格的基础上再优惠10%左右。
抢占式实例适用于无状态的应用场景,例如可弹性伸缩的Web站点服务、图像渲染、大数据分析和大规模并行计算等。应用程序的分布度、可扩展性和容错能力越高,越适合使用抢占式实例节省成本和提升吞吐量。
预留实例券
包年包月实例虽然在成本上会有较大的费用节省,但流程上账单和ECS实例绑定,退款时可能需要手续费。退款需要人工接入,不能自动化进行。手动转包年包月实例效率低,而且容易出错,维护操作多,单价较低,但需要一次性支付。相较于包年包月实例,按量付费实例的单价高,资源紧张时可能创建失败。但操作更加简单,例如在自动化运维时,需要自动创建或释放ECS实例,释放实例时不必涉及人工退款;也能与弹性伸缩产品配合使用。
预留实例券是一种抵扣券,可以抵扣按量付费实例(不含抢占式实例)的账单,也能够预留实例资源。相比包年包月实例,预留实例券与按量付费实例这种组合模式可以兼顾灵活性和成本。预留实例券不能单独使用,需要匹配按量付费实例,抵扣按量付费实例的账单。
预留实例券可以抵扣ECS、ACK、EMR、ECI等服务,跨服务高度灵活,无需再分开购买。对业务区域可能发生变更,需要随时释放ECS实例、自动化运维中业务需求自动调整ECS实例数量与规格、使用弹性伸缩管理ECS实例,并且持有大量按量付费实例,希望降低成本,预留实例券与按量付费实例的结合使用是最佳的选择。
使用预留实例券搭配按量付费实例具有以下优势:
购买预留实例券即代表承诺一定的使用时长,可以享受折扣,比只使用按量付费实例的成本低。
购买预留实例券时交付计算力而非具体的ECS实例,按量付费实例符合要求即可匹配,而不是和某一台ECS实例绑定,比使用包年包月实例的灵活性更高。
支持拆分、合并预留实例券,方便您在改用不同大小的新实例时继续抵扣账单。
支持随时修改预留实例券的可用区,地域级预留实例券直接支持跨可用区抵扣。
支持按每小时支付(部分预付或0预付),避免一次性支付带来的资金链压力。
预留实例券分为地域级和可用区级,地域级预留实例券可以匹配同一地域下同一规格族但大小不同的按量付费实例,可用区级预留实例券必须匹配特定大小的按量付费实例。
对于一些稳定需求(1-3 年),购买预留实例券肯定是最简单又最有效的优化使用成本的方式。根据业务当前资源情况以及预计未来的大致规模,统一规划设计购买 RI 方案,最大化优化成本。规划 RI 的时候,不要只聚焦在具体的某个项目、某个业务,在整个企业层面所需资源这进行 RI 规划(结合整合账户),会更加灵活。
预留实例券、按量付费实例和包年包月实例的区别如下表所示。
对比项 | 预留实例券 | 按量付费实例 | 包年包月实例 |
形式 | 一种抵扣券,分为地域级预留实例券和可用区级预留实例券。 | 以按量付费方式购买的实例,等同于一台实际运行的虚拟机。 | 以包年包月方式购买的实例,等同于一台实际运行的虚拟机。 |
用途 | 不能单独使用,需要匹配按量付费实例,抵扣按量付费实例的账单。 | 可以单独使用,既可以用作简单的Web服务器,也可以与其他阿里云产品搭配提供强大的解决方案。 | 可以单独使用,既可以用作简单的Web服务器,也可以与其他阿里云产品搭配提供强大的解决方案。 |
在以下场景中,预留实例券与按量付费实例的结合使用是最佳的选择。
场景 | 选择预留实例券与按量付费实例 | 选择按量付费实例 | 选择包年包月实例 |
业务区域可能发生变更,您需要随之释放ECS实例,并在对应可用区创建新的ECS实例。 | 使用预留实例券搭配按量付费实例具有以下优势:
| 相较于包年包月实例,按量付费实例的单价高,资源紧张时可能创建失败。但操作更加简单,例如在自动化运维时,需要自动创建或释放ECS实例,释放实例时不必涉及人工退款;也能与弹性伸缩产品配合使用。 | 账单和ECS实例绑定,退款时可能需要手续费。 |
自动化运维中需要根据业务需求自动调整ECS实例数量。 | 退款需要人工介入,不能自动化进行。 | ||
使用弹性伸缩管理ECS实例,持有大量按量付费实例,希望降低成本。 | 手动转包年包月实例效率低,而且容易出错。 | ||
希望简化包年包月实例的生命周期维护操作,例如续费、释放、统一到期日等。 | 维护操作多。 | ||
希望分期支出资源费用,减轻成本压力。 | 单价较低但是需要一次性支付。 |
节省计划
节省计划是一种折扣权益计划,用户可以通过承诺在一定期限(1年或3年)内使用稳定数量的资源(以元/小时为单位衡量),来换取较低的按量付费折扣。在购买节省计划后,每小时账单中不超过承诺消费的部分将享受节省计划特有的折扣后抵扣。
使用节省计划时,每种实例除了有正常的按量单价(小时价格)以外,还会有节省计划折扣后的单价。在承诺消费的金额范围内,按节省计划折扣后的单价来计费并抵扣;超出承诺消费的金额范围后,按正常的按量单价计费。每一份节省计划,都必须选择每小时承诺消费。在承诺消费的金额范围内,您的实例消费将按节省计划折扣单价来计算并抵扣,超出承诺消费的金额范围后,按正常的按量单价计算费用。
节省计划均不限制实例大小和操作系统,通用型节省计划可以支持更多产品且不限制地域和规格族。只需预估大致的消费范围,无需细化到规格族、操作系统等维度。
典型业务场景的组合
企业的业务场景往往不止一种,资源精细化治理的含义是在于
1. 共振型
业务特征:各个业务间有关联,流量增长后各业务对资源的诉求同时增长。
典型场景:热点事件、电商大促、泛互联网流量高峰。
推荐计费模式:按量付费+节省计划(或预留实例劵)。
2. 平稳型
业务特征:业务相对比较平稳,无明显的波峰波谷。
典型场景:平稳型在线业务,如内部OA系统。
推荐计费模式:包年包月或按量付费+节省计划(或预留实例劵)。
3. 突刺型
业务特征:各个业务之间关联不大,具有突发性。
典型场景:事件型业务、Job任务、仿真任务。
推荐计费模式:按量付费。高频突刺部分可适当搭配节省计划(或预留实例劵)。
4. 混部型
业务特征:多个业务,不同业务在不同时间段对算力的要求不同,优先级不同。
典型场景:多套环境交替使用(如蓝绿部署),在线、离线、Job任务型混合部署。
推荐计费模式:按量付费+节省计划(或预留实例劵)。
ECS费用优化
升级换代
近年来,随着云计算规模体量的增大、研发人力物力的大量投入,虚拟化架构的演进速度在进一步加快。而通过这种规模化效应所带来的直接好处便让利给用户,使用户能够以同等、甚至更低的价格购买到算力更强的资源。以同规格族的实例g5.2xlarge和g6.2xlarge为例,性能及价格差异如下表:
性能 | 价格 |
|
|
在购买云服务器时,需要注意对比这点。如果没有特殊业务需求尽可能选择最新代云主机。
实例规格优化
针对ECS实例规格的优化是目前云平台管理员在日常运营管理资源时主要关注的方向,也是重点优化手段。在应用上线后,可通过监控资源的使用情况与业务场景相结合,评估当前配置是否过高,避免浪费。
除资源利用率的监控以外,在优化资源的规格配置时,应对ECS实例规格族有所了解。一种实例规格族包括多个实例规格。实例规格族名称格式为ecs.<规格族>,实例规格名称为ecs.<规格族>.<nx>large。<规格族>由规格族主体+规格族后续组成。对于测试环境的应用,若对应用可用性没有要求,可使用共享型资源替代计算型ECS,s6资源类型同等资源配置的情况下仅为c6的费用的64%。
相对于普通的规格族类型,在规格族上带有小写字母的资源由于在性能上做了增强,因此会比同规格族类型略贵。如ecs.g7se.large,表示存储增强通用型ECS。但是后缀带a的资源,如ecs.g7a.large表示AMD处理器,价格上比Intel处理器便宜,在使用上仅需考虑操作系统对处理器类型的兼容性即可。
对于实例规格优化的另一大挑战来自于云原生架构的广泛应用。过去云平台管理员在出具相应的资源优化建议报告时,其依据主要来源于监控资源的利用率。而当应用部署在Kubernetes之后,除了要考虑到资源的利用率问题,系统管理员同样也要考虑在部署应用时的资源配额问题。此时资源的优化应该是自上而下,从应用层开始着手调整对应的CPU/内存的部署配额,直到预留资源配额到达一定比例时再执行实例规格的调整。
除此之外,企业在使用Kubernetes架构之后,究竟该选用大规格实例还是小规格实例也是管理员关心的问题。使用大规格实例有助于减少服务通信时所产生的跨主机调用,从而优化应用整体性能。但从资源使用视角看,要考虑因计算资源故障所产生的稳定性风险,需要做一定的冗余。此时,资源数量越多,为保证业务可用性所预留的冗余资源便可对应减少。
可参考实际应用场景选择对应的实例规格:
通用计算
异构计算
优化快照使用成本
快照是数据备份和容灾方案设计中被频繁使用的功能,也是成本最低的数据可靠性保障的通用型解决方案。在使用快照时,有时管理者会设置一个通用的运维管理方案,对于所有账号下云服务器按照标准统一管理。快照的计费基础是快照容量,因此快照数量越多,所占用的快照容量也就越大。产生的快照费用也随之增加。
快照使用的最佳实践是基于实际业务需求,按照场景合理设置快照策略,保留合适数量的快照。对应业务场景和建议见下表。
业务类型 | 快照频率 | 保留时间 | 说明 |
核心应用 | 每一至两天创建一次快照 | 数月或者更长 | 由数据重要性决定 |
非核心应用 | 每一至两周创建一次快照 | 数天或者数周 | 由数据重要性决定 |
系统盘 | 按需创建快照 | 保留一至两份快照即可 | 系统盘上不建议保存重要的应用数据 |
软件升级 | 及时删除 | 避免长期保留产生不必要的费用 | |
关键文件修改 | |||
应用数据迁移 | |||
测试环境 |
提升资源利用率来降低成本
在业务需要时创建资源,在业务空闲时停止或者释放闲置资源;在业务增长时升级资源规格,在业务需求下降时降低规格;可以结合云监控中资源利用率来分析资源的使用情况,进而判断是需要升级还是降配。
容器集群成本优化
容器集群成本分析
为了解决容器场景下业务单元与计费单元生命周期不一致的问题,容器服务提出了独有的计费与计量相结合的成本估算模型,并加入费用策略(付费类型、节省计划、代金券、用户折扣、竞价波动)、分摊因子(CPU、内存、GPU 卡、GPU 显存等)、资源形态(ECS\ECI\HPC)等因素的考量,实现针对Pod维度的成本估算以及集群占比的成本分摊。通过账单分析将集群在一个阶段内的所有资源成本进行聚合,再配合 Pod 维度的成本分摊能力实现了完整的云原生容器场景成本分摊与估算模型。
ACK的成本分析功能可以协助企业IT成本管理人员从多维度了解集群资源使用量及成本分布,提供成本节约建议,从而提升集群资源利用率。支持集群、命名空间、节点池、应用(label 通配符匹配)四个维度的成本洞察,集群维度侧重在云资源的分布、资源成本的趋势变化、集群水位与浪费的比率以及集群成本费用的趋势与预测,可以协助 IT 管理员准确判断成本消费的趋势,防止超过预算的场景;命名空间侧重在费用的分摊,支持短周期的费用预估以及长周期的成本分摊,支持调度水位、资源用量、成本趋势的相关性分析,协助部门管理员进行成本估算,下钻分析成本浪费,提升部门资源利用率;节点池维度侧重在资源成本规划与治理,通过实例类型、单位核时、调度水位、利用率水位的相关性分析,协助 IT 资产管理员优化资源组合和付费策略。应用(label 通配符匹配)维度侧重在领域场景成本优化,例如:大数据、AI、离线作业、在线应用等各种上层应用场景,都可以通过应用维度的成本洞察进行实时费用预估以及任务级别的成本核算。
通过四个维度的成本洞察,可以让全场景的成本优化功能与解决方案都有数据可以支撑,有理有据的进行降本增效。
弹性伸缩
弹性是云最核心的能力之一,可以有效降低计算成本。ACK 在资源层和应用层提供了丰富的弹性策略,在资源层,当集群资源不足时,ACK 集群可以利用 cluster-autoscaler 在节点池中自动创建新的节点实例。我们可以根据应用负载,选择 ECS 虚拟机,神龙裸金属实例,进行扩容。基于阿里云强大的弹性计算能力,我们可以在分钟级实现千节点扩容。
在 ACK 集群中一个更加简化的方案是利用 ECI 弹性容器实例来实现弹性。ECI 基于轻量虚拟机提供了 Serverless 化的容器运行环境,具备强隔离、高弹性,免运维、免容量规划的特性。弹性容器实例可以在 30 秒内扩容 3000 Pod,可以轻松应对突发的新闻事件,或者支持自动驾驶模拟仿真这样的批量计算业务。
值得一提的是,阿里云可以使用 ECS 或者 ECI 的竞价实例,它可以利用阿里云的空闲计算资源,成本折扣可以低至按量付费实例的 90%。竞价实例非常适合无状态和容错性好的应用,比如批量数据处理或者视频渲染等。在应用层,Kubernetes 提供了 HPA 的方式进行 Pod 的横向伸缩,和 VPA 进行 Pod 的垂直伸缩。ACK 内建了基于机器学习的 AHPA 方案、来进一步简化弹性体验,提升弹性的 SLA。
K8S资源画像
Kubernetes 提供了对 CPU、内存等资源的抽象能力,用户可以根据容器的实际需求声明资源规格,这种方式有效提升了集群资源的管理效率。然而,如何填写容器的资源规格一直以来都是困扰应用管理员的关键问题,过高的资源规格会导致大量的资源浪费,而过低的规格又会为应用带来潜在的稳定性风险。阿里云容器服务 Kubernetes 版(Alibaba Cloud Container Service for Kubernetes,以下简称 ACK)为 Kubernetes 原生的工作负载提供了资源画像的能力,实现容器粒度的资源规格推荐,可以有效简化应用管理员为 Pod 配置 Request 和 Limit 的复杂度。
Kubernetes 为容器资源管理提供了“资源请求”(request)的资源语义描述,当容器指定了 request 时,调度器会将其与节点的“资源容量”(capacity)进行匹配,决定其应该被分配到哪个节点。容器的 request 一般基于经验来填写,应用管理员会参考容器的历史利用率情况、应用的压测表现,并根据线上运行情况的反馈持续调整。
然而,这种基于人工经验的资源规格配置模式存在以下局限性:
为了保障线上应用的稳定性,管理员通常会预留相当数量的资源 buffer 来应对上下游链路的负载波动,容器的 request 配置会远高于其实际的资源利用率,产生大量的浪费。相关统计数据表示,在大部分在线服务的生产环境中,集群的资源利用率处于相当低的水平。
当集群分配率较高时,为了提升集群资源利用率,管理员会主动缩小容器的 request 配置,以协调更多的资源容量。这类操作短期内可以提升容器的部署密度,但长期来看可能会因应用流量波动而产生稳定性风险。 应用的资源画像数据可以为管理员提供有效帮助,所谓资源画像,指的是应用资源消耗的特征,既包括 CPU、内存这类常用的集群物理资源,也包括网络带宽、磁盘 IO 这类相对抽象的类型。在日常的容器资源管理中,运维人员最关注的就是 CPU 和内存。如果我们能够将资源消耗的历史数据收集起来,并进行汇总分析,管理员在为容器设置规格时就可以做到有的放矢。
除了资源规格这个维度,应用的资源画像还包含时间维度的特征,特别是互联网服务的流量会受到人们生产生活影响,呈现出明显的高低峰、周期性以及可预测性。例如本地生活类应用会存在午间和晚间高峰,办公类应用会存在上下班打卡高峰,而电商类应用在促销阶段的流量波峰预期会是波谷的数倍之多。如果调度系统能够捕捉到这一信息,根据集群和应用状态灵活调配资源,就可以实现资源分配的“削峰填谷”效果。
1. 策略管理
资源画像支持按需开启的管理策略,可以指定命名空间和应用类型范围。策略同时还支持为应用配置资源消耗冗余,所谓资源消耗冗余,对应的场景是管理员在评估应用业务容量时(例如 QPS),通常不会将物理资源使用到 100%。原因既包括超线程等物理资源的局限性,也包括应用自身需要考虑留有余量以应对高峰时段的负载请求。当资源画像的推荐值与原始资源请求的差距超过安全冗余时,才会提示降配建议。
2. 资源用量分析
通过应用的画像详情页,用户可以对资源使用情况进行直观的分析,评估容器当前的资源规格(request/limit)是否合理。详情页的资源曲线分别展示了各容器的资源限制值(limit)、资源请求值(request)、资源画像功能提供的推荐值(recommend),以及应用各副本资源使用量的平均值和最大值(average/max usage)。
3. 资源配置更新
应用画像详情页还同时提供了资源变配的功能,变配窗口内默认展示了各容器当前的所需资源(request)和限制资源(limit),以及资源画像为容器生成的推荐值,推荐值来自于对容器资源消耗历史数据的聚合分析,确保推荐值可以尽量满足容器资源消耗的需求。这里同时还展示了策略管理中为应用配置的冗余系数,方便应用管理员在修改资源规格配置时参考。
4. 资源冗余配置
资源画像的变配建议是比较推荐值与当前应用资源申请量(request)得到的,当推荐值高于 request 时,说明容器实际的资源用量已经超过了申请量,应提高请求规格;而当推荐值低于 request 时,说明容器实际的资源用量低于请求量,但这并不代表着一定要降低请求规格。原因是应用管理员在填写资源申请时,通常都会在原始的资源需求基础上额外增加一定程度的资源冗余,用于应对流量高峰,或是做例如“同城多活”这类高可用场景的切换。此外,部分应用还对资源较为敏感,无法在宿主机负载较高时平稳运行,这也需要在基础值上调高资源规格。
因此资源画像的变配建议会参考用户在策略管理中配置的冗余系数,只有当推荐值显著低于请求量时才会提示“降配”操作。冗余系数只影响资源变配的提示,不影响推荐值算法的计算过程,原因是资源画像提供的推荐值是对应用当前资源需求情况的总结,管理员在使用时应结合应用自身特性,在推荐值的基础之上进行加工。
5. 应用使用类型
目前资源画像的推荐值会优先考虑满足容器的资源使用,确保可以覆盖绝大部分历史数据样本,因而更适用于在线类型的应用,因为它们通常以服务的形式部署,对响应时间(RT)会有严格的约束,要求资源必须及时得到满足。
与“在线”相对应的是“离线”应用,通常为批处理类型的任务,其更关注数据处理的整体吞吐量,可以接受一定程度的资源竞争,以提高集群资源的整体利用率,因此当前资源画像的推荐值对于离线应用来说会显得有些保守。此外,集群内还会有一些关键的系统组件,通常以“主备”的形式部署多个副本,处于“备份”角色的副本长期处于资源闲置状态。这些“备份”角色的资源用量样本数据会对画像算法产生一定程度的干扰,影响推荐值的准确性。针对这些场景,管理员应基于应用特点对资源画像的推荐值二次加工后再使用,后续我们也将开放更多能力,提供更加精细的资源画像策略管理。
产品说明及名词
产品说明
产品名称 | 产品说明 | 产品费用 |
云服务器ECS | 云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。 | 收费,详情参见产品定价。 |
容器服务ACK | 容器服务 Kubernetes 版(Container Service for Kubernetes,简称容器服务 ACK)提供高性能可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。 | 收费,详情参见产品计费。 |
云监控 | 云监控(CloudMonitor) 是一项针对阿里云资源和互联网应用进行监控的服务。云监控服务可用于收集获取阿里云资源的监控指标,探测互联网服务可用性,以及针对指标设置警报。 | 收费,详情参见产品计费。 |
安全性
ECS安全性
客户需要对ECS上的安全性负责,包括及时更新ECS操作系统的系统补丁提升系统安全性,为ECS实例设置合适的安全组规则避免非法访问,通过数据加密保障ECS上的数据安全等。详情参见ECS安全责任共担模型。
成本优化安全性
请详细阅读本文方案架构、注意事项、操作步骤等内容,了解成本优化对数据存储、使用方法及计费方面的影响,充分了解影响面及风险后再确定是否要执行优化。
注意事项
按量付费实例节省停机模式
启用按量付费实例节省停机模式后,以降低相关费用、节约使用成本。支持节省停机模式的实例必须同时满足网络类型为专有网络、计费方式为按量付费(包括抢占式实例)、实例规格族不包含本地存储、实例规格族不包含持久内存这四点条件,当达到停止实例的触发条件时,部分资源会被回收并停止收费。需要注意的是,由于计算资源被回收,再次启动时可能因为库存不足导致启动失败,其次实例的固定公网IP被回收后,再次启动,固定公网IP会发生变更,建议将此类计算资源转为弹性IP使用。
K8S内建水平POD自动伸缩(HPA)
HPA有两个不足,需要注意:
弹性的滞后性:弹性策略基于对监控指标的被动响应,此外由于应用本身启动、预热也需要一定时间,在扩容的过程中,业务稳定性可能会受到影响。
配置的复杂性:HPA的运行效果取决于弹性阈值的配置。配置过于激进可能导致应用稳定性受影响,配置过于保守,成本优化的效果就大打折扣。需要反复尝试才能达到一个合理的水平。而且随着业务的变化,也会需要重新调整弹性策略。
释放闲置资源要注意数据安全
对于闲置的磁盘、快照、实例,如果跟业务方协商确实可以释放,那请规划好数据保留策略,再进行资源释放。对于快照资源的删除要注意:
为提高容错率,建议您为核心业务至少保留一个快照策略。
删除快照时仅删除该快照中的数据,不会对创建快照的云盘有任何影响。
删除快照时,会同时删除快照中所有数据且数据不可找回,已删除的快照不可恢复,请谨慎操作。
删除快照时,注意切换地域查看哪些地域有快照,然后分别删除。删除全部地域下的快照后,才不会再产生快照费用。
实施步骤
实施准备
已拥有阿里云账号,了解相关资源成本费用现状。
已阅读方案架构及注意事项章节,了解操作影响面及可能的风险。
已开通云治理中心治理检测模块。
实施时长
在实施准备工作完成的情况下,本方案实施预计时长:60分钟。
操作步骤
根据方案架构中的介绍,结合企业实际情况选择进行下述优化项进行具体操作。
潜在优化项检测-云治理中心
目前云治理中心支持跟计算型资源相关的检测项包括:ECS实例是否闲置、ECS磁盘是否闲置、容器镜像服务ACR实例是否闲置。对于闲置资源跟业务部门协商如果确认没在使用,那可以将资源释放。
ECS成本优化
计费方式优化
包年包月转按量付费,操作步骤见官网手册。
按量付费转包年包月,操作步骤见官网手册。
购买节省计划最佳实践,操作步骤见官网手册。
实例规格选型最佳实践
结合企业自身业务场景特点,具体可以参考常见的选型场景推荐。
快照成本优化
通过保留必要的快照数,删除不必要的快照,设置合理的快照策略等手段来优化快照。具体可以参考官网手册。
容器服务成本优化
节点自动伸缩
ACK的自动伸缩能力是通过节点自动伸缩组件实现的,可以按需弹出以下按量计费的实例:普通实例、GPU实例和竞价付费实例,支持多可用区、多实例规格、多种伸缩模式,满足不同的节点伸缩场景。具体可以参考官网手册。
容器水平伸缩
容器服务ACK支持在控制台界面上快速创建支持HPA的应用,实现容器资源的弹性伸缩。您也可通过定义HPA(Horizontal Pod Autoscaling)的YAML来进行配置。具体可以参考官网手册。
容器定时伸缩
应对资源浪费的场景,阿里云服务容器提供kubernetes-cronhpa-controller组件,实现资源定时扩容。本文介绍如何实现容器的定时伸缩,及介绍定时伸缩CronHPA兼容HPA的原理。具体可以参考官网手册。
容器垂直伸缩
通过在ACK集群上部署安装VPA(vertical-pod-autoscaler),ACK可以提供垂直的容器伸缩的功能。VPA会基于Pod的资源使用情况自动为集群设置资源占用的限制,从而让集群将Pod调度到有足够资源的最佳节点上。VPA也会保持最初容器定义中资源request和limit的占比。具体可以参考官网手册。
故障排除
ECS成本优化
ECS快照:怎么避免错误操作引起的数据丢失?
在有操作风险的场景中,您可以提前创建快照备份数据。例如修改关键系统文件、实例从经典网络迁移至专有网络VPC、日常数据备份、实例误释放恢复、预防网络攻击、更换操作系统、为生产环境提供数据支撑和其他具有操作风险的场景。出现错误操作时,您可以及时回滚云盘,降低风险。更多信息,请参见创建一个云盘快照和使用快照回滚云盘。
ECS快照:如何降低快照的使用成本?
您可以通过保留合理的快照数量、删除不再使用的快照、取消不必要的自动快照策略等方式来节约快照成本。更多信息,请参见优化快照使用成本。
建议您购买标准-本地冗余存储包、存储容量单位包或者预留空间,可以抵扣快照存储费用。
ECS快照:如何停止快照计费?
如果您不再使用快照,删除快照后就会停止计费。
ECS计费方式:包年包月转按量付费失败时如何处理?
以下情况都会造成转换失败:
实例当前状态不支持转换。例如实例存在未支付的订单。
实例当前处于已过期状态,不支持转换。
实例的信息发生变化,不允许转换。例如实例已临时升级带宽。
ECS计费方式:什么类型的ECS实例支持节省停机模式?
支持节省停机模式的ECS实例需要满足以下条件:
网络类型为专有网络
计费方式为按量付费(包括抢占式实例)
实例规格族不包含本地存储
实例规格族不包含持久内存
更多信息,请参见按量付费实例节省停机模式。