AWS EC2 Mac Dedicated Host 怎么释放?2026 检查清单

AWS EC2 Mac Dedicated Host 怎么释放?2026 检查清单

CI 队列已空,但 Dedicated Host 还在账单里:只终止 Mac 实例,不代表主机已经释放。

最快处理方式:先留存产物与日志,再停止或终止实例;确认最低分配期和主机清理状态符合条件后,单独释放 Dedicated Host,最后核对主机状态与遗留存储。

准备关闭临时 AWS EC2 Mac 构建环境的 CI 工程师,可按场景逐项检查实例和主机。
负责构建产物、缓存与日志留存的开发团队成员,可先确认哪些数据必须带走。
评估后续 macOS CI 环境的运维负责人,可根据是否需要持续在线决定保留自管主机,还是改用按需环境。

先排空 CI 队列,确认没有任务仍依赖这台主机

先停调度,再动主机。确认队列里没有待运行任务,也没有正在构建、测试、签名或发布的作业。检查 Runner 或调度器是否仍把这台 Mac 标记为可接单;否则,清理过程中可能有新任务被分配进来。

我们建议把收尾分成 4 个动作,分别记录结果:

这里有个容易混淆的地方:停止实例、终止实例、主机清理、释放 Dedicated Host 是不同状态变化。停止实例不是释放主机;实例终止也不自动等于 Dedicated Host 已释放。

终止前先划分要留存的数据与可重建缓存

不要先终止,再去找构建输出。终止是不可逆操作;实例存储上的数据会丢失,EBS 卷是否删除则取决于卷的 DeleteOnTermination 设置。我们会先把数据分成“必须保留”和“可重建”两类,再执行清理。关于实例终止后的资源变化,可参考 AWS 的 EC2 实例终止说明 和 终止后保留 EBS 卷的规则。

必须保留的内容通常包括构建包、测试报告、崩溃日志、诊断信息,以及后续复现或发布需要的签名相关资料。可重建内容可能包括依赖缓存、临时工作区和中间文件,但要先确认流水线能重新拉取依赖并成功生成。

清理前逐项看实际存储配置:

⚠️ 停止实例不会替你完成数据归档。先核对构建目录、卷设置和备份结果,再决定停止还是终止;只看到实例状态变化,不等于数据已经安全留存。

按后续用途选择停止还是终止实例

还要在近期复用原环境,且需要保留实例配置:先停止。停止后实例仍保留,可在条件允许时重新启动;但对 EC2 Mac,停止操作会触发 Dedicated Host 的清理流程。清理期间主机可能处于 pending,Mac 实例暂时不能启动。

确定不再使用该实例:备份并核对卷后再终止。终止是不可逆的;根卷或数据卷是否被删除,依赖每个卷的终止设置。若团队还需要卷上的日志或构建环境,先复制、导出或创建快照。终止后也要检查是否留下仍在计费的 EBS 卷或快照。

AWS 说明,EC2 Mac 只能运行在 Dedicated Host 上,且 Mac 主机存在至少 24 小时的分配周期。停止或终止 Mac 实例会触发主机清理;清理期间主机状态与可用性会改变,具体完成时间取决于实例和主机流程。操作前核对 EC2 Mac 实例与 Dedicated Host 要求 及 停止或终止 EC2 Mac 的清理流程,不要用通用 EC2 的预期替代 Mac 专属流程。

清理完成后,再检查释放资格并释放主机

按这个顺序执行,可以避免把实例状态误当成主机状态:

  1. 确认 CI 已排空。队列无待运行作业,目标主机不再接收新任务。
  2. 归档数据。构建产物、测试结果、日志和签名相关资料已复制或按实际配置备份;需要的快照已确认完成。
  3. 停止或终止实例。根据是否复用环境决定操作,并确认该 Dedicated Host 上没有运行中的实例。
  4. 等待 Mac 主机清理流程结束。停止或终止后,主机可能暂时进入 pending。先观察主机状态;若仍处于处理中,不要把它记为清理完成。
  5. 核对释放条件。确认已满足 EC2 Mac 最低分配期,并查看主机是否仍关联实例、预留或其他阻止释放的状态。
  6. 发起释放并保存结果。控制台操作路径和 CLI 示例可参照 AWS Dedicated Host 释放步骤;CLI 返回的成功和失败项要逐一检查。
  7. 核验最终状态与账单。用控制台或 CLI 检查 Host ID 是否显示为 released,并单独检查 EBS 卷、快照及其他保留资源。

示例命令如下。将占位符替换为实际 Host ID,并在目标 Region 查询:

aws ec2 release-hosts --host-ids h-0123456789abcdef0
aws ec2 describe-hosts --host-ids h-0123456789abcdef0

release-hosts 返回中,Host ID 应出现在 Successful 列表;若出现在 Unsuccessful,先处理错误信息,不要重复假设资源已经释放。describe-hosts 用于查看主机状态,AWS 对 Dedicated Host 状态的说明见主机状态监控文档。

常见收尾疑问:按实例、主机和数据分别判断

实例终止后,Dedicated Host 还需要单独释放吗?
需要。实例终止与 Dedicated Host 释放是两项独立操作。确认主机无运行实例、最低分配期已满足且清理状态合适后,再执行释放;否则,不能只凭实例已终止判断主机费用已停止。

释放前先备份哪些构建数据?
先归档仍需交付或复现的构建包、测试报告、签名资料、CI 日志和故障诊断信息。缓存只有在确认可重新生成后才归入可丢弃内容。终止前检查 EBS 的 DeleteOnTermination,并将实例存储中的重要数据复制到实际配置的持久存储。

什么时候可以释放 EC2 Mac Dedicated Host?
EC2 Mac Dedicated Host 的最低分配周期为 24 小时。此外,主机上的实例必须已停止或终止;Mac 主机清理流程完成前,状态可能还在变化。若释放请求失败,按 AWS 返回的状态和错误信息继续核查,不要绕过条件。

如何验证主机确实释放成功?
查看控制台中的 Dedicated Host 状态,或运行 describe-hosts 查询对应 Host ID。以 released 状态和 release-hosts 的成功响应作为主机释放核验依据;然后检查账单和存储资源,避免把仍保留的卷、快照费用误认为主机费用。

用状态分支决定下一步,而不是凭实例页面判断

清理验收时,用两张清单区分主机状态与残留成本

验收对象 可以结束操作的信号 仍需处理的情况
CI 调度 新任务不再派发,队列已排空 待运行、重试中或仍有任务占用主机
实例 已按复用计划停止,或已完成备份后终止 仍在运行,或数据是否保留尚未确认
Dedicated Host 释放请求成功,状态为 released 仍为 pending、仍有关联实例或释放请求失败
数据与存储 必要产物已归档,遗留卷和快照已有负责人 依赖实例存储的数据未导出,或保留卷无人管理
费用检查 主机状态及账单记录已分别核对 仅凭实例停止推断所有费用都已停止

AWS 将 EC2 Mac 的计费单位定义为 Dedicated Host;对按需 Dedicated Host,释放后不再按按需主机费率累计。但这不等于账户账单立刻归零:仍保留的 EBS 卷和快照可能继续产生存储费用。可对照 AWS 的 Dedicated Host 计费规则,并按账户实际账单记录确认,不要用主机状态代替账单核验。

后续 macOS CI 需求 自管 AWS EC2 Mac 按需远程 Mac
构建任务持续、要求长期在线 可保留现有主机,减少频繁收尾和重配 需确认所选租用周期能否匹配持续任务
任务间歇发生、需要临时环境 需主动管理主机分配、释放和遗留存储 可按需要了解远程 Mac 方案与租用周期
需要特定地域或接入安排 以 AWS 账户、Region 和实际资源配置为准 先查看可用地域信息,再核实是否符合工作流
需要物理接口或长期稳定重负载 评估实体设备或持续运行主机更合适 不应仅为短期方便替代有明确硬件依赖的方案

如果构建任务已经结束,AWS 自管方案仍要分别处理主机释放、遗留存储和账单核验;这几项不能靠终止实例一次完成。若后续只是间歇性需要 macOS 环境,可以按任务周期比较自管主机与 MergeMac 远程 Mac;若工作负载长期稳定运行,或必须依赖特定物理接口,则应优先评估持续自管或实体设备。选择下一套环境前,也可先通过支持与使用说明确认远程接入方式是否满足 CI 运维要求。

常见问题

终止 EC2 Mac 实例后,Dedicated Host 还要单独处理吗?

要。终止实例只处理实例生命周期,不代表 Dedicated Host 已释放。确认实例已停止或终止、主机达到 EC2 Mac 的最低分配周期且清理流程结束后,再单独执行释放,并检查主机状态是否为 released。未释放的按需主机仍可能继续产生主机费用。

释放主机前,哪些构建数据需要先备份?

先归档仍需交付或复现的构建包、测试结果、签名与发布所需资料、CI 日志和故障诊断信息。再检查缓存是否可由流水线重新生成。终止实例可能删除设置为 DeleteOnTermination 的 EBS 卷;实例存储数据也不能依靠停止或终止来保留,因此先按实际存储配置导出或创建快照。

EC2 Mac Dedicated Host 满足什么条件才可以释放?

至少先确认该 Dedicated Host 上没有运行中的实例,并核对 EC2 Mac 主机已满足 AWS 规定的最低分配周期;Mac 主机的最低分配期为 24 小时。停止或终止 Mac 实例后还会触发主机清理流程,主机可能暂时处于 pending。若释放被拒绝,按返回错误和当前主机状态处理,不要把实例已停止当作释放资格已满足。

怎样确认 AWS EC2 Dedicated Host 已经成功释放?

在 EC2 控制台的 Dedicated Hosts 页面查看主机状态,或使用 describe-hosts 查询对应 Host ID。释放成功的状态应为 released;release-hosts 的响应也应将该 ID 列入 Successful,而不是 Unsuccessful。之后核对账单中的主机用量,并另行检查保留的 EBS 卷、快照等资源,因为它们不会因主机释放而自动消失。

延伸阅读

释放旧主机后,用 MergeMac 接续你的 Mac CI

MergeMac 提供独享物理 Mac mini,Base M4 每天 20.3 美元起,按天、周、月或季度租用。