Files
but3-iac/terraform/modules/compute/main.tf
gallego 47814729f3 debut
2025-12-04 10:07:08 +00:00

95 lines
2.0 KiB
HCL

############################################
# FONCTION COMMUNE POUR OS LOGIN
############################################
resource "google_compute_project_metadata_item" "enable_oslogin" {
project = var.project_id
key = "enable-oslogin"
value = "TRUE"
}
############################################
# 1. INSTANCE FRONTEND
############################################
resource "google_compute_instance" "frontend" {
project = var.project_id
name = "frontend-instance"
machine_type = var.instance_type
zone = var.zone
tags = ["frontend", "ssh"]
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
size = 10
}
}
network_interface {
subnetwork = var.frontend_subnet_id
access_config {} # IP publique
}
metadata = {
enable-oslogin = "TRUE"
}
}
############################################
# 2. INSTANCE BACKEND
############################################
resource "google_compute_instance" "backend" {
project = var.project_id
name = "backend-instance"
machine_type = var.instance_type
zone = var.zone
tags = ["backend", "ssh"]
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
size = 10
}
}
network_interface {
subnetwork = var.backend_subnet_id
# Pas d'IP publique → aucun access_config
}
metadata = {
enable-oslogin = "TRUE"
}
}
############################################
# 3. INSTANCE DATABASE
############################################
resource "google_compute_instance" "database" {
project = var.project_id
name = "database-instance"
machine_type = var.instance_type
zone = var.zone
tags = ["database", "ssh"]
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
size = 20
}
}
network_interface {
subnetwork = var.database_subnet_id
# Pas d'IP publique
}
metadata = {
enable-oslogin = "TRUE"
}
}