Как добавить `default-allow-http` - PullRequest
0 голосов
/ 04 февраля 2020

Как добавить правило брандмауэра default-allow-http в скрипте terraform в экземпляр облачных вычислений Google?

provider "google" {
    credentials = file("CREDENTIAL_FILE")
    project = "gitlab-project"
    region = var.region
}

resource "google_compute_instance" "gitlab" {
  name          = var.machine_specs.name
  machine_type  = var.machine_type.emicro
  zone          = var.zone

  boot_disk {
    initialize_params {
        image = var.machine_specs.os
        size = var.machine_specs.size
    }
  }

  network_interface {
    # A default network is created for all GCP projects
    network     = "default"
    access_config {
      nat_ip = google_compute_address.static.address
    }
  }

    // Add the SSH key
    metadata = {
        ssh-keys = "martin:${file("~/.ssh/id_rsa.pub")}"
    }

}

// A variable for extracting the external ip of the instance
output "ip" {
 value = "${google_compute_instance.gitlab.network_interface.0.access_config.0.nat_ip}"
}

resource "google_compute_address" "static" {
  name = "ipv4-address"
  address_type = "EXTERNAL"
  address = "XXX.XXX.XXX.XXX"
}

resource "google_compute_firewall" "allow-http" {
  name = "default-allow-http"
  network = 

  allow{
    protocol = "tcp"
    ports = ["80"]
  }
}



Ответы [ 3 ]

2 голосов
/ 04 февраля 2020

Вы можете использовать теги аргумент, доступный в google_compute_instance ресурсе.

это будет выглядеть примерно так:

resource "google_compute_instance" "gitlab" {
  name          = var.machine_specs.name
  machine_type  = var.machine_type.emicro
  zone          = var.zone

  tags = ["http-server"]

http-server тег предназначен для default-allow-http правило брандмауэра. Если вам нужен default-allow-https, просто добавьте https-server в список тегов.

Надеюсь, это поможет.

1 голос
/ 04 февраля 2020

Просто добавьте теги http-server и https-server в группу ресурсов google_cloud_instance. Теги можно найти в настройках брандмауэра в консоли GCloud.

1 голос
/ 04 февраля 2020

Вам нужно добавить теги ["http-server", "https-server"] в вашу группу ресурсов google_compute_instance примерно так:

[...]

resource "google_compute_instance" "gitlab" {
  name          = var.machine_specs.name
  machine_type  = var.machine_type.emicro
  zone          = var.zone

tags = ["http-server", "https-server"]

[...]
...