Verwalten mit Terraform
In dieser Anleitung erfahren Sie, wie Sie eine STACKIT PostgreSQL Flex-Instanz mit Terraform erstellen. Sie richten zuerst eine Umgebung ein. Nach Abschluss dieser Anleitung verfügen Sie über Grundkenntnisse in der Verwendung von Terraform mit PostgreSQL Flex. Im Anschluss können Sie Ihr Wissen mithilfe der verlinkten Ressourcen vertiefen.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Sie verfügen über einen Service Account mit ausreichenden Rechten.
- Sie besitzen eine Schlüsseldatei für Ihren Service Account.
- Auf Ihrem Client ist Terraform installiert.
Umgebung einrichten
Abschnitt betitelt „Umgebung einrichten“-
Überprüfen Sie, ob Terraform verfügbar ist.
Terminal-Fenster terraform --versionSie erhalten eine Ausgabe wie:
Terraform v1.12.2on darwin_arm64 -
Erstellen Sie einen Ordner für Ihr Terraform-Projekt und wechseln Sie in dieses Verzeichnis.
Terminal-Fenster mkdir stackit-terraform-postgresqlcd stackit-terraform-postgresql -
Kopieren Sie die Schlüsseldatei Ihres Service Accounts in den Ordner und benennen Sie diese in
service-account-key.jsonum. Diese Anleitung geht davon aus, dass sich Ihre heruntergeladene Schlüsseldatei in Ihrem Download-Ordner befindet und den Namensa-key-ee76107b-8923-4661-9ae6-27417d5004f0.jsonhat. Bitte passen Sie den folgenden Befehl entsprechend Ihrer lokalen Umgebung an.Terminal-Fenster mv ~/Downloads/sa-key-ee76107b-8923-4661-9ae6-27417d5004f0.json ./service-account-key.json -
Erstellen Sie die Datei
main.tf.Terminal-Fenster terraform {required_providers {stackit = {source = "stackitcloud/stackit"version = "~> 0.30.0" # Verwende die neueste Version}}}provider "stackit" {service_account_key_path = "./service-account-key.json"region = "eu01"}resource "stackit_postgresqlflex_instance" "example" {project_id = var.project_idname = "my-postgresql-instance"acl = ["79.206.199.114/32"]backup_schedule = "0 2 * * *" # Täglich um 2 Uhr nachtsflavor = {cpu = 1ram = 4}storage = {class = "premium-perf6-postgresql"size = 5}version = "17.0"replicas = 1options = {type = "Single"}}resource "stackit_postgresql_user" "example_user" {project_id = var.project_idinstance_id = stackit_postgresqlflex_instance.example.instance_idusername = "myuser"database = "default"roles = ["readWrite"]} -
Erstellen Sie die Datei
variables.tf.variable "project_id" {description = "STACKIT Project ID"type = string} -
Erstellen Sie die Datei
terraform.tfvars.project_id = "<PROJEKT_ID>" -
Führen Sie die Konfiguration aus.
Terminal-Fenster terraform planterraform apply -
Überprüfen Sie die Ausgabe.
Sie erhalten eine Ausgabe wie:
...Do you want to perform these actions?Terraform will perform the actions described above.Only 'yes' will be accepted to approve.Enter a value: yesstackit_postgresqlflex_instance.example: Creating...stackit_postgresqlflex_instance.example: Still creating... [10s elapsed]stackit_postgresqlflex_instance.example: Still creating... [20s elapsed]stackit_postgresqlflex_instance.example: Still creating... [30s elapsed]stackit_postgresqlflex_instance.example: Still creating... [40s elapsed]stackit_postgresqlflex_instance.example: Still creating... [50s elapsed]stackit_postgresqlflex_instance.example: Still creating... [1m0s elapsed]stackit_postgresqlflex_instance.example: Still creating... [1m10s elapsed]stackit_postgresqlflex_instance.example: Still creating... [1m20s elapsed]stackit_postgresqlflex_instance.example: Still creating... [1m30s elapsed]stackit_postgresqlflex_instance.example: Still creating... [1m40s elapsed]stackit_postgresqlflex_instance.example: Creation complete after 1m42s [id=118e6780-c9d0-48d0-87a3-044fe90c17c4,4cf6f720-1524-40dc-b76f-64e6533b1453]stackit_postgresqlflex_user.example_user: Creating...stackit_postgresqlflex_user.example_user: Creation complete after 1s [id=118e6780-c9d0-48d0-87a3-044fe90c17c4,4cf6f720-1524-40dc-b76f-64e6533b1453,8f1b5a44-5e10-4a3b-86ab-5377cfb711df]Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“Sie haben erfolgreich Ihre erste PostgreSQL Flex-Instanz und einen Benutzer mit Terraform erstellt. Sie können einen Blick in die Datei terraform.tfstate werfen, um zu verstehen, was Terraform durchgeführt hat. Sie können auch das GitHub-Repository des STACKIT Terraform-Providers erkunden, um mehr über dessen Funktionsumfang zu erfahren. Weitere Informationen zu Terraform im Allgemeinen finden Sie auf der offiziellen Terraform-Website.