Google Cloud Platform Automatisierung mit Terraform leicht gemacht
Du kannst deinen Load Balancer, Instance Template, Instance Group und Firewall-Regeln einfach mit Terraform deployen.

Es war einmal, als ich Google Cloud Platform lernte, wollte ich einfach meinen Workflow und meine Deployments mit Terraform automatisieren und schrieb dieses IaaC (Infrastructure as a Code), um meine Infrastruktur einfach und schnell zu verwalten.
Was kann das?
Einen sicheren Load Balancer mit SSL erstellen und HTTP-Anfragen mit 301-Weiterleitungscode auf HTTPS umleiten.
Ein Instance Template erstellen und alles zu Netzwerk, Subnetz und Startskript festlegen.
Eine Instance Group erstellen und verwalten. Wenn die CPU deiner Instance Group mehr oder weniger als ein bestimmter Wert ist, wird der Instance Group Manager die VMs automatisch hoch- oder herunterskalieren.
VM-Instanzen laufen mit privater IP und projektweiter SSH-Zugriff ist standardmassig nicht erlaubt. Firewall-Regel fur den Load Balancer Health Check verwalten.
Voraussetzungen
- Compute Engine API aktivieren, falls nicht aktiviert.
- Service Account erstellen mit der
Editor-Rolle (oder was auch immer du mochtest) und die Schlusseldatei exportieren. - Cloud Google Storage Bucket erstellen, um den Terraform-Status zu speichern. Wenn du mochtest, kannst du dein Service Account als Mitglied zum Bucket hinzufugen.
- Compute Engine Image erstellen Du kannst eine Debian 10-basierte VM erstellen und nginx mit
sudo apt install -y nginxinstallieren und diesen Terraform-Code testen. Vergiss nicht den Befehlsudo systemctl enable nginx, bevor du deine VM in ein Image umwandelst.
Verwendung
Hier sind die Schritte...
- Repository klonen
git clone git@github.com:flightlesstux/gcp-instance-group-and-loadbalancer-w-terraform.git - Bei Google Platform authentifizieren, selbst wenn das Google SDK nicht installiert ist. Das ist wirklich nutzlich fur CI/CD-Pipelines! Wenn du bereits mit
gcloud auth loginbei deinem Google Cloud Platform-Projekt angemeldet bist, kannst du diesen Schritt uberspringen.export GOOGLE_APPLICATION_CREDENTIALS=service-account-key.json - Die Project ID wird ebenfalls per Terraform deklariert, aber wenn du den Wert nicht exportierst, wirst du wahrscheinlich einen Fehler wie unten erhalten.
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" { - Variablenwerte bearbeiten
variables.tf-Datei. - SSL-Zertifikat-Einstellungen
Fuge dein SSL-Zertifikat und die Schlusseldatei unter dem Ordnercertsein. Der Load Balancer muss sicher sein! Du kannst deinPublic key certificateundCertificate chainincertificate.crteinfugen. - Du kannst die Version deiner Produktionsumgebung einfach mit dieser Variable verfolgen. Und die Instance Group benotigt die neue Version fur ein Rolling Update.
export TF_VAR_deploy_version=v1 - Initialisieren
terraform init - Lass uns deployen
terraform applyoderterraform apply -auto-approve
Repository-Adresse
https://github.com/flightlesstux/gcp-instance-group-and-loadbalancer-w-terraform
Ich hoffe, dieser Artikel hilft dir.
Weiteres von Ercan
Zwei weitere Seiten, gleicher Autor, anderes Terrain.
KI, LLMs, Agents, angewandte ML.
Praxisnotizen zu KI-Workloads. Bedrock-Kostenanalyse, Agent-Patterns, Vektorspeicher-Tradeoffs, Failure-Modes in Produktion.
Besuchen ercan.ai →Die Drehscheibe. Über mich, Beratung, Kontakt.
Persönliche Drehscheibe für beide Schreibspuren. Wer ich bin, wie die Beratung funktioniert, wie Sie mich erreichen.
Besuchen ercanermis.com →