安全关停概览


本文档简要介绍了 Compute Engine 实例中的安全关停过程。如需详细了解实例在生命周期中可能经历的状态,请参阅 Compute Engine 实例生命周期

在停止或删除实例时,Compute Engine 会为客机操作系统留出一小段时间,以便其完全关停。如果客机操作系统未在此时间内完成运行任务,Compute Engine 会强制关停,这可能会导致数据丢失或文件系统损坏。

为避免出现这些问题,您可以在实例中启用安全关停。启用此设置后,在 Compute Engine 关停客机操作系统之前,客机操作系统最多有 1 小时的时间来完成运行任务。如果您希望实现以下目标,安全关停非常有用:

  • 允许高性能计算 (HPC) 作业完全关闭。

  • 允许数据库完成提交活跃事务的操作。

  • 允许电子邮件服务器在关停前完成处理。

  • 允许多人游戏会话完成运行。

安全关停简介

以下部分介绍了安全关停的工作原理。

关停期

在计算实例中,安全关停默认处于停用状态。您可以在创建或更新实例时启用此功能。启用安全关停后,您可以按如下方式指定关停时段:

  • 默认时段:如果您未指定关停时段,Compute Engine 会使用默认时段 10 分钟。

  • 自定义时段:从 1 秒到 1 小时。

我们建议您选择一个关停时段,让应用有足够的时间完成运行任务。例如,如果您估计应用需要 10 分钟才能完成运行任务,我们建议您指定 15 分钟的关停时段。此方法可防止任务被强行停止和潜在的数据损坏。在客机操作系统中的所有任务都已完成运行后,您可以手动结束安全关停以节省费用,如下一部分所述。

关停过程

如果您停止或删除已启用安全关停的计算实例,或者 Compute Engine 因预定停止或删除而停止或删除该实例,则实例状态会变为 PENDING_STOP。开始安全关停,让应用有时间完成运行任务。

在安全关停时段超时后,或者您手动结束安全关停后,Compute Engine 会结束实例的安全关停:

  • 从客机操作系统内。您可以使用客机操作系统的关停命令(例如 sudo shutdown -h now)停止实例。

  • 从 Google Cloud。您可以使用以下方法之一停止或删除实例:

    • Google Cloud 控制台:完成以下步骤:

      1. 转到虚拟机实例页面。

      2. 选择相应实例,然后点击 停止 删除。如果没有停止删除选项,请依次点击 更多操作 > 停止 删除

      3. 在显示的对话框中,选中跳过安全关停(如果适用)复选框,然后确认停止或删除实例。

    • Google Cloud CLI:在命令中添加 --no-graceful-shutdown 标志。

    • REST API:在请求网址中添加 noGracefulShutdown=true 查询参数。

当安全关停过程结束后,Compute Engine 会向客机操作系统发送高级配置和电源接口 (ACPI) G2 软关闭信号,将实例状态设置为 STOPPING,然后继续执行停止或删除操作。

无需安全关停即可停止或删除

在实例中启用安全关停后,您仍然可以停止或删除该实例,而无需执行安全关停过程。例如,当您不需要在特定日期安全关停实例,或者实例上运行的工作负载已更改时,此方法有助于您节省费用。

如需跳过安全关停,请执行以下操作之一:

  • 跳过单个操作的安全关停。保持启用安全关停,但针对特定的停止或删除操作绕过安全关停。为此,请按照手动关停过程操作。

  • 完全停用安全关停。如果您不再需要安全关停实例,可以停用此功能。如需了解详情,请参阅在 Compute Engine 实例中停用安全关停

限制

安全关停具有以下限制:

  • 您无法在以下计算实例中启用安全关停:

    • 属于托管式实例组 (MIG) 的实例。

    • 用于指定受限运行时的实例。

  • 在实例中启用安全关停后,您无法执行以下操作:

    • 您无法更新需要重启的实例属性。

    • 如果实例是 TPU 虚拟机,您无法模拟主机维护事件。

  • 如果正在进行安全关停 (PENDING_STOP),则您无法执行以下操作:

    • 您无法更新实例属性。

    • 如果正在删除实例,您无法启用或停用删除防护

  • 如果发生以下情况,您的实例将无法安全关停,或者安全关停会中断:

    • 您的 Spot 虚拟机或抢占式实例已被抢占

    • 您的实例的主机维护政策已设置为 TERMINATE,并且 Compute Engine 会因主机事件而停止实例。

  • 每个项目在每个区域一次最多只能安全关停和删除 8,000 个实例。

  • 只有在 Compute Engine 完成创建所有实例后,您才能对批量创建的实例进行安全关停或修改安全关停设置。

价格

在计算实例中启用或停用安全关停不会产生任何费用。不过,如果您停止或删除已启用安全关停的实例,则仍会为该实例付费,就好像它处于运行状态一样。在安全关停时段结束且实例状态更改为 STOPPING 后,系统会停止收取这些费用。

如需了解详细的价格信息,请参阅虚拟机实例价格

后续步骤