forked from pierront/but3-iac
mja
This commit is contained in:
@@ -21,4 +21,13 @@ module "network" {
|
||||
backend_cidr = var.backend_cidr
|
||||
database_cidr = var.database_cidr
|
||||
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
|
||||
default = "10.0.3.0/24"
|
||||
}
|
||||
|
||||
variable "ssh_source_ranges" {
|
||||
description = "ssh"
|
||||
type = string
|
||||
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