diff --git a/tp-cloud/terraform/modules/network/main.tf b/tp-cloud/terraform/modules/network/main.tf index 1356347..2a1a23f 100644 --- a/tp-cloud/terraform/modules/network/main.tf +++ b/tp-cloud/terraform/modules/network/main.tf @@ -1,40 +1,56 @@ resource "google_compute_network" "vpc" { - name = "nom2" + name = "myvpc" auto_create_subnetworks = false } -resource "google_compute_subnetwork" "frontend" { - name = "frontend" +# Sous-réseau +resource "google_compute_subnetwork" "frontend_subnet" { + name = "frontend-subnet" network = google_compute_network.vpc.id ip_cidr_range = var.frontend_cidr region = var.region } -resource "google_compute_subnetwork" "backend" { - name = "backend" +# Sous-réseau +resource "google_compute_subnetwork" "backend_subnet" { + name = "backend-subnet" network = google_compute_network.vpc.id - ip_cidr_range = var.backend_cidr + ip_cidr_range = var.backend_cidr region = var.region } -resource "google_compute_subnetwork" "db" { - name = "db" +# Sous-réseau +resource "google_compute_subnetwork" "database_subnet" { + name = "database-subnet" network = google_compute_network.vpc.id ip_cidr_range = var.database_cidr region = var.region } -resource "google_compute_firewall" "allow_http-https" { - name = "allow-http-https" +resource "google_compute_firewall" "allow_http" { + name = "allow-http" network = google_compute_network.vpc.id allow { protocol = "tcp" - ports = ["80", "443"] + ports = ["80"] } source_ranges = ["0.0.0.0/0"] - target_tags = ["web"] + target_tags = ["frontend"] +} + +resource "google_compute_firewall" "allow_https" { + name = "allow-https" + network = google_compute_network.vpc.id + + allow { + protocol = "tcp" + ports = ["443"] + } + + source_ranges = ["0.0.0.0/0"] + target_tags = ["frontend"] } resource "google_compute_firewall" "allow_ssh" { @@ -47,12 +63,11 @@ resource "google_compute_firewall" "allow_ssh" { } source_ranges = [var.ssh_source_ranges] - target_tags = ["web"] + target_tags = ["ssh"] } - -resource "google_compute_firewall" "front-to-back" { - name = "front-to-back" +resource "google_compute_firewall" "allow_frontend_to_backend" { + name = "allow-frontend-to-backend" network = google_compute_network.vpc.id allow { @@ -64,13 +79,13 @@ resource "google_compute_firewall" "front-to-back" { target_tags = ["backend"] } -resource "google_compute_firewall" "back-to-db" { - name = "front-to-back" +resource "google_compute_firewall" "allow-sql" { + name = "allow-sql" network = google_compute_network.vpc.id allow { protocol = "tcp" - ports = ["8000"] + ports = ["3306"] } source_ranges = [var.backend_cidr] diff --git a/tp-cloud/terraform/modules/network/outputs.tf b/tp-cloud/terraform/modules/network/outputs.tf index e69de29..38df9ba 100644 --- a/tp-cloud/terraform/modules/network/outputs.tf +++ b/tp-cloud/terraform/modules/network/outputs.tf @@ -0,0 +1,11 @@ +output "id_vpc" { + value = google_compute_network.vpc.id +} + +output "id_subnetwork" { + value = { + frontend = google_compute_subnetwork.frontend_subnet.id, + backend = google_compute_subnetwork.backend_subnet.id, + database = google_compute_subnetwork.database_subnet.id + } +} \ No newline at end of file diff --git a/tp-cloud/terraform/modules/network/variables.tf b/tp-cloud/terraform/modules/network/variables.tf index a272e2c..7d5fe2c 100644 --- a/tp-cloud/terraform/modules/network/variables.tf +++ b/tp-cloud/terraform/modules/network/variables.tf @@ -1,35 +1,35 @@ + variable "project_name" { - description = "ID du projet GCP" + description = "Nom du projet" type = string } variable "region" { - description = "region du projet" + description = "Région du projet" type = string } - variable "frontend_cidr" { - description = "frontend" + description = "cidr du frontend" type = string } variable "backend_cidr" { - description = "backend" + description = "cidr du backend" type = string } variable "database_cidr" { - description = "database" + description = "cidr du database" type = string } variable "ssh_source_ranges" { - description = "acces par ssh" + description = "Accès à internet" type = string } variable "cidr_range" { - description = "cidr-network" + description = "cidr de network" type = string -} +} \ No newline at end of file