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
- Öffnen Sie im Eigenschaftenfenster die Einstellungen für "Statisches Website-Hosting".
- Wählen Sie die Option "Website-Hosting aktivieren".
- Geben Sie einen Wert für das "Indexdokument" ein. Dieses Objekt (Dokument) wird niemals von S3 bereitgestellt, und Sie müssen es niemals hochladen. Verwenden Sie einfach einen beliebigen Namen.
- Öffnen Sie die Einstellungen für "Umleitungsregeln bearbeiten".
Fügen Sie das folgende XML-Snippet vollständig ein.
<RoutingRules>
<RoutingRule>
<Redirect>
<Protocol>https</Protocol>
<HostName>myaccount.signin.aws.amazon.com</HostName>
<ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith>
<HttpRedirectCode>301</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
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 getippt myaccount.amazon.com
, anstatt myaccount.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).
- Wählen Sie die gehostete Zone (Domainname) aus, die Sie beim Erstellen Ihres Buckets verwendet haben. Da ich meinen Bucket "url-redirect-example.vivekmchawla.com" genannt habe, werde ich die gehostete Zone von vivekmchawla.com auswählen.
- Klicken Sie auf die Schaltfläche "Gehe zu Datensatzgruppen".
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!