Capacity Block

Amazon EC2提供两种类型的容量预留:

  1. 按需容量预留 (On-Demand Capacity Reservations)
  2. 用于机器学习的Capacity Block (Capacity Blocks for ML)

Capacity block的使用场景有:机器学习模型训练和微调 ,获得对预留的GPU实例的不间断访问,完成ML模型训练和微调;ML实验和原型 , 运行需要短期使用GPU实例的实验和构建原型。

Capacity block允许预留高需求的GPU实例,支持短期ML工作负载,支持的实例类型有p5、p5e、p5en、p4d、trn1和trn2。p5的参数可以在官网找到(https://aws.amazon.com/cn/ec2/instance-types/p5/):

image-20250506075220398

p5e和p5en两种实例类型都提供强大的计算性能和相同的GPU内存容量,但P5en提供更高效的多GPU协作能力,特别适合需要GPU间密集数据交换的工作负载,P5e则提供了更具成本效益的GPU解决方案。

p4d用的是A100的卡:

image-20250506075326377

注意它的限制:

  • 可以预定长达182天的预留时间
  • 最多可预留64个实例在一个容量块中,跨容量块最多256个实例
  • 可以预约未来最多8周的开始时间
  • 容量块结束前30分钟开始终止实例过程, Capacity Block结束时间固定在UTC时间11:30 AM,实例终止过程在预留最后一天的UTC时间11:00 AM开始

Capacity Block的定价

Capacity Block只为预留的内容付费, 价格取决于购买时的供需情况, 预留费用在预留创建时提前一次性收取

操作系统的使用费用在实例运行时单独计费

另外注意Savings Plan和RI折扣不适用于Capacity Block

注意事项

  1. 使用容量块时,实例必须明确指向预留ID

  2. 容量块中的实例不计入按需实例限制

查找并购买

在EC2的Capacity Reservation页面中,选择Purchase Capacity Blocks for ML:

image-20250506080114779

然后选择机型、时长,以及开始时间,注意:

  1. 时长如果超过14天,它必须是7的倍数,最长182天。
  2. 现在可以创建未来30分钟的机器
  3. 当请求匹配时,系统会提供最多3个可用块的详细信息。所有容量块都在UTC时间11:30AM结束。

image-20250506080950039

点击Find后,出来对应可选的选项,然后进入一下步,确认没问题后点击Create:

image-20250506081030566

在购买完成后,查看Capacity Block的状态:

image-20250506081204958

Capacity Block有以下状态:

  • payment-pending:尚未处理预付款
  • payment-failed:付款无法在12小时内处理,Capacity Block已释放
  • scheduled:付款已处理,Capacity Block预留尚未开始
  • active:预留的容量可供使用
  • expired:Capacity Block预留在预留请求中指定的日期和时间自动到期,预留的容量不再可用

启动实例

点击上面右上角的Launch Instances,它会自动使用这个capacity reservation ID:

image-20250506081252378

创建完成后,会减少可用容量。例如,如果购买了8个实例的容量,启动4个实例后,可用容量将减少4个。

如果在预留结束前终止在Capacity Block中运行的实例,可以在其位置启动新实例

image-20250506081432076

续期

可以在Capacity Block到期前最早56天或最晚1小时内申请延长其持续时间。扩展时长可按1天为增量,最多延长14天,或按7天为增量延长,总计最长可达182天(26周)。当扩展Capacity Block时,其结束日期将被更新,以便实例可以继续不间断运行。

  • 对Capacity Block可以申请的扩展次数没有限制
  • 扩展后容量预留ID将保持不变
  • 仅在有足够容量支持的情况下才能扩展Capacity Block,这一点无法保证

在capacity block的页面,点击Actions,下面有一个Extend Capacity Block:

image-20250506083513691

点击Find Capacity Block Extension,然后进行Extend:

image-20250506083623502

CloudTrail集成

所有CapacityBlock操作都由CloudTrail记录,并记录在Amazon EC2 API参考中。例如,对CapacityBlockScheduled和CapacityBlockActive操作的调用会在CloudTrail日志文件中生成条目。

例如到cloudtrail查询CapacityBlockActive事件:

image-20250506083940073

它的内容如下:

image-20250506084022593

其他的事件有: