Zum Inhalt springen

Point-in-Time-Sicherung und Wiederherstellung von Zone-Records mit der STACKIT DNS Export/Import-Funktion

Die Point-in-Time-Wiederherstellung von DNS-Zonen ist eine hervorragende Möglichkeit, um eine Sicherung einer funktionierenden Ressourcen-Konfiguration zu erstellen. Wenn eine DNS-Zone beeinträchtigt ist, zum Beispiel durch einen Cyberangriff, eine versehentliche Fehlkonfiguration oder experimentelle Änderungen, ermöglicht Ihnen eine Point-in-Time-Wiederherstellung, den Inhalt der DNS-Zone auf einen vorherigen Zustand zurückzusetzen, wodurch Ausfallzeiten und potenzielle Schäden minimiert werden.

  • Für die Sicherung: Sie verfügen über eine gültige DNS-Zonenkonfiguration: Verwalten von DNS-Zonen
  • Für die Wiederherstellung: Sie verfügen über eine Sicherungsdatei einer gültigen DNS-Zonenkonfiguration.

Erstellen einer Point-in-Time-Sicherung der gewünschten Zone

Abschnitt betitelt „Erstellen einer Point-in-Time-Sicherung der gewünschten Zone“

Um die Sicherung zu erhalten, verwenden Sie den folgenden API-Aufruf:

Terminal-Fenster
curl --location --request POST '[https://dns.api.stackit.cloud/v1/projects/](https://dns.api.stackit.cloud/v1/projects/)[projectId]/zones/[zoneId]/export' --header '
Accept: application/json' --header 'Authorization: Bearer [Auth-Token]' --data '{
"format": "csv",
"exportAsFQDN": false
}' | jq.

Die Felder format und exportAsFQDN spielen für die Point-in-Time-Wiederherstellung keine Rolle. Der Aufruf sollte eine Datei mit dem Zoneninhalt herunterladen, wie folgt:

pitr.test.,3600,SOA,"ns1.stackit.cloud. hostmaster.stackit.cloud. 2024040500 3600 600 1209600 60",
pitr.test.,3600,NS,"ns1.stackit.cloud.",
pitr.test.,3600,NS,"ns2.stackit.zone.",
a,3600,A,"1.2.3.5",this is a comment
a,3600,A,"1.2.3.4",this is a comment
txt,3600,TXT,"recover me",

Sobald Sie über eine gültige Sicherung verfügen (in einem beliebigem Format), können Sie eine Zone über den Import-Endpunkt der API wiederherstellen.

Terminal-Fenster
curl --location --request POST '[https://dns.api.stackit.cloud/v1/projects/](https://dns.api.stackit.cloud/v1/projects/)[projectId]/zones/[zoneId]/import?format=[format]&importType=[import-type]' --header '
[backup-file-as-ascii]
' | jq.

Beispiel:

Terminal-Fenster
curl --location --request POST '[https://dns.api.stackit.cloud/v1/projects/44f6bfca-8ab2-4625-a705-ed70f955f41e/zones/b33cb1df-7f63-4bd5-94ca-1c9ad5bc896c/import?format=csv&importType=restore](https://dns.api.stackit.cloud/v1/projects/44f6bfca-8ab2-4625-a705-ed70f955f41e/zones/b33cb1df-7f63-4bd5-94ca-1c9ad5bc896c/import?format=csv&importType=restore)' --header '
pitr.test.,3600,SOA,"ns1.stackit.cloud. hostmaster.stackit.cloud. 2024040500 3600 600 1209600 60",
pitr.test.,3600,NS,"ns1.stackit.cloud.",
pitr.test.,3600,NS,"ns2.stackit.zone.",
a,3600,A,"1.2.3.5",this is a comment
a,3600,A,"1.2.3.4",this is a comment
txt,3600,TXT,"recover me",
' | jq.