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

如何使用Terraform导出Google Compute自定义镜像?

使用Terraform导出GCP Compute镜像到存储桶的替代方案

你可以直接使用Terraform GCP Provider提供的google_compute_image_export资源来完成镜像导出,无需依赖gcloud CLI,完全通过Terraform的资源定义实现,避免了本地CLI登录和环境配置的繁琐。

完整配置示例

# 配置GCP Provider
provider "google" {
  project = "your-gcp-project-id"
  region  = "us-central1" # 根据你的实际需求调整区域
  # 认证方式支持服务账号密钥文件、环境变量或默认应用凭据,无需单独配置CLI环境变量
}

# 若目标存储桶尚未创建,可添加此资源完成创建
resource "google_storage_bucket" "image_export_bucket" {
  name          = "test-bucket"
  location      = "US"
  force_destroy = true # 仅建议测试环境开启,生产环境谨慎使用
}

# 导出自定义镜像到存储桶
resource "google_compute_image_export" "export_custom_image" {
  name                   = "export-custom-image-task"
  image                  = "something-export" # 待导出的自定义镜像名称
  destination_uri        = "gs://${google_storage_bucket.image_export_bucket.name}/my-exported-image.vmdk"
  compute_service_account = "test@test.com" # 执行导出操作的服务账号

  # 确保存储桶创建完成后再执行导出
  depends_on = [google_storage_bucket.image_export_bucket]
}

关键说明

  • 无本地CLI依赖:该资源由Terraform直接调用GCP API完成导出流程,无需在本地安装或配置gcloud工具。
  • 认证自动集成:Terraform会复用GCP Provider的认证配置,支持服务账号密钥、GOOGLE_APPLICATION_CREDENTIALS环境变量等标准方式,无需单独设置CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE。
  • 状态全管控:导出任务会被纳入Terraform状态管理,可通过terraform plan/apply/destroy全程管控操作生命周期。

权限要求

确保指定的compute_service_account拥有以下权限:

  • compute.images.export:允许导出Compute镜像
  • storage.objects.create:允许向目标存储桶写入文件

内容的提问来源于stack exchange,提问作者Jahir Raihan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:41:16