Je rencontrais exactement le même problème que celui décrit par Saurav, mais j'avais vraiment besoin de trouver une solution qui ne nécessitait rien d'autre que Route 53 et S3. J'ai créé un guide pratique pour mon blog détaillant ce que j'ai fait.
Voici ce que j'ai trouvé.
Objectif
En utilisant uniquement les outils disponibles dans Amazon S3 et Amazon Route 53, créez une URL de redirection qui redirige automatiquement http://url-redirect-example.vivekmchawla.com vers la page de connexion AWS Console alias "MyAccount", située à l' adresse https. : //myaccount.signin.aws.amazon.com/console/ .
Ce guide vous apprendra à configurer le transfert d'URL vers n'importe quelle URL, pas seulement celles d'Amazon. Vous apprendrez comment configurer le transfert vers des dossiers spécifiques (comme "/ console" dans mon exemple), et comment changer le protocole de la redirection de HTTP à HTTPS (ou vice versa).
Première étape: créez votre compartiment S3
Ouvrez la console de gestion S3 et cliquez sur "Créer un compartiment".
Deuxième étape: nommez votre compartiment S3
Choisissez un nom de compartiment. Cette étape est vraiment importante! Vous devez nommer le bucket EXACTEMENT le même que l'URL que vous souhaitez configurer pour le transfert. Pour ce guide, j'utiliserai le nom "url-redirect-example.vivekmchawla.com".
Sélectionnez la région qui vous convient le mieux. Si vous ne savez pas, conservez la valeur par défaut.
Ne vous inquiétez pas de la configuration de la journalisation. Cliquez simplement sur le bouton "Créer" lorsque vous êtes prêt.
Étape 3: Activez l'hébergement de site Web statique et spécifiez les règles de routage
- Dans la fenêtre des propriétés, ouvrez les paramètres de "Hébergement de site Web statique".
- Sélectionnez l'option "Activer l'hébergement du site Web".
- Entrez une valeur pour le "Document d'index". Cet objet (document) ne sera jamais servi par S3 et vous n'aurez jamais à le télécharger. Utilisez simplement le nom de votre choix.
- Ouvrez les paramètres de "Modifier les règles de redirection".
Collez l'extrait de code XML suivant dans son intégralité.
<RoutingRules>
<RoutingRule>
<Redirect>
<Protocol>https</Protocol>
<HostName>myaccount.signin.aws.amazon.com</HostName>
<ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith>
<HttpRedirectCode>301</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
Si vous êtes curieux de savoir ce que fait le XML ci-dessus, consultez la documentation AWM pour «Syntaxe pour spécifier les règles de routage» . Une technique bonus (non couverte ici) consiste à transférer vers des pages spécifiques chez l'hôte de destination, par exemple http://redirect-destination.com/console/special-page.html
. Renseignez-vous sur l' <ReplaceKeyWith>
élément si vous avez besoin de cette fonctionnalité.
Étape 4: notez le "point de terminaison" de votre bucket de redirection
Notez le «point de terminaison» d'hébergement de site Web statique qu'Amazon a créé automatiquement pour ce compartiment. Vous en aurez besoin pour plus tard, alors mettez en surbrillance l'URL entière, puis copiez-la et collez-la dans le bloc-notes.
MISE EN GARDE! À ce stade, vous pouvez cliquer sur ce lien pour vérifier si vos règles de redirection ont été entrées correctement, mais soyez prudent! Voici pourquoi...
Disons que vous avez entré la mauvaise valeur dans les <Hostname>
balises dans vos règles de redirection. Peut-être avez-vous tapé accidentellement myaccount.amazon.com
au lieu de myaccount.signin.aws.amazon.com
. Si vous cliquez sur le lien pour tester l'URL du point de terminaison, AWS redirigera volontiers votre navigateur vers la mauvaise adresse!
Après avoir remarqué votre erreur, vous modifierez probablement le <Hostname>
dans vos règles de redirection pour corriger l'erreur. Malheureusement, lorsque vous essayez de cliquer à nouveau sur le lien, vous finirez probablement par être redirigé vers la mauvaise adresse! Même si vous avez corrigé l' <Hostname>
entrée, votre navigateur met en cache l'entrée précédente (incorrecte!). Cela se produit parce que nous utilisons une redirection HTTP 301 (permanente), que les navigateurs comme Chrome et Firefox mettront en cache par défaut.
Si vous copiez et collez l'URL du point de terminaison dans un autre navigateur (ou effacez le cache de votre navigateur actuel), vous aurez une autre chance de voir si votre <Hostname>
entrée mise à jour est enfin la bonne.
Pour être sûr, si vous souhaitez tester votre URL de point de terminaison et vos règles de redirection, vous devez ouvrir une session de navigation privée, telle que "Mode navigation privée" dans Chrome. Copiez, collez et testez l'URL du point de terminaison en mode navigation privée et tout ce qui est mis en cache disparaîtra une fois que vous aurez fermé la session.
Étape 5: Ouvrez la console de gestion Route53 et accédez aux jeux d'enregistrements de votre zone hébergée (nom de domaine)
- Sélectionnez la zone hébergée (nom de domaine) que vous avez utilisée lors de la création de votre bucket. Depuis que j'ai nommé mon bucket "url-redirect-example.vivekmchawla.com", je vais sélectionner la zone hébergée vivekmchawla.com.
- Cliquez sur le bouton "Aller aux jeux d'enregistrements".
Étape 6: Cliquez sur le bouton "Créer un jeu d'enregistrements"
Cliquez sur «Créer un ensemble d'enregistrements» pour ouvrir la fenêtre Créer un ensemble d'enregistrements sur le côté droit de la console de gestion Route53.
Étape 7: créer un jeu d'enregistrements CNAME
Dans le champ Nom, saisissez la partie nom d'hôte de l'URL que vous avez utilisée lors de l'attribution d'un nom à votre compartiment S3. La "partie nom d'hôte" de l'URL est tout à GAUCHE du nom de votre zone hébergée. J'ai nommé mon compartiment S3 "url-redirect-example.vivekmchawla.com", et ma zone hébergée est "vivekmchawla.com", donc la partie du nom d'hôte que je dois saisir est "url-redirect-example".
Sélectionnez "CNAME - Nom canonique" pour le type de ce jeu d'enregistrements.
Pour la valeur, collez l'URL du point de terminaison du compartiment S3 que nous avons créé à l'étape 3.
Cliquez sur le bouton "Créer un jeu d'enregistrements". En supposant qu'il n'y ait pas d'erreur, vous pourrez désormais voir un nouvel enregistrement CNAME dans la liste des jeux d'enregistrements de votre zone hébergée.
Étape 8: Testez votre nouvelle redirection d'URL
Ouvrez un nouvel onglet de navigateur et saisissez l'URL que nous venons de configurer. Pour moi, c'est http://url-redirect-example.vivekmchawla.com . Si tout a bien fonctionné, vous devez être envoyé directement sur une page de connexion AWS.
Parce que nous avons utilisé l' myaccount.signin.aws.amazon.com
alias comme URL de destination de notre redirection, Amazon sait exactement à quel compte nous essayons d'accéder et nous y conduit directement. Cela peut être très pratique si vous souhaitez fournir un lien de connexion AWS court, propre et de marque aux employés ou aux sous-traitants.
Conclusions
Personnellement, j'adore les différents services AWS, mais si vous avez décidé de migrer la gestion DNS vers Amazon Route 53, le manque de transfert d'URL facile peut être frustrant. J'espère que ce guide vous a aidé à configurer un peu plus facilement le transfert d'URL pour vos zones hébergées.
Si vous souhaitez en savoir plus, consultez les pages suivantes du site de documentation AWS.
À votre santé!