Files
but3-iac/terraform/modules/compute/main.tf

81 lines
1.6 KiB
Terraform
Raw Normal View History

2025-12-03 15:50:34 +01:00
locals {
disk_config = {
frontend = 10
backend = 10
2025-12-03 16:06:54 +01:00
database = 20
2025-12-03 15:50:34 +01:00
}
}
resource "google_compute_instance" "frontend_instance" {
project = var.project_id
name = "frontend-instance"
machine_type = var.instance_type
zone = var.zone
2025-12-03 16:06:54 +01:00
tags = ["frontend", "ssh"]
2025-12-03 15:50:34 +01:00
boot_disk {
initialize_params {
image = var.image
size = local.disk_config.frontend
}
}
network_interface {
subnetwork = var.frontend_subnet_id
access_config {
2025-12-03 16:06:54 +01:00
# IP publique (éphémère)
2025-12-03 15:50:34 +01:00
}
}
metadata = {
2025-12-03 16:06:54 +01:00
enable-oslogin = "TRUE"
2025-12-03 15:50:34 +01:00
}
}
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
2025-12-03 16:06:54 +01:00
# Pas de bloc access_config pour IP interne seulement
2025-12-03 15:50:34 +01:00
}
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
2025-12-03 16:06:54 +01:00
# Pas de bloc access_config pour IP interne seulement
2025-12-03 15:50:34 +01:00
}
metadata = {
enable-oslogin = "TRUE"
}
}