Надеюсь, у всех будут отличные выходные.
Я немного озадачен тем, как лучше всего реализовать шлюз nat в моем проекте GCP.
Я просто хотел реализовать это: https://github.com/GoogleCloudPlatform/terraform-google-nat-gateway
Я добавил это в свой main.tf:
module "nat" {
source = "GoogleCloudPlatform/nat-gateway/google"
region = "us-central1"
network = "default"
subnetwork = "default"
}
И я добавил этот тег (согласно readme) в мои экземпляры вычислений: ${module.nat.routing_tag_regional}
ОднакоЯ вижу следующее (что, пожалуй, имеет смысл):
Error: resource 'google_compute_instance.ds3-build' config: reference to undefined module "nat"
Поскольку у меня есть модуль в моем root / main.tf, а экземпляры собираются через другой пользовательский письменный модуль.Нужно ли выводить значение из файла root / main.tf, чтобы оно было доступно в другом модуле?
root/
├── app1-deploy/
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── app2-deploy
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── app3-deploy
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── creds
│ └── account.json
├── scripts
│ └── startup.sh
├── main.tf
├── outputs.tf
├── variables.tf
└── terraform.tfvars
Машины предоставляются внутри app1-deploy/main.tf
app2-deploy/main.tf
и т. Д. И module "nat"
находится в root/main.tf