Automatisation de Google Cloud Platform avec Terraform Facilement
Vous pouvez deployer votre load balancer, instance template, groupe d'instances et regles de pare-feu facilement avec terraform.

Il etait une fois, quand j'apprenais Google Cloud Platform, je voulais simplement automatiser mon workflow et mes deploiements avec terraform et j'ai ecrit cet IaaC (Infrastructure as a Code) pour gerer mon infrastructure facilement et rapidement.
Que peut faire cela ?
Creer un load balancer securise avec SSL et transformer les requetes HTTP en HTTPS avec le code de redirection 301.
Creer un Instance Template et tout configurer concernant le reseau, le sous-reseau, le script de demarrage.
Creer un groupe d'instances et le gerer. Si le CPU de votre groupe d'instances est superieur ou inferieur a une valeur, le gestionnaire de groupe d'instances augmentera ou reduira automatiquement le nombre de VMs.
Les instances VM fonctionnent avec une IP privee et l'acces SSH a l'echelle du projet n'est pas autorise par defaut. Gerer la regle de pare-feu pour le health check du load balancer.
Prerequis
- Activer l'API Compute Engine si elle n'est pas activee.
- Creer un compte de service avec le role
Editor(ou ce que vous voulez) et exporter le fichier de cle. - Creer un bucket Google Cloud Storage pour conserver l'etat terraform. Si vous le souhaitez, vous pouvez ajouter votre compte de service comme membre du bucket.
- Creer une Image Compute Engine Vous pouvez creer une VM basee sur Debian 10 et installer nginx via
sudo apt install -y nginxet tester ce code terraform. N'oubliez pas la commandesudo systemctl enable nginxavant de transformer votre VM en image.
Utilisation
Voici les etapes...
- Cloner le depot
git clone git@github.com:flightlesstux/gcp-instance-group-and-loadbalancer-w-terraform.git - S'authentifier a Google Platform meme si le google-sdk n'est pas installe. C'est vraiment utile pour les pipelines CI/CD ! Si vous etes deja connecte a votre projet Google Cloud Platform avec
gcloud auth login, vous pouvez sauter cette etape.export GOOGLE_APPLICATION_CREDENTIALS=service-account-key.json - L'ID du projet est egalement declare via terraform mais si vous n'exportez pas la valeur, vous obtiendrez probablement une erreur comme ci-dessous.
export GOOGLE_PROJECT="0123456789012"| Error: project: required field is not set
|
| with google_compute_instance_group_manager.this,
| on group_manager.tf line 1, in resource "google_compute_instance_group_manager" "this":
| 1: resource "google_compute_instance_group_manager" "this" { - Modifier les valeurs des variables
fichier variables.tf. - Parametres du certificat SSL
Collez votre certificat SSL et le fichier de cle dans le dossiercerts. Le Loadbalancer doit etre securise ! Vous pouvez coller votrePublic key certificateetCertificate chaindanscertificate.crt. - Vous pouvez suivre facilement la version de votre environnement de production avec cette variable. Et aussi, le groupe d'instances a besoin de la nouvelle version pour faire une mise a jour progressive.
export TF_VAR_deploy_version=v1 - Initialiser
terraform init - Deployons
terraform applyouterraform apply -auto-approve
Adresse du Depot
https://github.com/flightlesstux/gcp-instance-group-and-loadbalancer-w-terraform
J'espere que cet article vous aidera.
Plus d'Ercan
Deux autres sites, même auteur, terrain différent.
IA, LLMs, agents, ML appliquée.
Notes de terrain sur les charges IA. Analyse des coûts Bedrock, patterns d'agents, compromis de stockage vectoriel, modes de défaillance en production.
Visiter ercan.ai →Le hub. À propos, conseil, contact.
Hub personnel pour les deux pistes d'écriture. Qui je suis, comment fonctionne le conseil, comment me joindre.
Visiter ercanermis.com →