locals { disk_config = { frontend = 10 backend = 10 database = 20 } } resource "google_compute_instance" "frontend_instance" { project = var.project_id name = "frontend-instance" machine_type = var.instance_type zone = var.zone tags = ["frontend", "ssh"] boot_disk { initialize_params { image = var.image size = local.disk_config.frontend } } network_interface { subnetwork = var.frontend_subnet_id access_config { # IP publique (éphémère) } } metadata = { enable-oslogin = "TRUE" } } resource "google_compute_instance" "backend_instance" { project = var.project_id name = "backend-instance" machine_type = var.instance_type zone = var.zone tags = ["backend", "ssh"] boot_disk { initialize_params { image = var.image size = local.disk_config.backend } } network_interface { subnetwork = var.backend_subnet_id # Pas de bloc access_config pour IP interne seulement } metadata = { enable-oslogin = "TRUE" } } resource "google_compute_instance" "database_instance" { project = var.project_id name = "database-instance" machine_type = var.instance_type zone = var.zone tags = ["database", "ssh"] boot_disk { initialize_params { image = var.image size = local.disk_config.database } } network_interface { subnetwork = var.database_subnet_id # Pas de bloc access_config pour IP interne seulement } metadata = { enable-oslogin = "TRUE" } }