Ich versuche, die Weiterleitung in Amazon Route53 einzurichten. Mit meinem letzten DNS-Dienst (Nettica) konnte ich Anfragen an "aws.example.com" an "https://myaccount.signin.aws.amazon.com/console/" weiterleiten.
Wird diese Funktionalität von Route53 unterstützt?
Wie erreicht Nettica das? Fügt es einen speziellen A-, CNAME-, PTR- oder TXT-Datensatz ein?
dns
forwarding
amazon-route53
Saurav
quelle
quelle
Antworten:
Ich hatte genau das gleiche Problem wie Saurav, aber ich musste wirklich eine Lösung finden, die nichts anderes als Route 53 und S3 erforderte. Ich habe eine Anleitung für meinen Blog erstellt, in der genau beschrieben wird, was ich getan habe.
Folgendes habe ich mir ausgedacht.
Zielsetzung
Erstellen Sie mit nur den in Amazon S3 und Amazon Route 53 verfügbaren Tools eine URL-Umleitung, die http://url-redirect-example.vivekmchawla.com automatisch an die AWS Console-Anmeldeseite mit dem Alias "MyAccount" unter https weiterleitet : //myaccount.signin.aws.amazon.com/console/ .
In diesem Handbuch erfahren Sie, wie Sie die URL-Weiterleitung an eine beliebige URL einrichten, nicht nur an eine von Amazon. Sie erfahren, wie Sie die Weiterleitung an bestimmte Ordner einrichten (z. B. "/ console" in meinem Beispiel) und das Protokoll der Umleitung von HTTP zu HTTPS ändern (oder umgekehrt).
Erster Schritt: Erstellen Sie Ihren S3-Bucket
Öffnen Sie die S3-Verwaltungskonsole und klicken Sie auf "Bucket erstellen".
Schritt zwei: Benennen Sie Ihren S3-Eimer
Wählen Sie einen Bucket-Namen. Dieser Schritt ist wirklich wichtig! Sie müssen den Bucket genau so benennen wie die URL, die Sie für die Weiterleitung einrichten möchten. In diesem Handbuch verwende ich den Namen "url-redirect-example.vivekmchawla.com".
Wählen Sie die Region aus, die für Sie am besten geeignet ist. Wenn Sie es nicht wissen, behalten Sie die Standardeinstellung bei.
Machen Sie sich keine Sorgen über das Einrichten der Protokollierung. Klicken Sie einfach auf die Schaltfläche "Erstellen", wenn Sie bereit sind.
Schritt 3: Aktivieren Sie das statische Website-Hosting und geben Sie Routing-Regeln an
Fügen Sie das folgende XML-Snippet vollständig ein.
Wenn Sie neugierig sind, was das obige XML tut, besuchen Sie die AWM-Dokumentation für "Syntax zum Festlegen von Routing-Regeln" . Eine Bonus-Technik (hier nicht behandelt) ist beispielsweise die Weiterleitung an bestimmte Seiten des Zielhosts
http://redirect-destination.com/console/special-page.html
. Lesen Sie mehr über das<ReplaceKeyWith>
Element, wenn Sie diese Funktionalität benötigen.Schritt 4: Notieren Sie sich den "Endpunkt" Ihres Redirect Bucket.
Notieren Sie sich den "Endpunkt" des statischen Website-Hostings, den Amazon automatisch für diesen Bucket erstellt hat. Sie benötigen dies für später. Markieren Sie daher die gesamte URL, kopieren Sie sie und fügen Sie sie in den Editor ein.
VORSICHT! An dieser Stelle können Sie tatsächlich auf diesen Link klicken, um zu überprüfen, ob Ihre Umleitungsregeln korrekt eingegeben wurden. Seien Sie jedoch vorsichtig! Hier ist der Grund...
Angenommen, Sie haben in den
<Hostname>
Tags in Ihren Umleitungsregeln den falschen Wert eingegeben . Vielleicht haben Sie versehentlich getipptmyaccount.amazon.com
, anstattmyaccount.signin.aws.amazon.com
. Wenn Sie auf den Link klicken, um die Endpunkt-URL zu testen, leitet AWS Ihren Browser gerne an die falsche Adresse weiter!Nachdem Sie Ihren Fehler bemerkt haben, werden Sie wahrscheinlich die
<Hostname>
in Ihren Umleitungsregeln bearbeiten , um den Fehler zu beheben. Wenn Sie erneut versuchen, auf den Link zu klicken, werden Sie höchstwahrscheinlich wieder an die falsche Adresse weitergeleitet! Obwohl Sie den<Hostname>
Eintrag korrigiert haben, speichert Ihr Browser den vorherigen (falschen!) Eintrag zwischen. Dies liegt daran, dass wir eine (permanente) HTTP 301-Umleitung verwenden, die Browser wie Chrome und Firefox standardmäßig zwischenspeichern.Wenn Sie die Endpunkt-URL kopieren und in einen anderen Browser einfügen (oder den Cache in Ihrem aktuellen löschen), erhalten Sie erneut die Möglichkeit, festzustellen, ob Ihr aktualisierter
<Hostname>
Eintrag endgültig der richtige ist.Wenn Sie Ihre Endpoint-URL und Umleitungsregeln testen möchten, sollten Sie aus Sicherheitsgründen eine private Browsersitzung wie "Inkognito-Modus" in Chrome öffnen. Kopieren, Einfügen und Testen der Endpunkt-URL im Inkognito-Modus. Alle zwischengespeicherten Daten werden gelöscht, sobald Sie die Sitzung schließen.
Schritt 5: Öffnen Sie die Route53-Verwaltungskonsole und wechseln Sie zu den Datensatzgruppen für Ihre gehostete Zone (Domänenname).
Schritt 6: Klicken Sie auf die Schaltfläche "Datensatz erstellen"
Durch Klicken auf "Datensatzsatz erstellen" wird das Fenster "Datensatzsatz erstellen" auf der rechten Seite der Route53-Verwaltungskonsole geöffnet.
Schritt 7: Erstellen Sie einen CNAME-Datensatz
Geben Sie im Feld Name den Hostnamen-Teil der URL ein, den Sie beim Benennen Ihres S3-Buckets verwendet haben. Der "Hostname-Teil" der URL ist alles links vom Namen Ihrer Hosted Zone. Ich habe meinen S3-Bucket "url-redirect-example.vivekmchawla.com" genannt und meine gehostete Zone ist "vivekmchawla.com". Der Hostnamen-Teil, den ich eingeben muss, ist "url-redirect-example".
Wählen Sie als Typ dieses Datensatzes "CNAME - Canonical name".
Fügen Sie für den Wert die Endpunkt-URL des S3-Buckets ein, den wir in Schritt 3 erstellt haben.
Klicken Sie auf die Schaltfläche "Datensatz erstellen". Angenommen, es liegen keine Fehler vor, können Sie jetzt einen neuen CNAME-Datensatz in der Liste der Datensatzsätze Ihrer gehosteten Zone anzeigen.
Schritt 8: Testen Sie Ihre neue URL-Umleitung
Öffnen Sie eine neue Browser-Registerkarte und geben Sie die gerade eingerichtete URL ein. Für mich ist das http://url-redirect-example.vivekmchawla.com . Wenn alles richtig funktioniert hat, sollten Sie direkt zu einer AWS-Anmeldeseite weitergeleitet werden.
Da wir den
myaccount.signin.aws.amazon.com
Alias als Ziel-URL für unsere Weiterleitung verwendet haben, weiß Amazon genau, auf welches Konto wir zugreifen möchten, und führt uns direkt dorthin. Dies kann sehr praktisch sein, wenn Sie Mitarbeitern oder Auftragnehmern einen kurzen, sauberen AWS-Anmeldelink mit Markenzeichen geben möchten.Schlussfolgerungen
Ich persönlich liebe die verschiedenen AWS-Dienste, aber wenn Sie sich entschieden haben, die DNS-Verwaltung auf Amazon Route 53 zu migrieren, kann das Fehlen einer einfachen URL-Weiterleitung frustrierend sein. Ich hoffe, dieser Leitfaden hat dazu beigetragen, die Einrichtung der URL-Weiterleitung für Ihre gehosteten Zonen etwas zu vereinfachen.
Wenn Sie mehr erfahren möchten, besuchen Sie bitte die folgenden Seiten der AWS-Dokumentationssite.
Prost!
quelle
Die AWS-Unterstützung wies auf eine einfachere Lösung hin. Es ist im Grunde die gleiche Idee, die von @Vivek M. Chawla vorgeschlagen wurde, mit einer einfacheren Implementierung.
AWS S3:
aws.example.com
Redirect all requests to another host name
Ihre URL aus und geben Sie sie ein:https://myaccount.signin.aws.amazon.com/console/
AWS Route53:
Yes
. Klicken Sie auf dasAlias Target
Feld und wählen Sie den S3-Bucket aus, den Sie im vorherigen Schritt erstellt haben.Referenz: So leiten Sie Domains mithilfe von Amazon Web Services um
Offizielle AWS-Dokumentation: Gibt es eine Möglichkeit, eine Domain mithilfe von Amazon Route 53 auf eine andere Domain umzuleiten?
quelle
Redirect all requests to another host name
Option noch? Ich kann es nicht sehen, wenn ich zu Bucket-Eigenschaften gehe.Ich konnte Nginx verwenden, um die 301-Weiterleitung zur aws-Anmeldeseite zu handhaben.
Gehen Sie zu Ihrem nginx conf-Ordner (in meinem Fall
/etc/nginx/sites-available
erstelle ich einen Symlink zu/etc/nginx/sites-enabled
den aktivierten conf-Dateien).Fügen Sie dann einen Umleitungspfad hinzu
Wenn Sie nginx verwenden, verfügen Sie höchstwahrscheinlich über zusätzliche Serverblöcke (virtuelle Hosts in der Apache-Terminologie), um Ihren Zonen-Apex (example.com) zu verwalten, oder wie auch immer Sie ihn eingerichtet haben. Stellen Sie sicher, dass einer von ihnen als Standardserver festgelegt ist.
Fügen Sie in Route 53 ein
A record
for hinzuaws.example.com
und setzen Sie den Wert auf dieselbe IP, die für Ihren Zonenscheitelpunkt verwendet wird.quelle
Aktualisieren
Obwohl meine ursprüngliche Antwort unten immer noch gültig ist und hilfreich sein kann, um die Ursache für die DNS-basierte URL-Weiterleitung zu verstehen, die nicht sofort über Amazon Route 53 verfügbar ist , empfehle ich dringend, die äußerst intelligente indirekte Lösung von Vivek M. Chawla über die inzwischen eingeführte Lösung zu prüfen Amazon S3-Unterstützung für Website-Weiterleitungen und das Erreichen eines eigenständigen Servers weniger und damit eine kostenlose Lösung innerhalb von AWS nur so.
Ursprüngliche Antwort
Nettica muss hierfür eine benutzerdefinierte Umleitungslösung ausführen. Hier ist das Problem:
Sie können einen CNAME-Alias wie
aws.example.com
für erstellen.myaccount.signin.aws.amazon.com
DNS bietet jedoch keine offizielle Unterstützung für das Aliasing eines Unterverzeichnisses wieconsole
in diesem Beispiel.https://myaccount.signin.aws.amazon.com/
(ich habe es gerade versucht), da es Ihr Problem sofort lösen und in erster Linie viel Sinn machen würde. Außerdem sollte es ziemlich einfach sein, sie am Ende zu konfigurieren.Aus diesem Grund haben einige DNS-Anbieter offenbar eine benutzerdefinierte Lösung implementiert, um Weiterleitungen in Unterverzeichnisse zu ermöglichen. Ich gehe davon aus, dass sie im Grunde genommen einen CNAME-Alias für eine eigene Domain ermöglichen und von dort über eine sofortige HTTP 3xx-Umleitung erneut zum endgültigen Ziel umleiten .
Um das gleiche Ergebnis zu erzielen, müsste ein HTTP-Dienst ausgeführt werden, der diese Weiterleitungen ausführt. Dies ist natürlich nicht die einfache Lösung, auf die man hoffen würde. Vielleicht / Hoffentlich kann sich trotzdem jemand einen klügeren Ansatz einfallen lassen.
quelle
Wenn Sie immer noch Probleme mit dem einfachen Ansatz haben, erstellen Sie einen leeren Bucket
Redirect all requests to another host name
unter Statisches Webhosting in den Eigenschaften über die Konsole. Stellen Sie sicher, dass Sie in route53 2 A-Datensätze festgelegt haben, einen fürfinal-destination.com
und einen fürredirect-to.final-destination.com
. Die Einstellungen für jede dieser Einstellungen sind identisch, der Name ist jedoch unterschiedlich, sodass er mit den Namen übereinstimmt, die Sie für Ihre Buckets / URLs festgelegt haben.quelle