Configurer le transfert d’URL basé sur DNS dans Amazon Route53

J’essaie d’installer le transfert dans Amazon Route53. Mon dernier service DNS (Nettica) m’a permis d’acheminer les demandes vers “aws.example.com” vers “https://myaccount.signin.aws.amazon.com/console/”.

Cette fonctionnalité est-elle supscope par Route53?

Comment Nettica réalise-t-il cela? Insère-t-il un ou des enregistrements spéciaux A, CNAME, PTR ou TXT?

    Je rencontrais exactement le même problème que Saurav a décrit, mais j’avais vraiment besoin de trouver une solution qui ne nécessitait rien d’autre que les routes 53 et S3. J’ai créé un guide pratique pour mon blog détaillant ce que j’ai fait.

    Voici ce que j’ai imaginé.


    Objectif

    En utilisant uniquement les outils disponibles dans Amazon S3 et Amazon Route 53, créez une redirection d’URL qui transfère automatiquement http://url-redirect-example.vivekmchawla.com vers la page de connexion à la console AWS associée à «MyAccount», située sur https. : //monaccount.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 modifier le protocole de la redirection de HTTP vers HTTPS (ou vice versa).


    Première étape: créez votre seau S3

    Ouvrez la console de gestion S3 et cliquez sur

    Ouvrez la console de gestion S3 et cliquez sur “Create Bucket”.


    Deuxième étape: Nommez votre seau S3

    Nommez votre seau S3

    1. Choisissez un nom de compartiment. Cette étape est vraiment importante! Vous devez nommer le compartiment 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”.

    2. Sélectionnez la région qui vous convient le mieux. Si vous ne le savez pas, conservez la valeur par défaut.

    3. Ne vous souciez pas de la configuration de la journalisation. Cliquez simplement sur le bouton “Créer” lorsque vous êtes prêt.


    Étape 3: Activer l’hébergement de site Web statique et spécifier les règles de routage

    Activer l'hébergement de site Web statique et spécifier des règles de routage

    1. Dans la fenêtre des propriétés, ouvrez les parameters pour “Hébergement de site Web statique”.
    2. Sélectionnez l’option “Activer l’hébergement de sites Web”.
    3. Entrez une valeur pour le “Document d’index”. Cet object (document) ne sera jamais servi par S3 et vous ne devez jamais le télécharger. Utilisez simplement n’importe quel nom que vous voulez.
    4. Ouvrez les parameters pour “Modifier les règles de redirection”.
    5. Collez l’extrait XML suivant dans son intégralité.

         https myaccount.signin.aws.amazon.com console/ 301    

    Si vous êtes curieux de savoir ce que fait le XML ci-dessus, consultez la documentation AWM pour “Syntaxe pour la spécification des règles de routage” . Une technique de bonus (non couverte ici) est transmise à des pages spécifiques sur l’hôte de destination, par exemple http://redirect-destination.com/console/special-page.html . Lisez à propos de l’élément si vous avez besoin de cette fonctionnalité.


    Étape 4: Notez le “sharepoint terminaison” de votre compartiment de redirection

    Notez le point de terminaison de votre redirecteur

    Notez le “sharepoint terminaison” d’hébergement de site Web statique créé par Amazon pour ce compartiment. Vous en aurez besoin pour plus tard, alors mettez l’URL en évidence, 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 faites attention! Voici pourquoi…

    Disons que vous avez entré la mauvaise valeur dans les balises dans vos règles de redirection. Vous avez peut-être tapé accidentellement myaccount.amazon.com , au lieu de myaccount.signin.aws.amazon.com . Si vous cliquez sur le lien pour tester l’URL du sharepoint terminaison, AWS redirecta volontiers votre navigateur vers la mauvaise adresse!

    Après avoir remarqué votre erreur, vous devrez probablement modifier le dans vos règles de redirection pour corriger l’erreur. Malheureusement, lorsque vous essayez de cliquer à nouveau sur le lien, vous serez probablement redirigé vers la mauvaise adresse! Même si vous avez corrigé l’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 de sharepoint terminaison dans un autre navigateur (ou effacez le cache dans votre navigateur actuel), vous aurez une autre chance de voir si votre entrée mise à jour est finalement correcte.

    Pour être sûr, si vous souhaitez tester votre URL de sharepoint terminaison et vos règles de redirection, ouvrez une session de navigation privée, telle que “Mode navigation privée” dans Chrome. Copiez, collez et testez l’URL du sharepoint terminaison en mode navigation privée et tout élément mis en cache disparaîtra une fois la session fermée.


    Étape 5: Ouvrez la console de gestion Route53 et accédez aux jeux d’enregistrements de votre zone hébergée (nom de domaine)

    Ouvrez la console de gestion Route 53 pour ajouter des jeux d'enregistrements à votre zone hébergée

    1. Sélectionnez la zone hébergée (nom de domaine) que vous avez utilisée lors de la création de votre compartiment. Comme j’ai nommé mon compartiment “url-redirect-example.vivekmchawla.com”, je vais sélectionner la zone hébergée de vivekmchawla.com.
    2. Cliquez sur le bouton “Go to Record Sets”.

    Étape 6: Cliquez sur le bouton “Créer un jeu d’enregistrements”

    Cliquez sur le bouton Créer un jeu d'enregistrements

    Cliquez sur “Créer un jeu d’enregistrements” pour ouvrir la fenêtre Créer un jeu d’enregistrements sur le côté droit de la console de gestion Route53.


    Étape 7: créer un jeu d’enregistrements CNAME

    Créer un jeu d'enregistrements CNAME

    1. Dans le champ Nom, entrez la partie nom d’hôte de l’URL que vous avez utilisée lors de la désignation de votre compartiment S3. La “partie du 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 entrer est “url-redirect-example”.

    2. Sélectionnez “CNAME – Nom canonique” pour le type de ce jeu d’enregistrements.

    3. Pour la valeur, collez l’URL du noeud final du compartiment S3 que nous avons créé à l’étape 3.

    4. Cliquez sur le bouton “Créer un jeu d’enregistrements”. En supposant qu’il n’y ait pas d’erreurs, 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 tapez 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 à une page de connexion AWS.

    Parce que nous avons utilisé l’alias myaccount.signin.aws.amazon.com comme URL de destination de notre redirection, Amazon connaît exactement le compte auquel nous essayons d’accéder et nous y emmène directement. Cela peut être très pratique si vous voulez donner un lien de connexion AWS court, propre et de marque aux employés ou aux sous-traitants.

    Terminé! Votre transfert d'URL doit vous conduire à la page d'ouverture de session AWS.


    Conclusions

    Personnellement, j’aime les différents services AWS, mais si vous avez décidé de migrer la gestion DNS vers Amazon Route 53, le manque de transfert facile des URL peut être frustrant. J’espère que ce guide vous aidera à configurer un transfert d’URL pour vos zones hébergées.

    Si vous souhaitez en savoir plus, consultez les pages suivantes du site AWS Documentation.

    • Exemple: configuration d’un site Web statique à l’aide d’un domaine personnalisé
    • Configurer un compartiment pour l’hébergement de sites Web
    • Création d’un domaine utilisant la route 53
    • Créer, modifier et supprimer des enregistrements de ressources

    À votre santé!

    Le support AWS a mis en évidence une solution plus simple. C’est fondamentalement la même idée proposée par @Vivek M. Chawla, avec une implémentation plus simple.

    AWS S3:

    1. Créez un compartiment nommé avec votre domaine complet, tel que aws.example.com
    2. Sur les propriétés du compartiment, sélectionnez Redirect all requests to another host name et entrez votre URL: https://myaccount.signin.aws.amazon.com/console/

    AWS Route53:

    1. Créez un type de jeu d’enregistrements A. Modifiez Alias ​​à Yes . Cliquez sur le champ Alias Target et sélectionnez le compartiment S3 que vous avez créé à l’étape précédente.

    Référence: comment redirect des domaines à l’aide d’Amazon Web Services

    Documentation officielle AWS: Existe – t-il un moyen de redirect un domaine vers un autre domaine à l’aide d’Amazon Route 53?

    J’ai pu utiliser nginx pour gérer la redirection 301 vers la page de connexion aws.

    Allez dans votre dossier nginx conf (dans mon cas, il s’agit de /etc/nginx/sites-available dans lequel je crée un lien symbolique vers /etc/nginx/sites-enabled pour les fichiers conf activés).

    Puis ajoutez un chemin de redirection

     server { listen 80; server_name aws.example.com; return 301 https://myaccount.signin.aws.amazon.com/console; } 

    Si vous utilisez nginx, vous aurez probablement des blocs de serveur supplémentaires (virtualhosts dans la terminologie apache) pour gérer votre apex de zone (example.com) ou quelle que soit sa configuration. Assurez-vous que l’un d’eux est configuré pour être votre serveur par défaut.

     server { listen 80 default_server; server_name example.com; # rest of config ... } 

    Dans Route 53, ajoutez un A record pour aws.example.com et définissez la valeur sur la même adresse IP que celle utilisée pour votre apex de zone.

    Mettre à jour

    Bien que ma réponse originale ci-dessous soit toujours valable et puisse être utile pour comprendre que la transmission d’URL basée sur DNS n’est pas disponible via Amazon Route 53 , je vous recommande vivement de consulter la solution indirecte de Vivek M. Chawla. Prise en charge d’Amazon S3 pour les redirections de sites Web et réalisation d’un serveur autonome moins de solution et donc libre au sein d’AWS uniquement.

    • L’implémentation d’une solution automatisée pour générer de telles redirections est laissée comme un exercice pour le lecteur, mais veuillez rendre hommage à la réponse épique de Vivek en publiant votre solution;)

    Réponse originale

    Nettica doit exécuter une solution de redirection personnalisée pour cela, voici le problème:

    Vous pouvez créer un alias CNAME comme aws.example.com pour myaccount.signin.aws.amazon.com , cependant, DNS ne fournit aucun support officiel pour aliaser un sous-répertoire tel que console dans cet exemple.

    • Il est dommage que AWS ne semble pas faire cela simplement par défaut en tapant https://myaccount.signin.aws.amazon.com/ (j’ai juste essayé), car cela résoudrait votre problème tout de suite et ferait beaucoup sens en premier lieu; en outre, il devrait être assez facile à configurer à leur fin.

    Pour cette raison, quelques fournisseurs de DNS ont apparemment implémenté une solution personnalisée pour autoriser les redirections vers des sous-répertoires; J’ose croire qu’ils facilitent fondamentalement un alias CNAME pour un domaine qui leur est propre et qu’ils redirigent à nouveau vers la destination finale via une redirection HTTP 3xx immédiate.

    Donc, pour obtenir le même résultat, vous devez avoir un service HTTP qui exécute ces redirections, ce qui n’est évidemment pas la solution simple. Peut-être que j’espère que quelqu’un pourra proposer une approche plus intelligente.

    Si vous rencontrez toujours des problèmes avec l’approche simple, créez un compartiment vide, puis Redirect all requests to another host name sous Hébergement Web statique dans les propriétés via la console. Assurez-vous d’avoir défini 2 enregistrements A dans route53, un pour final-destination.com et un autre pour redirect-to.final-destination.com . Les parameters pour chacun de ces éléments seront identiques, mais le nom sera différent et correspondra aux noms que vous avez définis pour vos compartiments / URL.