You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Terraform为GCP Notebook实例绑定资源策略实现定时启停

可行实现方案

方案1:绑定底层GCE实例的资源策略(推荐)

Vertex AI Workbench(原Google Notebook)实例底层实际运行的是标准GCE虚拟机,实例创建后会自动生成和Notebook实例同名的GCE实例,你可以通过Terraform的google_compute_resource_policy_attachment资源,将定时启停的资源策略直接绑定到该底层GCE实例上,即可实现预期调度效果。

示例Terraform代码如下:

# 1. 创建定时启停资源策略
resource "google_compute_resource_policy" "notebook_schedule" {
  name   = "notebook-instance-schedule"
  region = var.region

  instance_schedule_policy {
    vm_start_schedule {
      schedule = "0 8 * * *" # 每日早8点启动
    }
    vm_stop_schedule {
      schedule = "0 19 * * *" # 每日晚7点停止
    }
    time_zone = "Asia/Shanghai" # 按需替换为你需要的时区
  }
}

# 2. 创建Notebook实例
resource "google_notebooks_instance" "my_notebook" {
  name     = "my-workbench-notebook"
  location = var.zone
  machine_type = "n1-standard-4"
  # 其他Notebook实例配置按需补充
}

# 3. 将调度策略绑定到Notebook对应的底层GCE实例
resource "google_compute_resource_policy_attachment" "notebook_policy_attach" {
  name = google_compute_resource_policy.notebook_schedule.name
  instance = "projects/${var.project}/zones/${var.zone}/instances/${google_notebooks_instance.my_notebook.name}"
  zone = var.zone
}

注意:仅绑定调度策略不会修改Notebook实例的原有配置,不会影响实例正常使用,建议配置时确认时区参数和业务时区一致。

方案2:Cloud Scheduler + Cloud Function 自定义启停

如果担心直接操作底层GCE实例会和Notebook服务配置产生冲突,可以采用无服务自定义调度的方式实现:

  • 创建两个Cloud Scheduler cron任务,触发时间分别设置为每日早8点、晚7点
  • 编写轻量Cloud Function代码,调用Notebook实例的启停API执行对应操作
  • 配置IAM权限,保证Cloud Scheduler有权限触发Cloud Function,Cloud Function持有Notebook实例的操作权限

该方案灵活度更高,还可以扩展加入周末不启动、节假日跳过等自定义逻辑。

内容的提问来源于stack exchange,提问作者Ahmed Cheikhrouhou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:27:02