本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
大小合适的 Windows 工作负载
概述
合适的尺寸是最有效的节省成本的工具之一。 AWS 提供了各种收集正确规模信息的方法,从使用AWS
优化和许可评估 (AWS OLA)
本节向您展示如何使用AWS Compute Optimizer来识别亚马逊EC2合适的规模机会。Compute Optimizer 有助于防止以下类型的资源出现过度配置和配置不足的情况: AWS
-
亚马逊弹性计算云 (AmazonEC2)
实例类型 -
亚马逊弹性容器服务 (AmazonECS)
服务在 AWS Fargate -
AWS Lambda
基于 Amazon 提供的使用率数据的函数 CloudWatch
成本优化场景
衡量正确规模的有效性可能具有挑战性,因为可以将正确规模的工作引向特定的应用程序、团队或整个组织。例如,假设一个组织将数千个实例迁移到 AWS,其中 90% 的队列包含 Windows 工作负载。该组织可以使用 Compute Optimizer 来分析其机群,发现其账户中存在严重的超额预留空间,以及. AWS 区域然后,他们可以使用 AWS Systems Manager Automat ion 通过多个维护窗口调整车队规模。因此,该组织设法为其 70% 的队列调整了大小合适的实例类型,并节省了 35% 的成本。
以下仪表板说明了本示例组织战略性地实施了 Compute Optimizer 的正确规模建议时在几个月内实现的节省。他们的目标是尽可能高效地操作现有的工作负载,以便在合同快要到期时,恢复从托管数据中心停滞不前的迁移。
成本优化建议
我们建议您采取以下后续步骤,使用 Compute Optimizer 来优化成本:
-
启用 Compute Optimizer
-
为 Windows 节点启用内存指标收集
-
使用 Compute Optimizer 推荐
-
为实例添加标签以调整大小
-
启用成本分配标签以使用 AWS 计费工具
-
使用 AWS Systems Manager 自动化实施合适的尺寸建议
-
考虑其他调整大小的方法
-
在 Cost Explorer 中查看前后成本
启用 Compute Optimizer
你可以在组织级别或单个账户级别启用 Compute Optimizer。 AWS Organizations组织范围的配置为所有成员账户的整个队列中的新实例和现有实例提供持续报告。这样一来,正确调整大小就可以成为重复的活动,而不是 point-in-time活动。
组织级别
对于大多数组织来说,使用 Compute Optimizer 的最有效方式是在组织层面。这为您的组织提供了多账户和多区域可见性,并将数据集中到一个来源供审查。要在组织级别启用此功能,请执行以下操作:
注意
最佳做法是为 Compute Optimizer 配置委托管理员帐户。这使您能够行使最小权限原则。这样,您就可以最大限度地减少对组织管理帐户的访问权限,同时仍提供对组织范围服务的访问权限。
单一账户级别
如果您的目标账户成本高昂但无权访问,您仍然可以为该账户和 AWS Organizations地区启用 Compute Optimizer。要了解选择加入流程,请参阅 Compute Optim i AWS Compute Optimizer zer 文档中的入门。
为 Windows 节点启用内存指标收集
内存指标为 Compute Optimizer 提供了在组织中提出明智的正确规模建议所需的基本指标。这是因为在提供建议之前要对内存CPU、网络和存储进行分析。
要将内存指标从 Windows EC2 实例传递给 Compute Optimizer,必须启用 CloudWatch 代理并将内存指标配置为每 60 秒收集一次。将内存指标与一起使用不会产生额外费用 CloudWatch。
启用 CloudWatch 代理并配置内存指标
下载 ComputeOptimize.yml 文件。
-
AWS Systems Manager 参数存储-用于存储收集内存指标所需的 CloudWatch 代理配置。
-
AWS Identity and Access Management (IAM) 角色 AWS Systems Manager附有AWS 托管策略 — 这适用于 Systems Manager Automation 文档。
-
AWS Systems Manager doc uments — 这将安装和配置 CloudWatch代理(替换任何现有 CloudWatch 配置)。
-
AWS Systems Manager 状态管理器关联 — 这使得 Systems Manager 文档能够在您账户中的所有实例上运行。
重要
运行此模板会覆盖实例上的任何现有 CloudWatch 配置。
接下来执行以下操作:
-
登录 AWS Management Console 并打开CloudFormation 控制台
。 -
在导航窗格中,选择 Stacks(堆栈)。
-
选择创建堆栈,然后选择使用现有的资源(导入资源)。
-
选择下一步。
-
在 “模板资源” 中,选择 “上传模板文件”。
-
选择文件,然后上传
ComputeOptimize.yml
文件。 -
选择下一步。
-
在指定堆栈详细信息页面上,在堆栈名称中输入堆栈的名称,然后选择下一步。
-
在识别资源页面上,输入要导入的资源的标识符值。
-
选择导入资源。
-
部署堆栈后,选择 O ut puts 选项卡以查找关联的密钥、值和描述。
监控协会的进展
-
CloudFormation 堆栈部署完成后,打开 Syst ems Manager 控制台
。 -
在导航窗格的 “节点管理” 部分,选择状态管理器。
-
在关联页面上,选择您的协会的关联 ID。
-
选择 Execution history (执行历史记录) 选项卡。
-
在 “执行 ID” 列中,选择您的协会的执行 ID。状态应为 “成功”。
在中查看指标 CloudWatch
我们建议您至少等待五分钟,让指标填充。 CloudWatch
-
打开控制CloudWatch台
。 -
在导航窗格中,展开 “指标” 部分,然后选择 “所有指标”。
-
确认指标显示在CWAgent命名空间下。
注意
要将设置应用于任何新实例,请重新运行关联。
使用 Compute Optimizer 推荐
举一个例子,该示例侧重于在单个账户和单个区域内进行正确的规模更改。在此示例中,Compute Optimizer 已在组织级别为所有账户启用。请记住,正确调整大小是一个破坏性的过程,在大多数情况下,该过程是由应用程序所有者在几周的计划维护窗口内精确执行的。
如果您从组织的管理帐户中导航到 Compute Optimizer(如以下步骤所示),则可以选择要调查的帐户。在此示例中,该us-east-1
地区的单个账户中有六个实例在运行。所有六个实例都已超额配置。目标是根据 Compute Optimizer 的建议调整实例的大小。
识别过度配置的实例并导出建议详情
-
登录 AWS Management Console 并打开 Compute Optimizer 控制台
。 -
在导航窗格中,选择控制面板。
-
在控制面板页面的搜索框中,输入 regi on=美国东部(弗吉尼亚北部)。然后,输入 finding s=OverProvisioned。这些筛选器允许您查看该地区所有超额配置的
us-east-1
实例。 -
要查看针对超额配置EC2实例的详细建议,请向下滚动到EC2实例卡片,然后选择查看建议。
-
选择 “导出” 并保存文件以备将来使用。
-
对于 S3 存储桶,输入要作为导出文件目标的 Amazon S3 存储桶的名称。
注意
要保存建议以备将来查看,您必须有一个可用的 S3 存储桶供每个区域的 Compute Optimizer 写入内容。有关更多信息,请参阅 Compute Optimizer AWS Compute Optimizer文档中的亚马逊 S3 存储桶策略。
-
在 “导出筛选条件” 部分中,选中 “包括组织中所有成员账户的推荐” 复选框。
-
对于资源类型,选择EC2实例。
-
在 “要包括的列” 部分中,选中 “全选” 复选框。
-
选择导出。
根据建议选择实例
实例建议基于 Compute Optimizer 收集和分析的性能指标。必须了解实例上运行的工作负载,以确保您选择最佳实例。此示例假设您可以从最新一代的 Amazon EC2 R6i、R
-
在 Compute Optimizer 控制台
中,从导航栏中选择EC2实例推荐。本页显示了当前实例类型与替换该实例的推荐选项的比较。 -
要获取您想要调整大小的实例的 ID,请从中的管理账户打开 Amazon S3 控制台
AWS Organizations。 -
在导航窗格中,选择 Buc kets,然后选择用于存储导出结果的存储桶。
-
在对象选项卡上,从对象列表中选择您的导出文件,然后选择下载。
-
要从文件中提取实例信息,可以使用 Microsoft Excel 中 “数据” 选项卡上的 “文本到列” 按钮。
注意
实例以 IDs Amazon 资源名称 (ARNs) 表示。请务必将分隔符设置为 “/” 并提取实例 ID。或者,您可以编写脚本或使用集成开发环境 (IDE) 来修剪ARN。
-
在 Excel 中,筛选查找结果列以仅显示 OVER_ PROVISIONED 实例。这些是你为正确调整大小而瞄准的实例。
-
将实例保存在文本编辑器IDs中,便于日后访问。
为实例添加标签以调整大小
为工作负载添加标签是组织资源的强大工具。 AWS标签使您能够精细地了解成本并促进退款。有关向资源添加标签的策略和方法的更多信息,请参阅 AWS 白皮书为 AWS 资源添加标签 AWS 的最佳实践。在此示例中,您可以使用AWS 标签编辑器对您希望在维护时段内调整大小的超额配置实例进行标签调整。您也可以使用此标签来查看变更前后的费用。
-
登录 AWS Management Console 并打开包含要调整大小的实例的账户的AWS Resource Groups 控制台
。 -
在导航栏的 “添加标签” 部分,选择 “标签编辑器”。
-
对于区域,选择您的目标区域。
-
对于资源类型,请选择 AWS::EC2::Instance。
-
选择搜索资源。
-
在资源搜索结果页面上,选择要调整大小的所有实例,然后选择管理所选资源的标签。
-
选择 Add tag(添加标签)。
-
对于 “标签密钥”,输入 “调整大小”。在标签值中,输入启用。然后,选择 “查看” 并应用标签更改。
注意
您可以添加其他元数据,例如团队或业务部门,以便日后在 Cost Explorer 中进行筛选。
在创建用户定义的标签并将其应用于资源后,这些标签最多可能需要 24 小时才能显示在成本分配标签页面上进行激活。选择要激活的标签后,标签可能还需要 24 小时才能生效。
对于高级用户,您可以在目标账户和区域AWS CloudShell
bash #!/bin/bash # Set variables TAG_KEY="rightsizing" TAG_VALUE="type-m5" # Get a list of instance IDs INSTANCE_IDS=$(aws ec2 describe-instances —query "Reservations[].Instances[].InstanceId" —output text) # Loop through each instance ID and add the tag for INSTANCE_ID in $INSTANCE_IDS; do aws ec2 create-tags —resources $INSTANCE_ID —tags Key=$TAG_KEY,Value=$TAG_VALUE done
启用成本分配标签以使用 AWS 计费工具
我们建议激活用户定义的成本分配标签。这样就可以在 AWS 计费工具(例如,Cost Explorer 和)中识别和筛选 Right sizing 标签。 AWS 成本和使用情况报告如果您不启用此功能,则标签筛选选项和数据将不可用。有关使用成本分配标签的信息,请参阅 AWS Billing and Cost Management 文档中的激活用户定义的成本分配标签。
-
登录 AWS Management Console 并打开AWS Billing 控制台
。 -
在导航窗格的账单部分,选择成本分配标签。
-
在用户定义的成本分配标签选项卡上,输入 Rightsizing。
-
选择 Rightsiz ing 标签密钥,然后选择 “激活”。
24 小时后,标签应显示在 Cost Explorer 中。
使用 Systems Manager Automation 实施合适的规模建议
调整大小是一种需要停止和启动实例的场景。在这种情况下,您可能需要在维护窗口中处理这种中断,并且需要不同的团队来处理自己的大小调整。在更改实例类型之前,请查看 Amazon EC2 文档中兼容实例类型的注意事项。
本节中的示例步骤使用名为 AWS- 的 Systems Manager Automation 文档,为每个账户和地区实施合适的规模建议ResizeInstance。这种方法对于大多数组织来说都是典型的,因为大多数组织出于不同的目的需要不同的实例类型。您也可以使用相同的AWS-ResizeInstance
自动化文档来定位单账户和多账户部署。
-
登录 AWS Management Console 并打开 S ystems Manager 控制台
。 -
在导航窗格的 “共享资源” 部分,选择 “文档”。
-
在搜索栏中输入 AWS-ResizeInstance,然后ResizeInstance 从搜索结果中选择 AWS-。
-
选择执行自动化。
-
在执行自动化运行手册页面上,选择简单执行。
-
在 “输入参数” 部分中,输入InstanceId和InstanceType。保留其余的默认值。
-
选择 Exec ute,然后等待自动化完成更改实例类型的步骤。
考虑其他调整大小的方法
如果您使用启动模板部署实例,则可以将启动模板更新为大小合适的实例类型,然后刷新实例,用大小合适的版本替换实例。
如果您计划在多个账户和区域中使用正确的规模调整流程,则必须创建自定义 Systems Manager Automation 文档。本文档允许您作为参数输入多个实例,并使目标实例移动到相同的目标实例类型(例如,无论源实例类型如何,所有实例都将过渡到 t3a.medium)。
在 Cost Explorer 中查看前后成本
正确调整资源大小后,您可以使用 Right sizing 标签使用 Cost Explorer 来显示之前和之后的成本。回想一下,您可以使用资源标签来跟踪成本。通过使用多层标签,您可以精细地了解成本。在本指南中介绍的示例中,Rightsi zing 标签用于将通用标签应用于所有目标实例。然后,使用团队标签来进一步组织资源。下一步是引入应用程序标签,以进一步显示运营特定应用程序的成本影响。
下图显示了组织的标签结构。
以运营团队拥有的生产 Web 服务器规模合适的企业为例。在 Cost Explorer 中,Right sizing 标签设置为启用,团队标签设置为操作。在此示例中,正确调整规模的工作可将运营成本从每小时 0.89 美分降低到 0.28 美分。假设每月744小时,则在进行正确调整之前,每年的费用为7,945.92美元。调整好尺寸后,年度成本降至2,499.84美元。这意味着年度工作量成本降低了68.5%。想象一下这对大型组织的影响。请记住,这是在示例环境中完成的,实例大多处于空闲状态。在生产环境中,您可以看到节省 10-35%。
现在,考虑一下正确调整工程团队拥有的生产堡垒主机的规模会产生什么影响。在 Cost Explorer 中,Right sizing 标签设置为启用,团队标签设置为工程。在此示例中,正确调整大小的工作可将成本从每小时 0.75 美分降低到 0.44 美分。假设每月744小时,则在进行正确调整之前,每年的费用为6,696.00美元。调整好尺寸后,年度成本降至3,928.32美元。
如果您使用多个标签,则可以将数据筛选为精细的成本明细。在此示例中,Tea m 标签降低了噪音,因此您可以查看团队级别的冲击。由于 Right sizing 标签已启用,因此您还可以筛选具有该标签且值为启用或不存在任何值的任何实例。这可以让您全面了解您的正确规模调整工作,尤其是在Cost Explorer级别的管理账户(付款人)中查看时。此视图使您可以查看所有账户和实例。
举一个单一账户级别的示例,其中 Rightsizin g 标签设置为启用。 运营成本从每小时1.64美元降至每小时0.72美分。假设每月744小时,则在进行正确调整之前,每年的费用为14,641.92美元。调整好尺寸后,年度成本降至6,428.16美元。这意味着该账户的计算成本降低了56%。
在开始合适的尺码之旅之前,请考虑以下几点:
-
AWS 提供了许多降低成本的选项。这包括 AWS OLA
,在 AWS 迁移到本地实例之前,请先检查您的本地实例 AWS。 AWS OLA还为您提供合适的规模建议和许可指南。 -
在购买 Savings Plans 之前,请完成所有合适的规模。
这可以帮助您避免超额购买 Savings Plans 承诺。
建议
我们建议采取以下后续步骤:
-
查看您的现有格局,并考虑将 Amazon EBS gp2 卷转换为 gp3 卷。
-
查看 Sav ings Plan
s。
其他 资源
-
AWS Compute Optimizer
(AWS 文档) -
标记 AWS 资源的最佳实践(AWS 白皮书)
-
如何从 AWS Compute Optimizer 您的 AWS Organizations(YouTube) AWS Trusted Advisor 中收集数据
-
优化性能和降低许可成本:利用 AWS Compute Optimizer 亚马逊EC2SQL服务器实例
( AWS 博客上的 Microsoft 工作负载)