gpt4 book ai didi

google-cloud-platform - Terraform GCP 项目创建

转载 作者:行者123 更新时间:2023-12-05 02:44:01 28 4
gpt4 key购买 nike

我正在尝试使用 terraform 创建一个谷歌云项目。我指的是这个链接作为引用... https://femrtnz.medium.com/automating-gcp-projects-with-terraform-d571f0d94742

我遵循了中篇文章中关于项目创建和 IAM 角色的说明。从表面上看,您需要一个单独的项目和服务帐户才能使用 Terraform 创建项目。我还引用了有关该主题的谷歌文档... https://cloud.google.com/community/tutorials/managing-gcp-projects-with-terraform

所以我在 main.tf 中得到了这个

# This is the provider used to spin up the gcloud instance
provider "google" {
credentials = "/path/to/seed-credentials.json"
}

# Locks the version of Terraform for this particular use case
terraform {
required_version = "0.14.6"
}


resource "random_id" "id" {
byte_length = 4
prefix = var.project_name
}

resource "google_project" "project" {
name = var.project_name
project_id = random_id.id.hex
billing_account = var.billing_account
}

output "project_id" {
value = google_project.project.project_id
}

我创建了一个远程后端

terraform {
backend "gcs" {
bucket = "seed-bucket"
prefix = "terraform/state"
credentials = "/path/to/seed-credentials.json"
}
}

这是我的 variables.tf 文件

variable "project_name" {
type = string
}

variable "billing_account" {
type = string
}

最后但同样重要的是我的 terraform.tfvars

project_name = "test-project"
billing_account = "1234-5678-90xxx"

Terraform init 可以配置远程后端。 Terraform 计划没有给我任何错误。但是,当我运行 terraform apply 时,出现以下错误“错误:先决条件失败:缺少对“billingAccounts/1234-5678-9xxx”的权限:billing.resourceAssociations.create”现在我没有这个帐户的组织。我假设这就是给我错误的原因?Medium 博客文章的作者说了一些关于“首先您需要创建一个基于您的域的组织”的内容我从来没有为我的谷歌项目使用过 organiztions。我进入我的谷歌控制台,它说我需要域验证才能为我的帐户获取一个组织。好像很麻烦我真的不想为此经历获得新域的麻烦。现在我的代码正确吗?我假设错误是我没有“组织”造成的。有没有无需域验证即可获得组织的简单方法?

最佳答案

错误 missing permission on "billingAccounts/1234-5678-9xxx": billing.resourceAssociations.create" 意味着服务帐户没有将结算帐户链接到新项目的权限。

  • 转到 Billing在 Google Cloud Console 中。
  • 在窗口的右上角,点击“显示信息面板”。
  • 选择结算帐户,然后点击“添加成员”。
  • 输入服务帐户电子邮件地址。
  • 选择角色Billing Account User
  • 点击保存。

服务帐户现在有权将计费帐户附加到新项目。

Overview of Cloud Billing access control

关于google-cloud-platform - Terraform GCP 项目创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66644265/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com