2017-09-20 3 views
2

Ich habe einen Terraform-Stack für alle erforderlichen Ressourcen erstellt, die wir für den Aufbau eines virtuellen Datencenters in AWS verwenden. VPC, Subnetz, Sicherheitsgruppen usw., usw.Terraform-Stack

Alles funktioniert wunderbar :). Ich habe ein ständiges Streitgespräch mit Netzwerkingenieuren, die einen komplett separaten Status für das Netzwerk haben wollen usw. Als Ergebnis davon müssen wir mehrere Statusdateien verwalten und es erfordert 10 bis 15 Terraform-Plan-/Anwendungsbefehle, um das Rechenzentrum zu sein . Nicht alleine müssen wir die Befehle mehrfach ausführen, wir können nicht auf die Modul-Ausgangsvariablen verweisen, wenn wir ec2-Instanzen usw. erstellen, so dass nun "magische" Variablen in variablen Dateien erscheinen. Ich möchte die Skripte erstellen, um die ec2-Instanzen, els usw. innerhalb des gleichen Verzeichnisses wie die "Datencenter" -Konfiguration zu erstellen, so dass wir eine Zustandsdatei verwalten (verschlüsselt in s3 mit Dynamoblock) und dass unser git-Repo eins zu eins hat Beziehung zu unserer Infrastruktur. Es gibt auch den zusätzlichen Vorteil, dass ein einziges Terraform-Plan/Apply-System das gesamte Datencenter in einem einzigen Befehl erstellt.

Die Frage ist wirklich, ist es eine gute Idee, Rechenzentrumsressourcen (VPC, Subnetze, Sicherheitsgruppen) zu verwalten und Ressourcen in einer einzigen Statusdatei zu berechnen? Gibt es irgendwelche Probleme, auf die ich stoßen könnte? Hat jemand Erfahrung in der Verwaltung einer AWS-Umgebung mit Terraform?

Grüße, David

Antwort

2

mit der Variablen, die Sie Zugriff Ausgang des Terraform provider let aus anderen Zustand der Dateien zu beginnen, so dass Sie keine magische Variablen verwenden. Der Rest ist nur eine Frage deines Stils. Bringen Sie häufig das gesamte Datencenter infratracture mit? Wenn ja, können Sie es in einem Projekt tun. Wenn Sie auf der anderen Seite nur einige Dinge ändern, möchten Sie es möglicherweise modularer machen, indem Sie auf die Ausgabe von anderen Projekten zurückgreifen. Sie getrennt zu halten, macht das Hobeln schneller und vermeidet einen sehr kostspieligen Fehler.