Ich bin neu in Terraform, ich möchte schließlich eine Terraform-Vorlage meiner Produktionsressourcen haben, so dass ich problemlos in Multi-Regionen und für Disaster Recovery bereitstellen kann. Wie kann ich das tun, wenn meine Ressourcen für AWS (EC2, S3, VPC usw.) bereits bereitgestellt sind?Terraform mit vorhandenen Produktionsressourcen
Antwort
Sie können dafür die Funktion terraform import
verwenden. Hier ist ein Link zur Dokumentation: https://www.terraform.io/docs/import/index.html
Allerdings ist es nicht in der Lage, Konfigurationen für Sie zu generieren. Sie müssen die Konfigurationen erstellen und den Status der Ressourcen importieren.
Die aktuelle Implementierung von Terraform-Import kann nur Ressourcen in den Status importieren. Es generiert keine Konfiguration. Eine zukünftige Version von Terraform wird auch eine Konfiguration generieren.
Sie können es inkrementell tun, beginnen Sie, Konfigurationen für Ressourcen nacheinander zu schreiben.
Ex:
- schreiben Konfigurationen für VPC.
- Import VPC-Status
- Schreiben Sie die Konfiguration für die EC2-Instanz.
- Import EC2 Zustand
Nach erfolgreich eine Ressource/s zu importieren. Sie können den Befehl terraform plan
verwenden, um sicherzustellen, dass der Status korrekt übereinstimmt.
Denken Sie daran, die Terraform-Module (https://www.terraform.io/docs/modules/create.html) zu verwenden, um den Code besser zu strukturieren, damit Sie ihn mit anderen Regionen und Umgebungen wiederverwenden können.
Hier ist ein Artikel, der eine Möglichkeit beschreibt, Terraform mit Multi-Region-Bereitstellungen zu verwenden. https://medium.com/@ctindel/multi-region-aws-app-deployments-with-terraform-modules-859c9ecb64f4
Ich denke, Sie sollten in diesem Fall versuchen, "Terraforming" zu berücksichtigen. Es wird Ihre aktuelle aws-Infrastruktur im Terraform-Stil exportieren.
Sie auch mit Segmentstapel produktionsfertige Module von Terraform betrachten können, die Sie als die Art und Weise verwenden können Sie wollen.
- 1. Standardwert für den vorhandenen Wert in Terraform
- 2. Ressourcen in Terraform ausschließen
- 3. Lokal experimentieren mit Terraform
- 4. Problem mit Terraform-Lookup
- 5. Marionette mit Terraform verwenden
- 6. Terraform-Statusverriegelung mit DynamoDB
- 7. Zusätzlichen Kontext mit Küche-Terraform einrichten
- 8. Terraform und VPC Peering
- 9. Terraform-Stack
- 10. Softlayer Api Authentifizierung mit Terraform
- 11. Bedingte Ressourcen mit Terraform erstellen
- 12. Problem mit Terraform EC2-Benutzerdaten
- 13. Terraform-Import mit Name-Tag für die Ressource
- 14. Terraform-Backend S3-Bucket-Erstellung gibt 403 w/Terraform 0.11.1
- 15. Terraform-Templates in Cloudformations-Templates konvertieren
- 16. Werden Terraform-Standardeinstellungen verwendet?
- 17. Terraform terraform_remote_state Teilkonfiguration
- 18. Terraform und Serverspec integrieren
- 19. Upgrade Terraform Version
- 20. Terraform Remote State Azur
- 21. Terraform - Bedingte Datenquelle
- 22. Terraform elasticbeanstalk deploy
- 23. Unterstützt Terraform die Rollenzuweisung?
- 24. Unterschied zwischen Daten und Import in Terraform
- 25. Verwendung der Terraform-Ausgabe als Eingabevariable einer anderen Terraform-Vorlage
- 26. Jenkins - Terraform/Bereich Terraform Jenkins nicht in Systemkonfiguration gefunden
- 27. Split Terraform Tfstate Datei
- 28. Terraform gemeinsamer Zustand
- 29. Terraform Provisioner-Ausgabe erfassen?
- 30. Terraform Variable ohne Interpolation