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

101 lines
1.7 KiB
Terraform
Raw Normal View History

2025-12-04 08:56:10 +01:00
# À vous de créer :
# 1. Instance frontend :
# - Image : debian-11
# - Disque : 10GB
# - IP publique
# - Tags : frontend, ssh
# - OS Login enabled
# 2. Instance backend :
# - Image : debian-11
# - Disque : 10GB
# - Pas d'IP publique (interne seulement)
# - Tags : backend, ssh
# - OS Login enabled
# 3. Instance database :
# - Image : debian-11
# - Disque : 20GB
# - Pas d'IP publique
# - Tags : database, ssh
# - OS Login enabled
resource "google_compute_instance" "vm_frontend" {
name = "frontend"
2025-12-04 09:12:18 +01:00
machine_type = var.instance_type
2025-12-04 08:56:10 +01:00
zone = var.zone
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
size = 10
}
}
network_interface {
access_config {} # IP publique
2025-12-04 09:03:43 +01:00
subnetwork = var.frontend_subnet_id
2025-12-04 08:56:10 +01:00
}
tags = ["frontend", "ssh"]
metadata = {
enable-oslogin = "TRUE"
}
}
resource "google_compute_instance" "vm_backend" {
2025-12-04 09:48:29 +01:00
name = "backend"
2025-12-04 09:12:18 +01:00
machine_type = var.instance_type
2025-12-04 08:56:10 +01:00
zone = var.zone
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
size = 10
}
}
network_interface {
2025-12-04 09:03:43 +01:00
subnetwork = var.backend_subnet_id
2025-12-04 08:56:10 +01:00
}
tags = ["backend", "ssh"]
metadata = {
enable-oslogin = "TRUE"
}
}
resource "google_compute_instance" "vm_database" {
2025-12-04 09:48:29 +01:00
name = "database"
2025-12-04 09:12:18 +01:00
machine_type = var.instance_type
2025-12-04 08:56:10 +01:00
zone = var.zone
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
size = 20
}
}
network_interface {
2025-12-04 09:03:43 +01:00
subnetwork = var.database_subnet_id
2025-12-04 08:56:10 +01:00
}
tags = ["database", "ssh"]
metadata = {
enable-oslogin = "TRUE"
}
}