为什么 Terraform 的 GCP google_project_iam_member 资源需要这么长时间才能部署?



我在Terraform上的一个计数循环中部署了15个google_project_iam_member资源。每个资源部署(并行运行(大约需要8分钟,我认为可能有问题。没有其他资源需要这么长时间。代码:

## This code converts the user_permissions map to the format [ {members = x, role = y}, ...  ]
locals {
permissions = flatten([for group in var.user_permissions :
[for tuple in setproduct(group.emails, group.roles) : {
members = tuple[0],
roles   = tuple[1]
}]])
}
resource "google_project_iam_member" "ib_admins_access" {
count   = length(local.permissions)
project = var.project_id
role    = "roles/${local.permissions[count.index].roles}"
member  = local.permissions[count.index].members
}

user_permissions映射的格式如下:

user_permissions = {
group_x = {
emails = [<emails>]
roles = [
<roles>
]
}

这两项政策花了20多分钟。对于两个不同的电子邮件,它们是storage.objectAdminviewer

module.iam.google_project_iam_member.ib_access_predefined_roles[6]: Still creating... [22m1s elapsed]
module.iam.google_project_iam_member.ib_access_predefined_roles[15]: Still creating... [22m1s elapsed]

我正试图解释一本如上所述的词典,并以非权威的方式进行部署。我认为这可能与政策更新有关,就像政策之间相互争斗一样。我想过延迟或按顺序执行,但在循环中找不到资源或地形命令来执行。有更好的方法吗?我的代码出了什么问题?

我使用的是WSL2,那里的互联网连接可能有问题。当我改用PowerShell时,它运行得更快。

最新更新