Die wichtigsten Erkenntnisse
- Herkömmliche Wiederherstellungsverfahren können in von Terraform verwalteten Umgebungen zu einer Abweichung der Infrastruktur führen, da neue Ressourcen außerhalb des States bereitgestellt werden.
- Clumio Backtrack ist darauf ausgelegt, Daten direkt in bestehende S3-Buckets und DynamoDB-Tabellen wiederherzustellen, wodurch die Identität der Ressourcen erhalten bleibt.
- Die In-Place-Wiederherstellung trägt dazu bei, den Bedarf an manuellen Terraform-Importen, der Neukonfiguration von Endpunkten und der Statusabgleichung während Vorfällen zu reduzieren.
- Die Ausrichtung der Wiederherstellungsabläufe an den Prinzipien von „Infrastructure as Code“ (IaC) trägt dazu bei, die Konfigurationsintegrität und die Vorhersehbarkeit des Betriebs zu gewährleisten.
- Die Planung der Wiederherstellung ist für Teams, die Produktionsumgebungen über Terraform betreiben, ebenso entscheidend wie die Planung der Datensicherung.
IaC sorgt in der Cloud für Konsistenz, Wiederholbarkeit und Versionskontrolle. Terraform wird zur „Quelle der Wahrheit“ dafür, was vorhanden ist, wie es konfiguriert ist und wie es sich verhalten soll. Die Wiederherstellung stellt eine neue Herausforderung dar.
Bei herkömmlichen Recovery-Vorgängen werden häufig neue Ressourcen erstellt – neue S3-Buckets, neue DynamoDB-Tabellen, neue Endpunkte. Aus Sicht von Terraform wurden diese Ressourcen nicht im Code definiert. Sie sind im State nicht vorhanden. Dadurch entsteht eine Abweichung. Im Routinebetrieb ist diese Abweichung beherrschbar. Während eines Vorfalls verstärkt sie sich jedoch. Hier ist das Recovery-Design genauso wichtig wie das Backup-Design.
Das Problem der IaC-Abweichung
In einem typischen Wiederherstellungsmodell:
- Wird eine geschützte Ressource als neue Ressource wiederhergestellt.
- Befindet sich die ursprüngliche Ressource weiterhin in einem beschädigten, überschriebenen oder fehlerhaften Zustand.
- Der Terraform-State erkennt die neue Ressource nicht.
- Teams müssen Ressourcen manuell in den Status importieren.
- Anwendungskonfigurationen müssen möglicherweise aktualisiert werden.
Für Unternehmen, die ihre Produktionsinfrastruktur über Terraform verwalten, führt dies genau zum falschen Zeitpunkt zu Reibungsverlusten. Die Herausforderung liegt nicht in der Zuverlässigkeit der Backups an sich, sondern darin, wie sich die Wiederherstellungsabläufe in die „Infrastructure-as-Code“-Praktiken integrieren lassen.
Vorstellung der In-Place-Wiederherstellung mit Clumio Backtrack
Clumio Backtrack ist eine Wiederherstellungsfunktion, mit der Daten direkt in bestehende AWS-Ressourcen wiederhergestellt werden können, anstatt eine Ersatzinfrastruktur bereitzustellen. Bei der Konfiguration über den Clumio Terraform-Provider unterstützt Backtrack die Einrichtung von Wiederherstellungsabläufen, die mit der im Code definierten Infrastruktur im Einklang stehen.
Clumio Backtrack unterstützt sowohl Amazon S3 als auch Amazon DynamoDB. Einen tiefergehenden technischen Einblick in die DynamoDB-spezifischen Wiederherstellungsabläufe finden Sie in unserem Blogbeitrag zu Clumio Backtrack für DynamoDB.
Anstatt Ersatzressourcen bereitzustellen, hilft Backtrack bei der Wiederherstellung:
- S3-Objekte direkt in den ursprünglichen Bucket.
- DynamoDB-Daten direkt in die ursprüngliche Tabelle.
Aus Sicht von Terraform soll die Infrastruktur unverändert bleiben, wobei die definierten Ressourcen weiterhin mit der deklarierten Konfiguration übereinstimmen. Dies trägt dazu bei, den Bedarf an manuellen Ressourcenimporten, temporären Wiederherstellungstabellen, der Neuverknüpfung von Endpunkten und der Statusabgleichung unter Zeitdruck zu reduzieren.
Ein praktisches Beispiel
Stellen Sie sich eine Produktionsumgebung vor, die vollständig über Terraform verwaltet wird. Eine DynamoDB-Tabelle erfasst den Bestand; ein S3-Bucket speichert Anwendungsressourcen; Rollen und Richtlinien für die Identitäts- und Zugriffsverwaltung sind kodifiziert; und Sicherheitsrichtlinien werden über Terraform definiert. Kommt es vor einem größeren Traffic-Ereignis zu einer Beschädigung, können herkömmliche Wiederherstellungsansätze neue Ressourcen erstellen, die wieder in Terraform integriert werden müssen.
Bei Backtrack ist die Wiederherstellung so konzipiert, dass sie innerhalb der bestehenden Ressourcengrenzen erfolgt, wodurch die definierte Infrastruktur intakt bleibt und die Identität der Ressourcen gewahrt wird. Dieser Ansatz soll die Notwendigkeit beseitigen, Terraform zu aktualisieren, um einen neu erstellten Bucket oder eine neue Tabelle zu berücksichtigen, wobei die Wiederherstellung als Vorgang auf Datenebene und nicht als Austausch der Infrastruktur behandelt wird.
Warum dies für Platform wichtig ist
Für Teams, die auf IaC setzen, sollten Wiederherstellungsabläufe die Identität der Ressourcen, die Zustandsabstimmung, die Konfigurationsintegrität und die Vorhersehbarkeit des Betriebs gewährleisten. Die Wiederherstellung vor Ort trägt zur Erreichung dieser Ziele bei, indem sie Infrastrukturänderungen während Wiederherstellungsvorgängen begrenzt.
Wiederherstellung in der Cloud
Backtrack ist für den Betrieb in der Cloud ausgelegt – ganz gleich, ob es um die Wiederherstellung einer kleinen Anzahl von Objekten oder großer Datensätze geht. Die Wiederherstellungsleistung variiert je nach Umfang der Arbeitslast und der Konfiguration der Umgebung, doch das architektonische Ziel bleibt stets dasselbe: Daten wiederherzustellen, ohne dass es zu einer neuen Infrastrukturabweichung kommt. Bei Terraform-gesteuerten Umgebungen spielt diese Unterscheidung eine Rolle.
Wo sich dieser Ansatz eignet
Die Wiederherstellung vor Ort ist insbesondere relevant für:
- DynamoDB-Workloads mit hohem Durchsatz
- S3-Buckets mit einer großen Anzahl von Objekten
- Produktionssysteme, die vollständig über Terraform verwaltet werden
- komplexe Umgebungen, in denen es schwierig ist, Anwendungsabhängigkeiten auf neue Ressourcen umzuleiten
Wenn die Infrastruktur deklarativ definiert wird, sollten sich auch die Wiederherstellungsabläufe an diesem Ansatz orientieren.
Erste Schritte
So erkunden Sie Clumio Backtrack und dessen Integration mit Terraform:
- Lesen Sie die Dokumentation zum Clumio-Terraform-Provider durch.
- Entdecken Sie den Quellcode des Providers auf GitHub.
- Sehen Sie sich das oben eingebettete Backtrack-Demovideo an.
Die Definition von „Security as Code“ ist nur ein Teil des Ganzen. Die Entwicklung von Wiederherstellungsabläufen, die die Integrität der Infrastruktur gewährleisten, vervollständigt das Modell.
FAQs
F: Welche Probleme verursachen herkömmliche Wiederherstellungen in von Terraform verwalteten Umgebungen?
A: Bei herkömmlichen Wiederherstellungen werden häufig neue Ressourcen erstellt, wie beispielsweise Ersatz-S3-Buckets oder DynamoDB-Tabellen, die im Terraform-State nicht definiert sind. Dies kann zu einer Abweichung der Infrastruktur führen und Teams dazu zwingen, Ressourcen manuell zu importieren und Konfigurationen während kritischer Vorfälle abzugleichen.
F: Inwiefern unterscheidet sich Clumio Backtrack von herkömmlichen Wiederherstellungsverfahren?
A: Anstatt neue Infrastruktur bereitzustellen, ist Clumio Backtrack darauf ausgelegt, Daten direkt in die bestehende AWS-Ressource wiederherzustellen. Dieser Ansatz trägt dazu bei, die Identität der Ressource zu bewahren und den Terraform-Status mit der deklarierten Konfiguration abzugleichen.
F: Welche AWS-Dienste werden von Clumio Backtrack unterstützt?
A: Clumio Backtrack unterstützt Amazon S3 und Amazon DynamoDB. Die Lösung ist darauf ausgelegt, S3-Objekte im ursprünglichen Bucket und DynamoDB-Daten in der ursprünglichen Tabelle wiederherzustellen, wodurch die Konsistenz mit der im Code definierten Infrastruktur gewahrt bleibt.
F: Warum ist die In-Place-Wiederherstellung für Platform wichtig?
A: Plattformen setzen auf „Infrastructure as Code“, um Konsistenz und Kontrolle zu gewährleisten. Die In-Place-Wiederherstellung trägt dazu bei, die Zustandsübereinstimmung, die Konfigurationsintegrität und die Vorhersehbarkeit des Betriebs aufrechtzuerhalten, ohne dass während der Wiederherstellungsvorgänge zusätzliche Änderungen an der Infrastruktur vorgenommen werden müssen.
F: Wann ist eine In-Place-Wiederherstellung besonders sinnvoll?
A: Sie eignet sich besonders für DynamoDB-Workloads mit hohem Durchsatz, S3-Buckets mit einer großen Anzahl von Objekten und Produktionssysteme, die vollständig über Terraform verwaltet werden. Außerdem kann sie in Umgebungen von Vorteil sein, in denen die Umleitung von Anwendungsabhängigkeiten auf neu erstellte Ressourcen komplex oder riskant wäre.
F: Wie können Teams mit der Integration von Clumio Backtrack und Terraform beginnen?
A: Teams können die Dokumentation zum Clumio-Terraform-Provider lesen, den Quellcode des Providers auf GitHub einsehen und sich das im Blog erwähnte Backtrack-Demovideo ansehen, um sich über die Details der Implementierung und des Arbeitsablaufs zu informieren.
Lawrence Chang ist Chief Engineering Officer bei Clumio und Vir Choksi ist Principal Product Marketing Manager bei Commvault.