Correctif Network + Compute qui nage

This commit is contained in:
2025-12-04 09:54:18 +00:00
parent 58d1ea2089
commit 1747539bf6
14 changed files with 1123 additions and 23 deletions

View File

@@ -34,40 +34,43 @@ resource "google_compute_subnetwork" "database" {
# Pare-feu
resource "google_compute_firewall" "allow_http" {
name = "allow-http"
network = google_compute_network.vpc.id
name = "allow-http"
network = google_compute_network.vpc.id
direction = "INGRESS"
allow {
protocol = "tcp"
ports = ["80", "443"]
}
source_tags = ["0.0.0.0/0"]
target_tags = ["frontend", "ssh"]
source_ranges = ["0.0.0.0/0"]
target_tags = ["frontend", "ssh"]
}
resource "google_compute_firewall" "backend-connect" {
name = "backend-connect"
network = google_compute_network.vpc.id
name = "backend-connect"
network = google_compute_network.vpc.id
direction = "INGRESS"
allow {
protocol = "tcp"
ports = ["8000"]
}
source_tags = ["10.0.1.0/24"]
source_tags = ["frontend"]
target_tags = ["backend", "ssh"]
}
resource "google_compute_firewall" "database-connect" {
name = "database-connect"
network = google_compute_network.vpc.id
name = "database-connect"
network = google_compute_network.vpc.id
direction = "INGRESS"
allow {
protocol = "tcp"
ports = ["3306"]
}
source_tags = ["10.0.2.0/24"]
source_tags = ["backend"]
target_tags = ["database", "ssh"]
}

View File

@@ -0,0 +1,11 @@
output "vpc-id" {
value = google_compute_network.vpc.id
}
output "subnets-ids" {
value = {
frontend = google_compute_subnetwork.frontend.id
backend = google_compute_subnetwork.backend.id
database = google_compute_subnetwork.database.id
}
}

View File

@@ -1,9 +1,374 @@
{
"version": 4,
"terraform_version": "1.14.1",
"serial": 13,
"serial": 27,
"lineage": "a50247ea-8d0d-3586-9b2e-bab764a9e01a",
"outputs": {},
"resources": [],
"outputs": {
"subnets-ids": {
"value": {
"backend": "projects/projet-automatron/regions/europe-west1/subnetworks/backend",
"database": "projects/projet-automatron/regions/europe-west1/subnetworks/database",
"frontend": "projects/projet-automatron/regions/europe-west1/subnetworks/frontend"
},
"type": [
"object",
{
"backend": "string",
"database": "string",
"frontend": "string"
}
]
},
"vpc-id": {
"value": "projects/projet-automatron/global/networks/projet-automatron-vpc",
"type": "string"
}
},
"resources": [
{
"mode": "managed",
"type": "google_compute_firewall",
"name": "allow_http",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"allow": [
{
"ports": [
"80",
"443"
],
"protocol": "tcp"
}
],
"creation_timestamp": "2025-12-04T01:46:42.217-08:00",
"deny": [],
"description": "",
"destination_ranges": [],
"direction": "INGRESS",
"disabled": false,
"enable_logging": null,
"id": "projects/projet-automatron/global/firewalls/allow-http",
"log_config": [],
"name": "allow-http",
"network": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"params": [],
"priority": 1000,
"project": "projet-automatron",
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/firewalls/allow-http",
"source_ranges": [
"0.0.0.0/0"
],
"source_service_accounts": null,
"source_tags": null,
"target_service_accounts": null,
"target_tags": [
"frontend",
"ssh"
],
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
"dependencies": [
"google_compute_network.vpc"
]
}
]
},
{
"mode": "managed",
"type": "google_compute_firewall",
"name": "backend-connect",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"allow": [
{
"ports": [
"8000"
],
"protocol": "tcp"
}
],
"creation_timestamp": "2025-12-04T01:45:02.895-08:00",
"deny": [],
"description": "",
"destination_ranges": [],
"direction": "INGRESS",
"disabled": false,
"enable_logging": null,
"id": "projects/projet-automatron/global/firewalls/backend-connect",
"log_config": [],
"name": "backend-connect",
"network": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"params": [],
"priority": 1000,
"project": "projet-automatron",
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/firewalls/backend-connect",
"source_ranges": [],
"source_service_accounts": [],
"source_tags": [
"frontend"
],
"target_service_accounts": [],
"target_tags": [
"backend",
"ssh"
],
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
"dependencies": [
"google_compute_network.vpc"
]
}
]
},
{
"mode": "managed",
"type": "google_compute_firewall",
"name": "database-connect",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"allow": [
{
"ports": [
"3306"
],
"protocol": "tcp"
}
],
"creation_timestamp": "2025-12-04T01:45:02.749-08:00",
"deny": [],
"description": "",
"destination_ranges": [],
"direction": "INGRESS",
"disabled": false,
"enable_logging": null,
"id": "projects/projet-automatron/global/firewalls/database-connect",
"log_config": [],
"name": "database-connect",
"network": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"params": [],
"priority": 1000,
"project": "projet-automatron",
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/firewalls/database-connect",
"source_ranges": [],
"source_service_accounts": [],
"source_tags": [
"backend"
],
"target_service_accounts": [],
"target_tags": [
"database",
"ssh"
],
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
"dependencies": [
"google_compute_network.vpc"
]
}
]
},
{
"mode": "managed",
"type": "google_compute_network",
"name": "vpc",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"auto_create_subnetworks": false,
"bgp_always_compare_med": false,
"bgp_best_path_selection_mode": "LEGACY",
"bgp_inter_region_cost": "",
"delete_default_routes_on_create": false,
"description": "",
"enable_ula_internal_ipv6": false,
"gateway_ipv4": "",
"id": "projects/projet-automatron/global/networks/projet-automatron-vpc",
"internal_ipv6_range": "",
"mtu": 0,
"name": "projet-automatron-vpc",
"network_firewall_policy_enforcement_order": "AFTER_CLASSIC_FIREWALL",
"network_id": "8014487270375353090",
"network_profile": "",
"numeric_id": "8014487270375353090",
"params": [],
"project": "projet-automatron",
"routing_mode": "REGIONAL",
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19"
}
]
},
{
"mode": "managed",
"type": "google_compute_subnetwork",
"name": "backend",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"creation_timestamp": "2025-12-04T01:35:53.142-08:00",
"description": "",
"external_ipv6_prefix": "",
"fingerprint": null,
"gateway_address": "10.0.2.1",
"id": "projects/projet-automatron/regions/europe-west1/subnetworks/backend",
"internal_ipv6_prefix": "",
"ip_cidr_range": "10.0.2.0/24",
"ip_collection": null,
"ipv6_access_type": "",
"ipv6_cidr_range": "",
"ipv6_gce_endpoint": "",
"log_config": [],
"name": "backend",
"network": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"params": [],
"private_ip_google_access": false,
"private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS",
"project": "projet-automatron",
"purpose": "PRIVATE",
"region": "europe-west1",
"reserved_internal_range": "",
"role": "",
"secondary_ip_range": [],
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/regions/europe-west1/subnetworks/backend",
"send_secondary_ip_range_if_empty": null,
"stack_type": "IPV4_ONLY",
"state": "",
"subnetwork_id": 358242898822359830,
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19",
"dependencies": [
"google_compute_network.vpc"
]
}
]
},
{
"mode": "managed",
"type": "google_compute_subnetwork",
"name": "database",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"creation_timestamp": "2025-12-04T01:35:53.081-08:00",
"description": "",
"external_ipv6_prefix": "",
"fingerprint": null,
"gateway_address": "10.0.3.1",
"id": "projects/projet-automatron/regions/europe-west1/subnetworks/database",
"internal_ipv6_prefix": "",
"ip_cidr_range": "10.0.3.0/24",
"ip_collection": null,
"ipv6_access_type": "",
"ipv6_cidr_range": "",
"ipv6_gce_endpoint": "",
"log_config": [],
"name": "database",
"network": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"params": [],
"private_ip_google_access": false,
"private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS",
"project": "projet-automatron",
"purpose": "PRIVATE",
"region": "europe-west1",
"reserved_internal_range": "",
"role": "",
"secondary_ip_range": [],
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/regions/europe-west1/subnetworks/database",
"send_secondary_ip_range_if_empty": null,
"stack_type": "IPV4_ONLY",
"state": "",
"subnetwork_id": 8876568854010850070,
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19",
"dependencies": [
"google_compute_network.vpc"
]
}
]
},
{
"mode": "managed",
"type": "google_compute_subnetwork",
"name": "frontend",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"creation_timestamp": "2025-12-04T01:35:53.114-08:00",
"description": "",
"external_ipv6_prefix": "",
"fingerprint": null,
"gateway_address": "10.0.1.1",
"id": "projects/projet-automatron/regions/europe-west1/subnetworks/frontend",
"internal_ipv6_prefix": "",
"ip_cidr_range": "10.0.1.0/24",
"ip_collection": null,
"ipv6_access_type": "",
"ipv6_cidr_range": "",
"ipv6_gce_endpoint": "",
"log_config": [],
"name": "frontend",
"network": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"params": [],
"private_ip_google_access": false,
"private_ipv6_google_access": "DISABLE_GOOGLE_ACCESS",
"project": "projet-automatron",
"purpose": "PRIVATE",
"region": "europe-west1",
"reserved_internal_range": "",
"role": "",
"secondary_ip_range": [],
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/regions/europe-west1/subnetworks/frontend",
"send_secondary_ip_range_if_empty": null,
"stack_type": "IPV4_ONLY",
"state": "",
"subnetwork_id": 5021336330003344150,
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19",
"dependencies": [
"google_compute_network.vpc"
]
}
]
}
],
"check_results": null
}

View File

@@ -1,10 +1,136 @@
{
"version": 4,
"terraform_version": "1.14.1",
"serial": 8,
"serial": 25,
"lineage": "a50247ea-8d0d-3586-9b2e-bab764a9e01a",
"outputs": {},
"outputs": {
"subnets-ids": {
"value": {
"backend": "projects/projet-automatron/regions/europe-west1/subnetworks/backend",
"database": "projects/projet-automatron/regions/europe-west1/subnetworks/database",
"frontend": "projects/projet-automatron/regions/europe-west1/subnetworks/frontend"
},
"type": [
"object",
{
"backend": "string",
"database": "string",
"frontend": "string"
}
]
},
"vpc-id": {
"value": "projects/projet-automatron/global/networks/projet-automatron-vpc",
"type": "string"
}
},
"resources": [
{
"mode": "managed",
"type": "google_compute_firewall",
"name": "backend-connect",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"allow": [
{
"ports": [
"8000"
],
"protocol": "tcp"
}
],
"creation_timestamp": "2025-12-04T01:45:02.895-08:00",
"deny": [],
"description": "",
"destination_ranges": [],
"direction": "INGRESS",
"disabled": false,
"enable_logging": null,
"id": "projects/projet-automatron/global/firewalls/backend-connect",
"log_config": [],
"name": "backend-connect",
"network": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"params": [],
"priority": 1000,
"project": "projet-automatron",
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/firewalls/backend-connect",
"source_ranges": null,
"source_service_accounts": null,
"source_tags": [
"frontend"
],
"target_service_accounts": null,
"target_tags": [
"backend",
"ssh"
],
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
"dependencies": [
"google_compute_network.vpc"
]
}
]
},
{
"mode": "managed",
"type": "google_compute_firewall",
"name": "database-connect",
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"allow": [
{
"ports": [
"3306"
],
"protocol": "tcp"
}
],
"creation_timestamp": "2025-12-04T01:45:02.749-08:00",
"deny": [],
"description": "",
"destination_ranges": [],
"direction": "INGRESS",
"disabled": false,
"enable_logging": null,
"id": "projects/projet-automatron/global/firewalls/database-connect",
"log_config": [],
"name": "database-connect",
"network": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/networks/projet-automatron-vpc",
"params": [],
"priority": 1000,
"project": "projet-automatron",
"self_link": "https://www.googleapis.com/compute/v1/projects/projet-automatron/global/firewalls/database-connect",
"source_ranges": null,
"source_service_accounts": null,
"source_tags": [
"backend"
],
"target_service_accounts": null,
"target_tags": [
"database",
"ssh"
],
"timeouts": null
},
"sensitive_attributes": [],
"identity_schema_version": 0,
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
"dependencies": [
"google_compute_network.vpc"
]
}
]
},
{
"mode": "managed",
"type": "google_compute_network",
@@ -27,9 +153,9 @@
"mtu": 0,
"name": "projet-automatron-vpc",
"network_firewall_policy_enforcement_order": "AFTER_CLASSIC_FIREWALL",
"network_id": "2307949156882047397",
"network_id": "8014487270375353090",
"network_profile": "",
"numeric_id": "2307949156882047397",
"numeric_id": "8014487270375353090",
"params": [],
"project": "projet-automatron",
"routing_mode": "REGIONAL",
@@ -51,7 +177,7 @@
{
"schema_version": 0,
"attributes": {
"creation_timestamp": "2025-12-03T08:03:45.840-08:00",
"creation_timestamp": "2025-12-04T01:35:53.142-08:00",
"description": "",
"external_ipv6_prefix": "",
"fingerprint": null,
@@ -79,7 +205,7 @@
"send_secondary_ip_range_if_empty": null,
"stack_type": "IPV4_ONLY",
"state": "",
"subnetwork_id": 9155615804104761742,
"subnetwork_id": 358242898822359830,
"timeouts": null
},
"sensitive_attributes": [],
@@ -100,7 +226,7 @@
{
"schema_version": 0,
"attributes": {
"creation_timestamp": "2025-12-03T08:03:46.025-08:00",
"creation_timestamp": "2025-12-04T01:35:53.081-08:00",
"description": "",
"external_ipv6_prefix": "",
"fingerprint": null,
@@ -128,7 +254,7 @@
"send_secondary_ip_range_if_empty": null,
"stack_type": "IPV4_ONLY",
"state": "",
"subnetwork_id": 7501164362684293517,
"subnetwork_id": 8876568854010850070,
"timeouts": null
},
"sensitive_attributes": [],
@@ -149,7 +275,7 @@
{
"schema_version": 0,
"attributes": {
"creation_timestamp": "2025-12-03T08:03:44.849-08:00",
"creation_timestamp": "2025-12-04T01:35:53.114-08:00",
"description": "",
"external_ipv6_prefix": "",
"fingerprint": null,
@@ -177,7 +303,7 @@
"send_secondary_ip_range_if_empty": null,
"stack_type": "IPV4_ONLY",
"state": "",
"subnetwork_id": 7079668487141843343,
"subnetwork_id": 5021336330003344150,
"timeouts": null
},
"sensitive_attributes": [],