我正在使用以下 terraform 代码公开在端口 80 上运行的 http 服务器应用程序。 应用 terraform 配置后,当我尝试 curl 或访问公共 IP e iget 连接超时。 如果我卷曲本地主机它工作正常。所以问题是配置。我缺少任何配置吗?
// Configure the Google Cloud provider
provider "google" {
credentials = file("xxxxxx-13a189a9c1c7.json")
project = "xxxx-xxxx"
region = "us-west1"
}
// Terraform plugin for creating random ids
resource "random_id" "instance_id" {
byte_length = 8
}
// A single Compute Engine instance
resource "google_compute_instance" "default" {
name = "bkps-314318-${random_id.instance_id.hex}"
machine_type = "f1-micro"
zone = "us-west1-a"
tags = ["web","http-server"]
boot_disk {
initialize_params {
image = "debian-cloud/debian-9"
}
}
metadata = {
ssh-keys = "joao:${file("/home/gc/projetos/gcp/terraform/joaossh.pub")}"
}
metadata_startup_script = file("${path.module}/startup.sh")
network_interface {
network = "default"
access_config {
// Include this section to give the VM an external ip address
// A variable for extracting the external IP address of the instance
}
}
}
output "ip" {
value = google_compute_instance.default.network_interface.0.access_config.0.nat_ip
}
resource "google_compute_firewall" "allow-http" {
name = "http-firewall"
network = google_compute_network.default.name
source_ranges = ["0.0.0.0/0"]
allow {
protocol = "tcp"
ports = ["80","443","8080","1000-4000"]
}
source_tags = ["web"]
}
resource "google_compute_network" "default" {
name = "test-network"
}