sauvegarde
This commit is contained in:
		@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					terraform {
 | 
				
			||||||
 | 
					  required_providers {
 | 
				
			||||||
 | 
					    google = {
 | 
				
			||||||
 | 
					      source  = "hashicorp/google"
 | 
				
			||||||
 | 
					      version = "~> 6.0"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					provider "google" {
 | 
				
			||||||
 | 
					  project = var.project_name
 | 
				
			||||||
 | 
					  region  = var.region
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module "network" {
 | 
				
			||||||
 | 
					  source = "./modules/network"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #variables d'entrée
 | 
				
			||||||
 | 
					  project_name = var.project_name
 | 
				
			||||||
 | 
					  region = var.region
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #autres variables spécifiques au module
 | 
				
			||||||
 | 
					  frontend_cidr = var.frontend_cidr
 | 
				
			||||||
 | 
					  backend_cidr = var.backend_cidr
 | 
				
			||||||
 | 
					  database_cidr = var.database_cidr
 | 
				
			||||||
 | 
					  ssh_source_ranges = var.ssh_source_ranges
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					variable "project_name" {
 | 
				
			||||||
 | 
					    description = "nom du projet"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					    default     = "projet-vertu"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "region" {
 | 
				
			||||||
 | 
					    description = "region"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					    default     = "europe-west4"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "frontend_cidr" {
 | 
				
			||||||
 | 
					    description = "sous réseau frontend"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					    default     = "10.0.1.0/24"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "backend_cidr" {
 | 
				
			||||||
 | 
					    description = "sous réseau backend"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					    default     = "10.0.2.0/24"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "database_cidr" {
 | 
				
			||||||
 | 
					    description = "sous réseau database"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					    default     = "10.0.3.0/24" 
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "ssh_source_ranges" {
 | 
				
			||||||
 | 
					    description = "ssh"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					    default     = "0.0.0.0/0"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,82 @@
 | 
				
			|||||||
 | 
					# VPC
 | 
				
			||||||
 | 
					resource "google_compute_network" "tp7" {
 | 
				
			||||||
 | 
					  name                    = "tp7"
 | 
				
			||||||
 | 
					  auto_create_subnetworks = false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Sous-réseau frontend
 | 
				
			||||||
 | 
					resource "google_compute_subnetwork" "frontend" {
 | 
				
			||||||
 | 
					  name          = "frontend"
 | 
				
			||||||
 | 
					  network       = google_compute_network.vpc.id
 | 
				
			||||||
 | 
					  ip_cidr_range = var.frontend_cidr
 | 
				
			||||||
 | 
					  region        = "europe-west4"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Sous-réseau backend
 | 
				
			||||||
 | 
					resource "google_compute_subnetwork" "backend" {
 | 
				
			||||||
 | 
					  name          = "backend"
 | 
				
			||||||
 | 
					  network       = google_compute_network.vpc.id
 | 
				
			||||||
 | 
					  ip_cidr_range = var.backend_cidr
 | 
				
			||||||
 | 
					  region        = "europe-west4"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Sous-réseau database
 | 
				
			||||||
 | 
					resource "google_compute_subnetwork" "database" {
 | 
				
			||||||
 | 
					  name          = "database"
 | 
				
			||||||
 | 
					  network       = google_compute_network.vpc.id
 | 
				
			||||||
 | 
					  ip_cidr_range = var.database_cidr
 | 
				
			||||||
 | 
					  region        = "europe-west4"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Règle de pare-feu
 | 
				
			||||||
 | 
					resource "google_compute_firewall" "allow_ssh" {
 | 
				
			||||||
 | 
					  name    = "allow-ssh"
 | 
				
			||||||
 | 
					  network = google_compute_network.vpc.id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  allow {
 | 
				
			||||||
 | 
					    protocol = "tcp"
 | 
				
			||||||
 | 
					    ports    = ["22"]
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  source_ranges = ["0.0.0.0/0"]
 | 
				
			||||||
 | 
					  target_tags   = ["ssh"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "google_compute_firewall" "allow_http" {
 | 
				
			||||||
 | 
					  name    = "allow-http"
 | 
				
			||||||
 | 
					  network = google_compute_network.vpc.id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  allow {
 | 
				
			||||||
 | 
					    protocol = "tcp"
 | 
				
			||||||
 | 
					    ports    = ["80, 443"]
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  source_ranges = ["0.0.0.0/0"]
 | 
				
			||||||
 | 
					  target_tags   = ["web"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "google_compute_firewall" "allow_front-to-back" {
 | 
				
			||||||
 | 
					  name    = "allow-front-to-back"
 | 
				
			||||||
 | 
					  network = google_compute_network.vpc.id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  allow {
 | 
				
			||||||
 | 
					    protocol = "tcp"
 | 
				
			||||||
 | 
					    ports    = ["8080"]
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  source_ranges = ["frontend"]
 | 
				
			||||||
 | 
					  target_tags   = ["backend"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "google_compute_firewall" "allow_back-to-db" {
 | 
				
			||||||
 | 
					  name    = "allow-back-to-db"
 | 
				
			||||||
 | 
					  network = google_compute_network.vpc.id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  allow {
 | 
				
			||||||
 | 
					    protocol = "tcp"
 | 
				
			||||||
 | 
					    ports    = ["3306"]
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  source_ranges = ["backend"]
 | 
				
			||||||
 | 
					  target_tags   = ["database"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					variable "project_name" {
 | 
				
			||||||
 | 
					    description = "nom du projet"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "region" {
 | 
				
			||||||
 | 
					    description = "region"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "frontend_cidr" {
 | 
				
			||||||
 | 
					    description = "sous réseau frontend"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "backend_cidr" {
 | 
				
			||||||
 | 
					    description = "sous réseau backend"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "database_cidr" {
 | 
				
			||||||
 | 
					    description = "sous réseau database"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variable "ssh_source_ranges" {
 | 
				
			||||||
 | 
					    description = "ssh"
 | 
				
			||||||
 | 
					    type        = string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user