Die Migration einer bestehenden Zone von der DNS Console in die Hetzner Console muss manuell ausgelöst werden, existierende Zonen werden nicht automatisch migriert. Die Migration ist ein einmaliger Vorgang, der nicht rückgängig gemacht werden kann! Sie können die Migration entweder über die DNS Console oder die DNS API starten.
Es gibt keine Ausfallzeit der DNS-Auflösung während der Migration.
Die DNS-Auflösung funktioniert auch während der Migration und es kommt zu keinen Ausfällen. Die Einstellungen innerhalb einer Zone werden mit der Migration nicht verändert. Es kann jedoch vorkommen, dass Sie eine Zone vor der Migration manuell anpassen müssen, um den neuen Anforderungen zu entsprechen.
Beachten Sie, dass Hetzner DNS eine neue API verwendet, die in die Cloud API integriert ist. Hetzner bietet mehrere offizielle Integrationen, wie hcloud CLI, hcloud-go, hcloud-python, Terraform, Ansible, external-dns und cert-manager.
Die DNS API kann nach der Migration nicht mehr für die Zone verwendet werden. Falls Sie Integrationen von Dritten nutzen, stellen Sie bitte zuerst sicher, dass diese die neue Cloud API unterstützen.
Anforderungen
-
Korrekte autoritative Nameserver
In den Apex-(
@
)NS
-Records der Zone müssen die korrekten autoritativen Nameserver angegeben werden.Diese können eines der folgenden Sets sein:
Set 1 Set 2 Set 3 hydrogen.ns.hetzner.com.
oxygen.ns.hetzner.com.
helium.ns.hetzner.de.
ns1.first-ns.de.
robotns2.second-ns.de.
robotns3.second-ns.com.
ns1.your-server.de.
ns.second-ns.com.
ns3.second-ns.de.
Unter dem Tab "Name server" innerhalb der DNS Console ist das korrekte Nameserver-Set für Ihre Zone gelistet.
Innerhalb einer Zone dürfen nicht Nameserver aus unterschiedlichen Sets angegeben werden. Dies bringt keinen Vorteil und eine Migration ist in diesem Fall nicht möglich. Alle drei Nameserver, die Ihrer Zone zugewiesen sind, müssen als
NS
-Records vorhanden sein. Es reicht nicht, nur einen oder zwei anzugeben.Wenn Sie eine Multi-Provider-DNS-Konfiguration besitzen, darf die Zone zusätzlich externe (nicht-Hetzner) Nameserver enthalten.
-
Gleiche TTLs für Records mit gleichem Namen und Typ
Alle Records mit gleichem Typ und Namen müssen denselben TTL-Wert besitzen. Ein häufiger Fehler ist beispielsweise, dass
TXT
- oderMX
-Records mit unterschiedlichen TTLs konfiguriert sind:; Name TTL Typ Wert ; Falsch: @ 3600 IN MX 10 mx1.example.com. @ 7200 IN MX 20 mx2.example.com. ; Muss ebenfalls 3600 sein. ; Richtig: @ 3600 IN MX 10 mx1.example.com. @ 3600 IN MX 20 mx2.example.com.
Migration via DNS Console
Stellen Sie sicher, dass Ihre Zone die Anforderungen erfüllt.
- Navigieren Sie in der DNS Console zu Ihrer Zone.
- Öffnen Sie den Settings-Tab.
- Klicken Sie auf Migrate to Hetzner Console, woraufhin sich ein Dialog öffnet.
- Geben Sie den Zonennamen in das Eingabefeld ein, um die Migration zu bestätigen.
- Klicken Sie auf Migrate zone.
- Klicken Sie nach erfolgreicher Migration auf Go to Hetzner Console.
In der Hetzner Console erscheint ein Projekt namens DNS Migrated. Der DNS-Tab zeigt Ihre Zone an. Wenn gewünscht, kann die Zone in ein anderes Projekt verschoben werden.
Bei Validierungs-Problemen beachten Sie bitte Häufige Migrationsfehler und wie man sie behebt. Für nicht aufgeführte Probleme kontaktieren Sie bitte unseren Support.
Migration via DNS API
Falls Sie noch keinen API-Token haben, erstellen Sie einen auf der Account-Seite innerhalb der DNS Console.
Stellen Sie sicher, dass Ihre Zone die Anforderungen erfüllt.
- Navigieren Sie in der DNS Console zu Ihrer Zone.
- Kopieren Sie die ID Ihrer Zone aus der Browser-URL.
Wenn die URL beispielsweise
https://dns.hetzner.com/zone/DDDF8sdogJGmb4cSRA4hqU
lautet, ist Ihre Zonen-IDDDDF8sdogJGmb4cSRA4hqU
. - Senden Sie eine HTTP-Anfrage an die DNS API, zum Beispiel mit
curl
:Eine erfolgreiche Migration gibt den HTTP-Codecurl -X POST 'https://dns.hetzner.com/api/v1/migration/<Zonen-ID>' \ # Ihre ID einfügen, z. B. DDDF8sdogJGmb4cSRA4hqU -H 'Auth-API-Token: <API-Token>' \ # Ihren API-Token einfügen -d '{"no_dry_run": true}'
200
und einen leeren Response-Body ({}
) zurück. Die vollständige Dokumentation des Migrationsendpunkts finden Sie in den DNS API Docs.
In der Hetzner Console erscheint ein Projekt namens DNS Migrated. Der DNS-Tab zeigt Ihre Zone an. Wenn gewünscht, können Sie die Zone in ein anderes Projekt verschieben.
Bei Validierungs-Problemen beachten Sie bitte Häufige Migrationsfehler und wie man sie behebt. Für nicht aufgeführte Probleme kontaktieren Sie bitte unseren Support.
Häufige Migrationsfehler und wie man sie behebt
Zone has missing or invalid nameserver sets
API-Antwort:
{
"error": {
"message": "Zone has missing or invalid nameserver sets",
"code": 400,
},
}
Dieser Validierungsfehler tritt auf, wenn Ihre Zone nicht die korrekten NS
-Records enthält, wie in Anforderungen: Korrekte autoritative Nameserver beschrieben.
Ein häufiger Fehler ist, dass ein zugewiesener Nameserver fehlt, oder dass Nameserver aus unterschiedlichen Sets gemischt werden.
Zum Beispiel fehlt in dieser Zone der dritte zugewiesene Nameserver robotns3.second-ns.com.
:
Um dies zu beheben, fügen Sie den fehlenden Nameserver als NS
-Record hinzu.
In einem anderen Beispiel mischt diese Zone unterschiedliche Nameserver-Sets und enthält NS
-Records von nicht zugewiesenen Nameservern:
Um dies zu beheben, entfernen Sie alle NS
-Records, die Nameserver enthalten, die der Zone nicht zugewiesen sind.
Invalid delegation of parent zone
API-Antwort:
{
"error": {
"message": "Invalid delegation of parent zone",
"code": 400,
},
}
Dieser Validierungsfehler tritt auf, wenn Ihre Domain nicht korrekt konfiguriert ist, um die Nameserver von Hetzner zu verwenden. Bitte stellen Sie sicher, dass in den Domaineinstellungen bei Ihrem Registrar (also dort, wo Sie die Domain gekauft haben) exakt die gleichen Nameserver eingetragen sind, wie die von Hetzner, die Ihrer Zone zugewiesen wurden (siehe Anforderungen: Korrekte autoritative Nameserver).
Wenn Ihrer Zone beispielsweise die Nameserver hydrogen.ns.hetzner.com.
, oxygen.ns.hetzner.com.
und helium.ns.hetzner.de.
zugewiesen wurden, dann müssen genau diese in den Einstellungen Ihres Domain-Registrars als Nameserver eingetragen sein.
Bitte tragen Sie keine anderen Hetzner-Nameserver ein.
Nachdem Sie die Konfiguration korrigiert haben, kann es einige Minuten bis Stunden dauern, bis Ihre Änderungen im DNS verbreitet sind.
Bitte versuchen Sie die Migration anschließend erneut.
Ihre Domain darf zusätzliche, externe (nicht von Hetzner stammende) Nameserver verwenden, wenn Sie eine Multi-Provider-DNS-Konfiguration betreiben — dies verhindert eine Migration nicht.
Zone is incorrectly delegated (lame delegation)
API-Antwort:
{
"error": {
"message": "Zone is incorrectly delegated (lame delegation)",
"code": 400,
},
}
Die Domain wird auf Nameserver delegiert, welche die Zone nicht kennen oder mit einem Fehler antworten. Die Zone wird daher nicht verwendet und kann somit aus der DNS Console gelöscht werden.
Wenn Sie Ihre Zone direkt nach der Domainregistrierung in die Hetzner Console migrieren möchten, warten Sie zuvor bitte ein paar Stunden oder löschen Sie die Zone in der DNS Console und erstellen Sie die Zone anschließend direkt in der Hetzner Console.
Domain is not registered
API-Antwort:
{
"error": {
"message": "Domain is not registered",
"code": 400,
},
}
Die Domain ist bei keinem Registrar registriert und wird daher nicht verwendet. Sie kann sicher aus der DNS Console gelöscht werden.
Wenn Sie Ihre Zone direkt nach der Domainregistrierung in die Hetzner Console migrieren möchten, warten Sie zuvor bitte ein paar Stunden oder löschen Sie die Zone in der DNS Console und erstellen Sie die Zone anschließend direkt in der Hetzner Console.
TXT records must be fully escaped with double quotes
API-Antwort:
{
"error": {
"message": "Request invalid",
"code": 400,
"migration_errors": {
"zonefile.records[0].value": [
"TXT records must be fully escaped with double quotes",
],
},
},
}
TXT-Records müssen vollständig mit doppelten Anführungszeichen versehen sein. Wenn Ihr TXT-Record aus mehreren Zeichenketten besteht, stellen Sie sicher, dass jede vollständig in Anführungszeichen steht:
Wenn nötig, können doppelte Anführungszeichen selbst mit einem Backslash escaped werden: "\"escaped quotes\""
Differing record TTLs
API-Antwort:
{
"error": {
"message": "Request invalid",
"code": 400,
"migration_errors": {
"zonefile.ttl": [
"(@, MX) has differing record TTLs",
],
},
},
}
Records mit gleichem Namen und Typ müssen denselben TTL-Wert haben, wie in Anforderungen: Gleiche TTLs für Records mit gleichem Namen und Typ beschrieben.
Zum Beispiel haben diese beiden MX
-Records unterschiedliche TTLs:
Um dies zu beheben, stellen Sie sicher, dass alle Records mit gleichem Namen und Typ denselben TTL-Wert haben.
TTL must be at least 60s
API-Antwort:
{
"error": {
"message": "Request invalid",
"code": 400,
"migration_errors": {
"zonefile.ttl": [
"must be at least 60s",
],
},
},
}
Alle TTL-Werte müssen mindestens 60 Sekunden betragen.
Zum Beispiel ist der TTL-Wert des folgenden A
-Records zu niedrig:
Um dies zu beheben, stellen Sie sicher, dass alle Records in Ihrer Zone eine TTL von mindestens 60 haben — insbesondere keinen Wert von 0.
Duplicate value
API-Antwort:
{
"error": {
"message": "Request invalid",
"code": 400,
"migration_errors": {
"zonefile.records[0].value": [
"duplicate value '"example"'",
],
},
},
}
Stellen Sie sicher, dass Ihre Zone keine Records mit gleichem Namen, Typ und Wert enthält.
Ein häufiger Fehler ist das Vorhandensein doppelter TXT
-Records mit identischem Inhalt.
Sie können in diesem Fall einen der doppelten Records löschen.
Record name has uppercase letters
API-Antwort:
{
"error": {
"message": "Request invalid",
"code": 400,
"migration_errors": {
"zonefile.records[0].name": [
"has uppercase characters",
],
},
},
}
Dieser Validierungsfehler tritt auf, wenn ein Record-Name Großbuchstaben enthält.
Zum Beispiel wurde dieser A
-Record mit dem Namen WWW
erstellt, was nicht zulässig ist:
Um dies zu beheben, wandeln Sie alle Record-Namen in Kleinbuchstaben um.
Zone limit exceeded
API-Antwort:
{
"error": {
"message": "Zone limit exceeded",
"code": 400,
},
}
Ihre Hetzner Console enthält bereits die maximal zulässige Anzahl an Zonen (Default-Limit: 25). Bitte kontaktieren Sie unseren Support zur Erhöhung des Limits.
Records per zone limit exceeded
API-Antwort:
{
"error": {
"message": "Records per zone limit exceeded",
"code": 400,
},
}
Ihre Zone enthält zu viele Records und überschreitet das "Hetzner Console"-Limit (Default-Limit: 500). Bitte kontaktieren Sie unseren Support zur Erhöhung des Limits.
Project limit reached
API-Antwort:
{
"error": {
"message": "Project limit reached",
"code": 400,
},
}
Ihr Account hat das Projektlimit erreicht, das Projekt DNS Migrated kann nicht erstellt werden. Bitte kontaktieren Sie unseren Support zur Erhöhung des Limits.