Использование google_compute_firewall
.Вам потребуется tag
вашего экземпляра с ресурсом экземпляра и установить target_tags
на ресурсе брандмауэра.Вы можете обратиться к тому, как эти теги работают здесь .
Пример
Добавить тег к экземпляру
resource "google_compute_instance" "default" {
name = "website"
machine_type = "n1-standard-1"
zone = "europe-west1-b"
tags = ["web"]
network_interface {
network = "default"
access_config {
// Ephemeral IP
}
}
metadata {
sshKeys = "james:${file("website.pem.pub")}"
}
boot_disk {
initialize_params {
image = "debian-cloud/debian-8"
}
}
}
Добавить ресурс брандмауэра
resource "google_compute_firewall" "default" {
name = "web-firewall"
network = "default"
allow {
protocol = "icmp"
}
allow {
protocol = "tcp"
ports = ["80"]
}
source_ranges = ["0.0.0.0/0"]
target_tags = ["web"]
}
Вы также можете определить source_tags
или source_ranges
, в приведенном выше примере используется диапазон источника 0.0.0.0/0
, который равен «что угодно»,Это может не подходить для всех правил.