Verwaltung mit Terraform
In dieser Anleitung lernen Sie, wie Sie eine Instanz für STACKIT MongoDB Flex mit Terraform erstellen. Dazu richten Sie zunächst eine Umgebung ein. Nach Abschluss dieses Leitfadens verfügen Sie über Grundkenntnisse in der Nutzung von Terraform mit MongoDB Flex. Im Anschluss können Sie Ihr Wissen mit den verlinkten Ressourcen vertiefen.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Sie verfügen über einen Service Account mit ausreichenden Berechtigungen.
- 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 aufrufbar 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-mongodbcd stackit-terraform-mongodb -
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 im Download-Ordner befindet und den Namensa-key-ee76107b-8923-4661-9ae6-27417d5004f0.jsonträgt. 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" # Verwenden Sie die neueste Version}}}provider "stackit" {service_account_key_path = "./service-account-key.json"region = "eu01"}resource "stackit_mongodbflex_instance" "example" {project_id = var.project_idname = "my-mongodb-instance"acl = ["79.206.199.114/32" # Achtung: Erlaubt Zugriff von überall. Nur für Tests!]backup_schedule = "0 2 * * *" # Täglich um 02:00 Uhr nachtsflavor = {cpu = 1ram = 4}storage = {class = "premium-perf2-mongodb"size = 10}version = "8.0"replicas = 1options = {type = "Single"snapshot_retention_days = 2 # Wie lange Snapshots gespeichert werdenpoint_in_time_window_hours = 15 # Zeitfenster für Point-in-Time-Wiederherstellung in Stunden}}resource "stackit_mongodbflex_user" "example_user" {project_id = var.project_idinstance_id = stackit_mongodbflex_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 = "<PROJECT_ID>" -
Führen Sie die folgenden Befehle aus:
Terminal-Fenster terraform planterraform apply -
Prü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_mongodbflex_instance.example: Creating...stackit_mongodbflex_instance.example: Still creating... [10s elapsed]stackit_mongodbflex_instance.example: Still creating... [20s elapsed]stackit_mongodbflex_instance.example: Still creating... [30s elapsed]stackit_mongodbflex_instance.example: Still creating... [40s elapsed]stackit_mongodbflex_instance.example: Still creating... [50s elapsed]stackit_mongodbflex_instance.example: Still creating... [1m0s elapsed]stackit_mongodbflex_instance.example: Still creating... [1m10s elapsed]stackit_mongodbflex_instance.example: Still creating... [1m20s elapsed]stackit_mongodbflex_instance.example: Still creating... [1m30s elapsed]stackit_mongodbflex_instance.example: Still creating... [1m40s elapsed]stackit_mongodbflex_instance.example: Creation complete after 1m42s [id=118e6780-c9d0-48d0-87a3-044fe90c17c4,4cf6f720-1524-40dc-b76f-64e6533b1453]stackit_mongodbflex_user.example_user: Creating...stackit_mongodbflex_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.
Weitere Schritte
Abschnitt betitelt „Weitere Schritte“Sie haben erfolgreich Ihre erste Instanz und einen Benutzer für MongoDB Flex mit Terraform erstellt. Sie können einen Blick in die Datei terraform.tfstate werfen, um nachzuvollziehen, was Terraform durchgeführt hat. Zudem können Sie das GitHub-Repository des STACKIT Terraform Providers erkunden, um mehr über dessen Funktionsumfang zu erfahren. Weitere Informationen zu Terraform allgemein finden Sie auf der offiziellen Website von Terraform.