Eine Zone in STACKIT DNS importieren
Die Funktion zum Importieren von Zonen ermöglicht es Ihnen, DNS-Zonendateien oder Listen von Einträgen in das DNS-System zu importieren. Dies ist nützlich, wenn Sie:
- Ihre DNS-Einträge von einem anderen Anbieter migrieren möchten
- eine große Anzahl von Einträgen hinzufügen müssen
- eine aktuelle Zone speichern und die Point-in-Time-Wiederherstellung nutzen möchten
- Einträge per Massen-Update aktualisieren möchten
- Einträge per Massen-Löschung entfernen möchten
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Sie verfügen über eine STACKIT DNS-Zone: Verwalten von DNS-Zonen
- Sie verfügen über eine gültige DNS-Zonendatei (Inhalt der gewünschten DNS-Zone oder eine Liste von Einträgen in den Formaten CSV, JSON oder BIND).
Import-Typen
Abschnitt betitelt „Import-Typen“Restore
Abschnitt betitelt „Restore“Restore setzt die gesamte Zone auf den Stand der Eingabe zurück (mit Ausnahme des SOA-Eintrags). Jeder einzelne Eintrag, der nicht in der Eingabe enthalten ist, wird gelöscht. Nur Einträge und Sätze an Ressourceneinträgen aus der Eingabe bleiben bestehen oder werden neu erstellt.
Update aktualisiert Sätze an Ressourceneinträgen auf additive Weise. In der Eingabe vorhandene Einträge werden erstellt, sofern ein passender Satz an Ressourceneinträgen existiert. Bestehende Einträge und Sätze an Ressourceneinträgen, die in der Eingabe nicht erwähnt werden, werden nicht gelöscht. Zudem können die TTL und der Kommentar im RRSet aktualisiert werden.
Delete löscht alle Einträge aus der Eingabe, die in Typ, Inhalt und Name mit Records innerhalb der Zone übereinstimmen. Es werden keine neuen Records erstellt und nicht übereinstimmende Records werden ignoriert.
Upsert aktualisiert und erstellt Records sowie Sätze an Ressourceneinträgen auf konstruktive Weise. Records werden in einem passenden Satz an Ressourceneinträgen erstellt. Nicht passende Records werden in neue Sätze an Ressourceneinträgen umgewandelt. Es wird nichts gelöscht, aber die TTL und der Kommentar können geändert werden.
Import-Formate
Abschnitt betitelt „Import-Formate“Alle zulässigen Import-Formate sind mit dem jeweiligen Export-Format kompatibel.
Das CSV-Format benötigt 5 Felder, wobei der Kommentar leer bleiben kann; ähnlich wie beim BIND-Format sind alle Records einzeln aufgeführt. Die Kopfzeile ist optional.
name,ttl,type,content,commentexamplezone.test.,3600,SOA,"ns1.stackit.cloud. hostmaster.stackit.cloud. 2024040500 3600 600 1209600 60",examplezone.test.,3600,NS,"ns1.stackit.cloud.",examplezone.test.,3600,NS,"ns2.stackit.zone.",a.examplezone.test.,500,A,"1.2.3.4",commentb,3600,A,"2.3.4.5",Im JSON-Format müssen Einträge zu ihren jeweiligen Sätze an Ressourceneinträgen gruppiert werden.
{ "rrSets": [ { "name": "examplezone.test.", "type": "SOA", "ttl": 3600, "comment": "", "content": [ "ns1.stackit.cloud. hostmaster.stackit.cloud. 2024040500 3600 600 1209600 60" ] }, { "name": "examplezone.test.", "type": "NS", "ttl": 3600, "comment": "", "content": [ "ns1.stackit.cloud.", "ns2.stackit.zone." ] }, { "name": "b.", "type": "A", "ttl": 3600, "comment": "", "content": [ "2.3.4.5" ] }, { "name": "a.examplezone.test.", "type": "A", "ttl": 500, "comment": "comment", "content": [ "1.2.3.4" ] } ]}Das BIND-Format erfordert eine Zeile für jeden Record, die dann zu Sätze an Ressourceneinträgen gruppiert werden. Der Kommentar ist optional.
examplezone.test. 3600 SOA ns1.stackit.cloud. hostmaster.stackit.cloud. 2024040500 3600 600 1209600 60examplezone.test. 3600 NS ns1.stackit.cloud.examplezone.test. 3600 NS ns2.stackit.zone.b 3600 A 2.3.4.5a.examplezone.test. 500 A 1.2.3.4 ; commentDurchführen des Imports
Abschnitt betitelt „Durchführen des Imports“Es gibt zwei Möglichkeiten, wie Sie eine Zone in STACKIT DNS importieren können. Sowohl das Verwenden der API (im Beispiel via Postman) als auch die Nutzung des Portals führen zum gleichen Ergebnis.
Das Portal ermöglicht es Ihnen, eine Zone entweder über die Direkteingabe (Raw Input) in einem kleinen Web-Editor zu importieren oder eine Zonendatei hochzuladen. Beide Möglichkeiten unterstützen alle Import-Typen sowie alle Zonenformate und sind vollständig mit dem Zonenexport kompatibel.
Records per Direkteingabe importieren
Abschnitt betitelt „Records per Direkteingabe importieren“Mit der Funktion Einträge als Rohdaten importieren können Sie mehrere Records oder den Inhalt einer Zonendatei einfügen.
- Öffnen Sie Ihr Projekt im STACKIT Portal.
- Navigieren Sie zu Networks > DNS.
- Klicken Sie auf Resource-Records und im Dropdown-Menü neben Ressourceneintrag erstellen auf Einträge als Rohdaten importieren.
- Wählen Sie im Bereich das Format sowie den Import-Typ aus und fügen Sie die eigentlichen Zonendaten ein.
- Klicken Sie zum Abschluss auf Importieren.
Records per Datei importieren
Abschnitt betitelt „Records per Datei importieren“Die Funktion “Eintrag-Datei importieren” ist besonders nützlich für die Migration oder die Wiederherstellung einer zuvor gesicherten Zone. Sie ermöglicht es Ihnen, eine vollständige Zonendatei hochzuladen.
- Öffnen Sie Ihr Projekt im STACKIT Portal.
- Navigieren Sie zu Networks > DNS.
- Klicken Sie auf Resource-Record und im Dropdown-Menü neben Ressourceneintrag erstellen auf Eintrag-Datei importieren.
- Wählen Sie im Bereich das Format sowie den Import-Typ aus und wählen Sie eine Datei auf Ihrem lokalen Computer aus.
- Klicken Sie auf Weiter.
- Überprüfen Sie, ob alle Angaben korrekt sind, und klicken Sie dann zum Abschluss auf Importieren.
Bei der Nutzung des Zonenimports via API ist es wichtig, sowohl das Format der Zone als auch den Typ des Imports in den Query-Parametern des URI anzugeben.
| Parameter | Beschreibung | Beispiel |
|---|---|---|
| auth-token | Das Authentifizierungstoken für Ihren Client | eynsdhf89… |
| projectId | Legt fest, wie oft täglich eine Sicherung erstellt wird | 23142134-21… |
| zoneId | Legt fest, wie oft täglich eine Sicherung erstellt wird | 4389782-43… |
| format | Das Format der Backup-Datei | csv |
| import-type | Der Typ der Import-Operation | restore |
| backup-file-as-ascii | Der Inhalt der Backup-Datei als ASCII | pitr.test.,3600,SOA,“ns1.stackit.clo… |
| zone-file | Dateiname der zu importierenden Zonendatei | zone.file |
Senden eines Raw Bodys
Abschnitt betitelt „Senden eines Raw Bodys“Das Senden eines Raw Bodys ermöglicht die beste Kontrolle und Übersicht über den Zonenimport, ohne das Portal nutzen zu müssen.
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]' \[backup-file-as-ascii]' | jq.Senden einer Binärdatei
Abschnitt betitelt „Senden einer Binärdatei“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]' \--data-binary "@[zone-file]"' | jq.Obwohl Postman es als Binärdatei bezeichnet, funktioniert es auch mit Textdateien wie BIND, CSV oder JSON. Der Dateiupload ist besonders hilfreich, wenn mit gesicherten Dateien gearbeitet wird.