发布于: Oct 10, 2021
云桌面系统方案是云计算与虚拟化的结合应用,实现了远程移动办公的要求,Amazon WorkSpaces 是如何在充分共享资源的条件下,进一步优化其使用成本的呢?
Amazon WorkSpaces 是在 Amazon Web Services 上运行的完全托管、安全的桌面即服务(DaaS)解决方案。借助 Amazon WorkSpaces,您可以为团队成员轻松配置云桌面,使他们可以随时随地访问所需的文档、应用程序和资源。Amazon WorkSpaces 提供两种不同的付费选项:AlwaysOn(按月计费)和AutoStop(按小时计费,不使用一定时间自动关闭),每一台 WorkSpaces 根据使用情况选择相应的付费选项会更加节省成本。
为了帮助不便预测 WorkSpace 使用模式的客户监控 WorkSpaces 使用情况并优化成本,Amazon Web Services 提供了 Amazon WorkSpaces Cost Optimizer,来分析您所有 WorkSpace 的使用情况数据,并自动将 WorkSpace 转换为最具成本效益的计费选项(每小时或每月一次)。本文将向您介绍如何在 Amazon Web Services 中国区部署 WorkSpaces 成本优化方案,以及这个方案的工作原理。
1.架构图与资源
部署此解决方案将在 Amazon Web Services 中国区域中构建以下环境。
2.架构描述
本方案中 Amazon CloudFormation 模板会创建一个 Amazon CloudWatch 规则,然后定时触发 Amazon Lambda 调用包含 Python 脚本的 Amazon Fargate 遍历 Amazon Directory Service 寻找 Amazon WorkSapces 及其用量,并根据规则调整每台 WorkSpaces 的使用模式,将结果生成日志存放到 Amazon S3 中。整个过程皆采用无服务化架构,只在运行时收取小部分费用,每月的成本不到一块。
3.服务细节解读
Amazon CloudFormation 模板会创建一个 Amazon CloudWatch 规则,这是一个定时任务,每24小时运行一次(默认是在 UTC+0 时间的每天23:55),调用 Amazon WorkSpaces Cost Optimize Amazon Lambda 函数。您可以在 CloudWatch Rules 页面中看到这个任务。
Lambda 函数利用 Amazon Elastic Container Service(Amazon ECS)创建 Amazon Fargate 任务,任务包含两个主要部分:
1. 轮询 Amazon Directory Service,来收集在每个 Amazon Web Services 区域中为 Amazon WorkSpaces 注册的所有目录的列表。
2. 检查按小时计费模型的每个 WorkSpace 的总使用量。如果已达到每月使用量阈值,则将这个 WorkSpace 转换为按月计费。
Fargate 任务执行的结果会记录在 S3 存储桶 CostOptimizerBucket 中,包括统计的每个 WorkSpace 运行情况和执行转换的记录,便于您查询和分析。
4.运行周期
• Lambda 函数:每天运行一次,定时由 CloudWatch 触发。
• Fargate 任务:每天运行一次,由 Lambda 函数启动;具体的转换任务根据判定结果执行。
• S3 结果日志:每天产生一个以日期命名的文件夹,其中每一个文件代表一个区域中的 WorkSpaces 扫描结果。
5.成本优化策略
针对每一台 WorkSpace:
- 每天运行一次的 Fargate 任务都会检查这台 WorkSpace 的本月使用时间和付费模式,如果这台 WorkSpace 是按小时计费模式,并且使用率高于阀值(您可以修改设置的成本均衡点),这个解决方案会自动将这台 WorkSpace 从按小时计费(Auto-Stop)转换为按月计费(Always On)。监控数据和转换操作会被记录在 S3 中。
- 在每个月结束时,如果这台 WorkSpace 是按月计费模式,并且本月的用量没有达到阀值,这个解决方案会下个月月初时自动将这台 WorkSpace 从按月计费(Always On)转换为按小时计费(Auto-Stop)。
*您也可以使用标签键【Skip_Convert】和任何标签值将资源标签应用于指定的 WorkSpace,对于您标记的 WorkSpace,此解决方案也将只进行记录、不自动转换。
相关文章