forked from pierront/but3-iac
mja
This commit is contained in:
@@ -21,4 +21,13 @@ module "network" {
|
|||||||
backend_cidr = var.backend_cidr
|
backend_cidr = var.backend_cidr
|
||||||
database_cidr = var.database_cidr
|
database_cidr = var.database_cidr
|
||||||
ssh_source_ranges = var.ssh_source_ranges
|
ssh_source_ranges = var.ssh_source_ranges
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module "compute" {
|
||||||
|
source = "../../modules/compute"
|
||||||
|
instance_type = var.instance_type
|
||||||
|
zone = var.zone
|
||||||
|
frontend_subnet_id = var.frontend_subnet_id
|
||||||
|
backend_subnet_id = var.backend_subnet_id
|
||||||
|
database_subnet_id = var.database_subnet_id
|
||||||
|
}
|
||||||
|
|||||||
@@ -33,8 +33,39 @@ variable "database_cidr" {
|
|||||||
type = string
|
type = string
|
||||||
default = "10.0.3.0/24"
|
default = "10.0.3.0/24"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "ssh_source_ranges" {
|
variable "ssh_source_ranges" {
|
||||||
description = "ssh"
|
description = "ssh"
|
||||||
type = string
|
type = string
|
||||||
default = "0.0.0.0/0"
|
default = "0.0.0.0/0"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "frontend_subnet_id" {
|
||||||
|
description = "frontend subnet id"
|
||||||
|
type = string
|
||||||
|
default = module.network.subnet_ids["frontend"]
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "backend_subnet_id" {
|
||||||
|
description = "backend subnet id"
|
||||||
|
type = string
|
||||||
|
default = module.network.subnet_ids["backend"]
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "database_subnet_id" {
|
||||||
|
description = "database subnet id"
|
||||||
|
type = string
|
||||||
|
default = module.network.subnet_ids["database"]
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "zone" {
|
||||||
|
description = "zone"
|
||||||
|
type = string
|
||||||
|
default = var.region +"-b"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "instance_type" {
|
||||||
|
description = "instance_type"
|
||||||
|
type = string
|
||||||
|
default = "e2-small"
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
resource "google_compute_instance" "instance_frontend" {
|
||||||
|
name = "instance de frontend"
|
||||||
|
machine_type = var.instance_type
|
||||||
|
zone = var.zone
|
||||||
|
|
||||||
|
boot_disk {
|
||||||
|
initialize_params {
|
||||||
|
image = "debian-cloud/debian-11"
|
||||||
|
size = 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
network_interface {
|
||||||
|
access_config {} # IP publique
|
||||||
|
subnetwork = var.frontend_subnet_id
|
||||||
|
}
|
||||||
|
|
||||||
|
tags = ["frontend", "ssh"]
|
||||||
|
|
||||||
|
metadata = {
|
||||||
|
enable-oslogin = "TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "google_compute_instance" "instance_backend" {
|
||||||
|
name = "instance de backend"
|
||||||
|
machine_type = var.instance_type
|
||||||
|
zone = var.zone
|
||||||
|
|
||||||
|
boot_disk {
|
||||||
|
initialize_params {
|
||||||
|
image = "debian-cloud/debian-11"
|
||||||
|
size = 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
network_interface {
|
||||||
|
subnetwork = var.backend_subnet_id
|
||||||
|
}
|
||||||
|
|
||||||
|
tags = ["backend", "ssh"]
|
||||||
|
|
||||||
|
metadata = {
|
||||||
|
enable-oslogin = "TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "google_compute_instance" "instance_database" {
|
||||||
|
name = "instance de database"
|
||||||
|
machine_type = var.instance_type
|
||||||
|
zone = var.zone
|
||||||
|
|
||||||
|
boot_disk {
|
||||||
|
initialize_params {
|
||||||
|
image = "debian-cloud/debian-11"
|
||||||
|
size = 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
network_interface {
|
||||||
|
subnetwork = var.database_subnet_id
|
||||||
|
}
|
||||||
|
|
||||||
|
tags = ["database", "ssh"]
|
||||||
|
|
||||||
|
metadata = {
|
||||||
|
enable-oslogin = "TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
output "instance_ip" {
|
||||||
|
value = {
|
||||||
|
frontend =google_compute_instance.instance_frontend.network_interface[0].network_ip
|
||||||
|
backend =google_compute_instance.instance_backend.network_interface[0].network_ip
|
||||||
|
database =google_compute_instance.instance_database.network_interface[0].network_ip
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
output "private_ip_frontend" {
|
||||||
|
value = google_compute_instance.instance_frontend.network_interface[0].access_config[0].nat_ip
|
||||||
|
}
|
||||||
|
|
||||||
|
output "name_instance" {
|
||||||
|
value = {
|
||||||
|
frontend = google_compute_instance.instance_frontend.name
|
||||||
|
backend = google_compute_instance.instance_backend.name
|
||||||
|
database = google_compute_instance.instance_database.name
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
variable "instance_type" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "zone" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "frontend_subnet_id" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "backend_subnet_id" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "database_subnet_id" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
output "vpc_id" {
|
||||||
|
value = google_compute_network.vpc.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "subnet_ids" {
|
||||||
|
value = {
|
||||||
|
frontend = google_compute_subnetwork.frontend.id
|
||||||
|
backend = google_compute_subnetwork.backend.id
|
||||||
|
database = google_compute_subnetwork.database.id
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user