Eine Domain kann viel mehr als eine Website. Sie können app.midominio.com auf einer Maschine haben, intranet.midominio.com auf einer anderen und clientes.midominio.com bei einem externen Dienst, ohne etwas dazuzukaufen: Das sind Subdomains, und in Route 53 ist jede eine Zeile. Und dann ist da die ewige Frage nach www: dass beide Schreibweisen Ihrer Domain zur selben Website führen. Diese Anleitung löst beides und räumt ein häufiges Missverständnis aus: Das DNS sagt, wohin jeder Name geht, aber es macht keine Weiterleitungen; das macht der Server.
Bevor Sie anfangen: was die Begriffe bedeuten
- Domain und Subdomain
- midominio.com ist die Domain; alles, was durch einen Punkt getrennt davor steht (app.midominio.com), ist eine Subdomain. Sie werden im DNS angelegt, nicht gekauft.
- Route 53 und gehostete Zone
- Das DNS von Amazon und die „Akte“ Ihrer Domain darin, mit allen ihren Einträgen.
- A-Eintrag
- Ein Name zeigt auf eine IP-Adresse. Das verwendet man für eine eigene Maschine.
- CNAME-Eintrag
- Ein Name zeigt auf einen anderen Namen. Wird für externe Dienste verwendet („clientes.midominio.com geht zu irgendwas.anbieter.com“). Lässt sich nicht auf der Wurzel der Domain setzen.
- Alias-Eintrag
- Eine Erfindung von Route 53, die wie ein CNAME funktioniert, aber auch auf der Wurzel, um auf AWS-Dienste zu zeigen (CloudFront, Load Balancer, Buckets).
- Wildcard (*)
- Ein Eintrag *.midominio.com antwortet für jede Subdomain, die keinen eigenen Eintrag hat.
- Weiterleitung
- Dass der Browser beim Öffnen einer Adresse auf einer anderen landet. Das macht der Webserver (oder ein Dienst), nicht das DNS.
- TTL
- Sekunden, die andere sich die Antwort merken dürfen. Niedrig, solange Sie etwas ändern, hoch, wenn alles stabil ist.
Schritt für Schritt
Öffnen Sie die Zone Ihrer Domain
Route 53-Konsole, Gehostete Zonen, klicken Sie auf Ihre Domain. Sie sehen die Einträge, die sie schon hat: den A der Wurzel, vielleicht den von www, die MX der E-Mail. Jede neue Subdomain wird ein weiterer Eintrag in dieser Liste.
Legen Sie eine Subdomain zu einer eigenen Maschine an
Datensatz erstellen. Name: nur der vordere Teil (
app; Route 53 ergänzt die Domain). Typ A. Wert: die feste IP der Maschine. TTL 300. Erstellen. In wenigen Minuten erreichtapp.midominio.comdiese Maschine; der Webserver der Maschine muss wissen, dass er auf diesen Namen antworten soll (ein „Virtual Host“ oder „Server Block“), sonst zeigt er die Standard-Website.Legen Sie eine Subdomain zu einem externen Dienst an
Ihr Anbieter für Helpdesk, Shop oder Newsletter sagt Ihnen so etwas wie „legen Sie einen CNAME von
clientesaufmidominio.proveedor.coman“. Genau das: Datensatz erstellen, Nameclientes, Typ CNAME, Wert der Name, den man Ihnen gegeben hat (ohne http:// und ohne Schrägstrich am Ende). Wenn der Anbieter ein AWS-Dienst ist (CloudFront, ein Load Balancer), verwenden Sie Typ A mit aktiviertem Kästchen Alias und wählen ihn in der Auswahlliste.Entscheiden Sie, was mit www passieren soll
Zuerst müssen beide Namen Ihren Server erreichen: die Wurzel mit einem A-Eintrag auf die IP und
wwwmit einem weiteren A auf dieselbe IP (oder einem CNAME aufmidominio.com). Bis hierher das DNS. Zweitens wählen Sie, welcher der „offizielle“ Name ist (heute meist ohne www), und lassen den anderen dorthin weiterleiten, damit Google nicht zwei gleiche Websites sieht und das Schloss auf beiden funktioniert.Richten Sie die Weiterleitung auf dem Server ein
Das geschieht nicht in Route 53. Auf der Maschine muss der Webserver auf
www.midominio.commit einer permanenten Weiterleitung (Code 301) aufmidominio.comantworten. In Apache, im Block der Website:RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.midominio\.com$ [NC] RewriteRule ^(.*)$ https://midominio.com/$1 [R=301,L]In Nginx ist es ein
server-Block für www mit einemreturn 301. Wenn Sie die Bitnami-Vorlagen von Lightsail verwenden, fragt das Toolbncert-toolgenau danach, wenn Sie das Zertifikat einrichten, und konfiguriert es für Sie. Das HTTPS-Zertifikat muss beide Namen abdecken.Prüfen und TTL erhöhen
Öffnen Sie die vier Kombinationen (mit und ohne www, mit http und https): Alle müssen auf
https://midominio.commit Schloss enden. Öffnen Sie die neue Subdomain. Wenn alles ein paar Tage stabil läuft, erhöhen Sie die TTL der Einträge auf 3600 oder mehr: weniger Abfragen und schnellere Antworten.
Was schiefgehen kann
Route 53 lässt mich keinen CNAME auf der Wurzel anlegen
Das ist eine Regel des DNS. Verwenden Sie auf der Wurzel einen A-Eintrag mit der IP oder einen Alias, wenn das Ziel ein AWS-Dienst ist. Wenn das Ziel ein externer Dienst ist, der Ihnen nur einen Namen gibt, fragen Sie, ob er eine feste IP hat, oder setzen Sie CloudFront davor.
Die Subdomain wird aufgelöst, zeigt aber eine andere Website
Das DNS hat seinen Teil getan; der Server weiß nicht, dass dieser Name ihm gehört, und zeigt die Standard-Website. Fügen Sie den Namen dem Virtual Host (Apache) oder Server Block (Nginx) der passenden Website hinzu.
Ich möchte eine Subdomain pro Kunde, ohne die Einträge einzeln anzulegen
Legen Sie einen Wildcard-Eintrag an: Name *, Typ A, IP der Maschine. Jedes loquesea.midominio.com kommt dort an, und Ihre Anwendung entscheidet je nach Name, was sie anzeigt. Konkrete Einträge, die Sie separat anlegen, haben Vorrang vor dem Wildcard.
Ich habe einen Eintrag geändert und es ist nichts zu merken
TTL. Die Server dazwischen merken sich die alte Antwort, bis sie abläuft. Senken Sie die TTL einige Tage vor einer geplanten Änderung; wenn sie schon gemacht ist, bleibt nur warten.
In Simplio
In Simplio ist jede Route 53-Domain eine Karte, in der die Einträge in normaler Sprache zu lesen sind, und eine Subdomain anzulegen heißt, den Namen und die Zielmaschine aus einer Liste zu wählen: Die IP trägt Simplio ein. Einträge für externe Dienste werden in einer Zeile mit Hilfe je nach Typ hinzugefügt, einen bestehenden zu ersetzen verlangt eine Bestätigung und einen zu entfernen den zweiten Faktor. Und im Aktivitätsprotokoll bleibt festgehalten, wer was geändert hat.
Dasselbe, in AWS und in Simplio
| In der AWS-Konsole | In Simplio | |
|---|---|---|
| Eine Subdomain anlegen | Route 53, Datensatz erstellen, Typ aus 12 Optionen wählen, TTL | Zeile „app → diese Maschine“ in der Karte der Domain, die IP ist schon eingetragen |
| Wissen, wohin jeder Name zeigt | Die Tabelle der technischen Einträge lesen | Liste in normaler Sprache: „die Website geht zur Maschine X, die E-Mail empfängt Y“ |
| Etwas kaputt machen | Jeder mit Zugang kann einen Eintrag löschen | Einen Eintrag entfernen verlangt den zweiten Faktor; NS und SOA sind geschützt |