首页 > 解决方案 > 全局地址不支持标准网络层

问题描述

我想使用以下 Terraform 代码在 GCP 上添加 A 型 DNS 名称:

data "google_dns_managed_zone" "env_dns_zone" {
  name = "env-zone"
}

resource "google_compute_global_address" "argo_events_webhook" {
  name = "argo-events-webhook"
}

/*
resource "google_dns_record_set" "argo-events-webhook" {
  name         = "argo-events-webhook.${data.google_dns_managed_zone.env_dns_zone.dns_name}"
  managed_zone = data.google_dns_managed_zone.env_dns_zone.name
  rrdatas      = [google_compute_global_address.argo_events_webhook.address]
  ttl          = 600
  type         = "A"
}
*/

(注释掉的部分不会导致错误,但可能相关,因为它显示了有关我想要实现的目标的更多信息)

但这会产生以下错误消息...

...
module.gke.google_compute_global_address.argo_events_webhook: Creating...

Error: Error creating GlobalAddress: googleapi: Error 400: STANDARD network tier (the project's default network tier) is not supported: STANDARD network tier is not supported for global address., badRequest

...我找不到更多信息。有人知道如何解决这个问题吗?

我感到困惑的是,添加了 A 级条目,并且我的 terraform 代码是从它们相应的 tf 代码(+名称调整)中 c/p 的。

标签: google-cloud-platformterraformterraform-provider-gcp

解决方案


标准网络层不使用 Google 全球光纤网络,而是使用该地区本地的“标准互联网”。如果您使用全局地址,则该地址是全局可访问的,因此您需要使用高级网络层才能访问此功能。

更多细节在这里

在您的情况下,您必须将项目配置更新为 Premium Network Tier您可以使用Terraform实现此目的

resource "google_compute_project_default_network_tier" "default" {
  network_tier = "PREMIUM"
}

推荐阅读