From 89d8a79231628e8173dd5f392aa04f9ac26f48a0 Mon Sep 17 00:00:00 2001 From: vaisse Date: Thu, 4 Dec 2025 10:32:17 +0000 Subject: [PATCH] plan fonctionnel --- terraform/environments/dev/main.tf | 12 ++-- terraform/environments/dev/terraform.tfstate | 9 +++ terraform/environments/dev/variables.tf | 24 ++++---- terraform/modules/network/main.tf | 64 ++++++++++++++------ terraform/modules/network/outputs.tf | 8 +-- 5 files changed, 75 insertions(+), 42 deletions(-) create mode 100644 terraform/environments/dev/terraform.tfstate diff --git a/terraform/environments/dev/main.tf b/terraform/environments/dev/main.tf index c30402b..9de2bbd 100644 --- a/terraform/environments/dev/main.tf +++ b/terraform/environments/dev/main.tf @@ -13,10 +13,10 @@ provider "google" { } module "network" { - source = "../../modules/network" - project_name = var.project_name - region = var.region - frontend_cidr = var.frontend_cidr - backend_cidr = var.backend_cidr - database_cidr = var.database_cidr + source = "../../modules/network" + project_name = var.project_name + region = var.region + frontend_cidr = var.frontend_cidr + backend_cidr = var.backend_cidr + database_cidr = var.database_cidr } diff --git a/terraform/environments/dev/terraform.tfstate b/terraform/environments/dev/terraform.tfstate new file mode 100644 index 0000000..8777124 --- /dev/null +++ b/terraform/environments/dev/terraform.tfstate @@ -0,0 +1,9 @@ +{ + "version": 4, + "terraform_version": "1.14.1", + "serial": 1, + "lineage": "da2290d8-f11d-ccf7-84e7-3247a89ead2c", + "outputs": {}, + "resources": [], + "check_results": null +} diff --git a/terraform/environments/dev/variables.tf b/terraform/environments/dev/variables.tf index acbba10..29aecee 100644 --- a/terraform/environments/dev/variables.tf +++ b/terraform/environments/dev/variables.tf @@ -16,26 +16,26 @@ variable "database_cidr" { default = "10.0.3.0/24" } -variable "project_name"{ +variable "project_name" { description = "name of the project" - type = string - default = "10.0.4.0/24" + type = string + default = "10.0.4.0/24" } -variable "region"{ +variable "region" { description = "region of the project" - type = string - default = "10.0.5.0/24" + type = string + default = "10.0.5.0/24" } -variable "project_id"{ +variable "project_id" { description = "id of the project" - type = string - default = "10.0.6.0/24" + type = string + default = "10.0.6.0/24" } -variable "ssh_source_ranges"{ +variable "ssh_source_ranges" { description = "range of sources" - type = string - default = "10.0.7.0/24" + type = string + default = "10.0.7.0/24" } diff --git a/terraform/modules/network/main.tf b/terraform/modules/network/main.tf index 6c83cfd..903e98f 100644 --- a/terraform/modules/network/main.tf +++ b/terraform/modules/network/main.tf @@ -3,43 +3,67 @@ resource "google_compute_network" "vpc" { auto_create_subnetworks = "false" } -resource "frontend" "subnet" { - name = "sub_fr" +resource "google_compute_subnetwork" "frontend" { + name = "subfr" network = google_compute_network.vpc.id ip_cidr_range = "10.0.1.0/24" region = "europe-west9" - provider = google +} + + +resource "google_compute_subnetwork" "backend" { + name = "subba" + network = google_compute_network.vpc.id + ip_cidr_range = "10.0.2.0/24" + region = "europe-west9" +} + + +resource "google_compute_subnetwork" "database" { + name = "subda" + network = google_compute_network.vpc.id + ip_cidr_range = "10.0.3.0/24" + region = "europe-west9" +} + + +resource "google_compute_firewall" "allow_http_https"{ + name = "allowhttphttps" + network = google_compute_network.vpc.id allow { - protocol = ssh + protocol = "tcp" + ports = ["80", "443"] + } + + source_ranges = ["0.0.0.0/0"] + target_tags = ["frontend"] +} + + +resource "google_compute_firewall" "ssh_f_b"{ + name = "sshfb" + network = google_compute_network.vpc.id + + allow { + protocol = "ssh" ports = ["8000"] } + source_tags = ["frontend"] target_tags = ["backend"] } -resource "backend" "subnet" { - name = "sub_ba" +resource "google_compute_firewall" "ssh_b_d"{ + name = "sshbd" network = google_compute_network.vpc.id - ip_cidr_range = "10.0.2.0/24" - region = "europe-west9" - provider = google allow { - protocol = ssh + protocol = "ssh" ports = ["3306"] } + source_tags = ["backend"] target_tags = ["database"] - -} - - -resource "database" "subnet" { - name = "sub_da" - network = google_compute_network.vpc.id - ip_cidr_range = "10.0.3.0/24" - region = "europe-west9" - provider = google } diff --git a/terraform/modules/network/outputs.tf b/terraform/modules/network/outputs.tf index a74b08b..d2b9391 100644 --- a/terraform/modules/network/outputs.tf +++ b/terraform/modules/network/outputs.tf @@ -1,13 +1,13 @@ output "vpc_id" { description = "id du vpc" - value = google_compute_network.id + value = google_compute_network.vpc.id } output "subnets" { description = "ids of subnets" value = { - fr_id = frontend.id - ba_id = backend.id - dat_id = database.id + fr_id = google_compute_subnetwork.frontend.id + ba_id = google_compute_subnetwork.backend.id + dat_id = google_compute_subnetwork.database.id } }