看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!
亚马逊宣布了 EC2 Fleet 的一项新功能,可通过使用单一 API 为用户创建机群,创建的机群由 EC2 On-Demand、Reserved 和 Spot 实例组成。此外,用户可以指定他们需要的容量和可感知实例的 VM ,AWS 负责启动、管理、监控和扩展他们需要的实例,而无需编写任何脚手架代码。
有了 EC2 Fleet,AWS 可以根据用户来启动某些实例以满足特定需求(On-Demand 实例、Reserved 实例和 Spot 实例的混合)。用户可以定义单独的 Om-Demand 和 Spot 容量,确定最适合其应用程序的实例类型,以及 AWS EC2 应如何分配每个实例模型。
在过去,用户可以通过单个请求创建数千个 Spot 实例,因为 AWS 为他们提供了一个可用于启动和管理整个 Spot 实例机群的 API。现在,他们可以创建一个具有各种 EC2 实例的组合,并通过一个请求来启动它们。用户指定了有关虚拟 CPU(vCPU)或应用程序单元的机群容量和能够满足他们需求的 Spot 实例(AWS EC2 中最便宜的虚拟机实例)数量。容量可选的实例、vCPU 和面向应用程序的单元也就是所谓的权重。
通过 EC2 Fleet,用户可以将他们的工作负载推送到他们的实例中,以最低的成本来处理它们。用户通过创建模板来描述他们的机群,模板中包含了 InstanceType、WeightedCapacity 和 TargetCapacitySpecification 等设置,而设置中包含 TotalTargetCapacity、OnDemandTargetCapacity、SpotTargetCapacity 和 DefaultTargetCapacityType 等值。
"LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754339b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "m4.16xlarge", "WeightedCapacity": 64, }, { "InstanceType": "m5.24xlarge", "WeightedCapacity": 96, }, ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2880, "OnDemandTargetCapacity": 960, "SpotTargetCapacity": 1920, "DefaultTargetCapacityType": "Spot" } }
EC2 Fleet 将使用机群描述文件来创建机群,使用指定数量的实例,例如 m5.24xlarge Om-Demand 实例和 m4.16xlarge Spot 实例。用户可以使用 AWS CLI 或 API 调用来执行单个命令,以便触发创建机群。
$ aws ec2 create-fleet --cli-input-json file://home/ec2-user/fl1.json { "FleetId":"fleet-838cf4e5-fded-4f68-acb5-8c47ee1b248a" }
EC2 Fleet 将使用 Spot 实例的当前价格和 Om-Demand 实例的公共价格,选择最具成本效益的实例类型和可用区域组合。有关定价详情,请参阅 Amazon EC2 官方定价说明。
在默认模式下,权重被考虑在内,以获得最低的单位成本。此外,如果用户指定的实例具有匹配的 RI 实例,则可以使用折扣。根据 vCPU 的当前价格,EC2 Fleet 将启动适当数量的实例来满足 SpotTargetCapcity。此外,当不再需要 Sopt 实例容量时,用户可以将目标容量更改为新的容量,比如只使用 On-Demand 实例的容量。在这种情况下,就不再需要机群,用户可以使用另一条命令删除和终止实例。
$ aws ec2 delete-fleets --fleet-id fleet-838cf4e5-fded-4f68-acb5-8c47ee1b248a \ --terminate-instances
亚马逊计划将 EC2 Fleet 与 EC Auto Scaling Group 整合在一起,允许用户创建一个由多种实例类型组成的单个机群,同时利用 EC2 Auto Scaling 的功能,例如健康检测和生命周期钩子。此外,亚马逊将把这种 EC2 功能带到 Amazon ECS、Amazon EKS 和 AWS Batch 等服务上,该服务建立在 EC2 Auto Scaling 的基础上,并用它来管理机群。目前的 EC2 Fleet 可在所有公共 AWS 区域使用。
查看英文原文: AWS EC2 Fleet’s Latest Feature - Manage Thousands of On-Demand and Spot Instances with One Request
评论