【发布时间】:2021-03-12 07:02:01
【问题描述】:
我创建了一个 Google Cloud Run 修订版,其中 Serverless VPC access connector 到 VPC Network。 VPC Network 可以通过Cloud NAT 访问互联网,以允许Cloud Run 实例拥有static outbound ip address,如本教程中所述:https://cloud.google.com/run/docs/configuring/static-outbound-ip。我按照教程进行操作,一切都很好,我从Cloud Run 实例获得了一个关于出口流量的静态 IP 地址。
我使用terraform 来部署所有资源,您可以在下面找到其代码。问题是这样的:destroying 资源后,出现以下错误:
ERROR: (gcloud.compute.networks.delete) Could not fetch resource:
- The network resource 'projects/myproject/global/networks/webhook-network' is already being used by 'projects/myproject/global/networkInstances/v1823516883-618da3a7-bd4f-4524-...-...'
(点包含更多数字,但由于这似乎是某种 uuid,我不想分享其余部分)。
所以我无法删除第一个网络。当我更改网络名称并重新apply时,apply成功,但出口的outbound static ip地址为169.254.X.X,我发现以下信息:
“当你看到 169.254.X.X 时,你肯定有问题” ==> 闻起来像麻烦。
有任何 Google 员工可以帮助我吗?我认为重现“损坏的”VPC 网络的步骤是创建一个连接到 VPC 的 Serverless Access Connector,使用 Cloud Run 修订版引用它,然后删除 VPC network 和Serverless Access Connector 之前你删除了 Cloud Run 修订版,但老实说不确定,我真的没有多余的 GCP 项目来测试它。
这个 StackOverflow 问题没有帮助:https://serverfault.com/questions/1016015/google-cloud-platform-find-resource-by-full-resource-name,这是我能找到的唯一相关问题。
有人有什么想法吗?
locals {
region = "europe-west1"
}
resource "google_compute_network" "webhook_network" {
name = "webhook-network-6"
auto_create_subnetworks = false
}
resource "google_compute_subnetwork" "subnetwork" {
depends_on = [
google_compute_network.webhook_network
]
name = "webhook-subnet-6"
network = google_compute_network.webhook_network.self_link
ip_cidr_range = "10.14.0.0/28"
region = local.region
}
resource "google_compute_router" "router" {
depends_on = [
google_compute_subnetwork.subnetwork,
google_compute_network.webhook_network
]
name = "router6"
region = google_compute_subnetwork.subnetwork.region
network = google_compute_network.webhook_network.name
}
// I created the static IP address manually
//resource "google_compute_address" "static_address" {
// name = "nat-static-ip-address"
// region = local.region
//}
resource "google_compute_router_nat" "advanced-nat" {
name = "natt"
router = google_compute_router.router.name
region = local.region
nat_ip_allocate_option = "MANUAL_ONLY"
nat_ips = [
var.ip_name
]
source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
}
data "google_project" "project" {
}
}
resource "google_vpc_access_connector" "access_connector" {
depends_on = [
google_compute_network.webhook_network,
google_compute_subnetwork.subnetwork
]
name = "stat-ip-conn-6"
project = var.project_id
region = local.region
ip_cidr_range = "10.4.0.0/28"
network = google_compute_network.webhook_network.name
}
【问题讨论】:
-
当您“销毁”您在问题末尾提供的 TF 文件时是否会出现问题?
标签: google-cloud-platform terraform google-cloud-run static-ip-address google-vpc