J'essaye d'installer la transmission dans Amazon Route53. Mon dernier service DNS (Nettica) m'a permis de router les demandes de "aws.example.com" vers "https://myaccount.signin.aws.Amazon.com/console/".
Cette fonctionnalité est-elle prise en charge par Route53?
Comment Nettica réalise-t-elle 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 celui décrit par Saurav, mais j’avais vraiment besoin de trouver une solution ne nécessitant 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 je suis venu avec.
En utilisant uniquement les outils disponibles dans Amazon S3 et Amazon Route 53, créez une redirection d'URL qui transmet automatiquement http://url-redirect-example.vivekmchawla.com à la page de connexion de la AWS Console, alias "MyAccount". , situé à l’adresse https://myaccount.signin.aws.Amazon.com/console/ .
Ce guide vous apprendra à configurer la redirection d’URL vers n’importe quelle URL, pas seulement celles d’Amazon. Vous apprendrez à configurer le transfert vers des dossiers spécifiques (comme "/ console" dans mon exemple) et à modifier le protocole de redirection de HTTP à HTTPS (ou inversement).
Ouvrez la console de gestion S3 et cliquez sur "Créer un godet".
Choisissez un nom de seau. Cette étape est vraiment importante! Vous devez nommer EXACTEMENT le compartiment comme 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 le savez pas, conservez la valeur par défaut.
Ne vous inquiétez pas pour la configuration de la journalisation. Cliquez simplement sur le bouton "Créer" lorsque vous êtes prêt.
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, visitez la documentation AWM pour "Syntaxe de spécification des règles de routage" . Une technique de bonus (non couverte ici) consiste à transférer 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 <ReplaceKeyWith>
si vous avez besoin de cette fonctionnalité.
Notez le "point final" d'hébergement de site Web statique créé automatiquement par Amazon pour ce compartiment. Vous en aurez besoin pour plus tard. Mettez en surbrillance l'intégralité de l'URL, puis copiez-la et collez-la dans le bloc-notes.
MISE EN GARDE! À ce stade, vous pouvez réellement cliquer sur ce lien pour vérifier si vos règles de redirection ont été correctement saisies, mais soyez prudent! Voici pourquoi...
Supposons que vous ayez entré une valeur incorrecte dans les balises <Hostname>
de vos règles de redirection. Peut-être avez-vous accidentellement tapé 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 se fera un plaisir de rediriger 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 serez probablement redirigé vers la mauvaise adresse! Même si vous avez corrigé l'entrée <Hostname>
, votre navigateur met en cache l'entrée précédente (incorrecte!). Cela est dû au fait que nous utilisons une redirection HTTP 301 (permanente), que les navigateurs tels que Chrome et Firefox mettent en cache par défaut.
Si vous copiez et collez l'URL du noeud final dans un autre navigateur (ou effacez le cache de votre navigateur actuel), vous aurez une autre chance de voir si votre entrée <Hostname>
mise à jour est finalement la bonne.
Par mesure de sécurité, 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 noeud final en mode navigation privée. Tout ce qui est mis en cache disparaîtra une fois la session fermée.
En cliquant sur "Créer un jeu d’enregistrements", vous ouvrez la fenêtre Créer un jeu d’enregistrements à droite de la console de gestion Route53.
Dans le champ Nom, entrez la partie du nom d'hôte de l'URL que vous avez utilisée pour nommer 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". La partie du nom d'hôte que je dois entrer est "url-redirect-example".
Sélectionnez "CNAME - Nom canonique" pour le type de cet ensemble d'enregistrements.
Pour la valeur, collez l'URL du noeud final du compartiment S3 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 maintenant 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.
myaccount.signin.aws.Amazon.com
comme URL de destination de notre redirection, Amazon sait exactement à quel compte nous essayons d'accéder et nous y emmène directement. Cela peut s'avérer très utile si vous souhaitez donner aux employés ou aux sous-traitants un lien de connexion AWS court, propre et personnalisé.
.
Conclusions
.
Exemple: Configuration d'un site Web statique à l'aide d'un domaine personnalisé .
Cheers!
Le support AWS a proposé 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:
aws.example.com
Redirect all requests to another Host name
et entrez votre URL: https://myaccount.signin.aws.Amazon.com/console/
AWS Route53:
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 rediriger des domaines à l'aide d'Amazon Web Services
Documentation officielle AWS: Existe-t-il un moyen de rediriger 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 de configuration 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 la configuration choisie. 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.
Bien que ma réponse originale ci-dessous soit toujours valide et puisse être utile pour comprendre la cause du transfert d'adresse URL basé sur DNS non disponible via Amazon Route 53 prêt à l'emploi, je vous recommande vivement de consulter le totalement intelligent de Vivek M. Chawla solution indirecte via le support introduit Amazon S3 prenant en charge les redirections de sites Web et permettant d’obtenir un serveur autonome moins et donc une solution libre au sein d’AWS uniquement.
Nettica doit exécuter une solution de redirection personnalisée pour cela, voici le problème:
Vous pouvez créer un alias CNAME tel que 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.
https://myaccount.signin.aws.Amazon.com/
(je viens d'essayer), car cela résoudrait tout de suite votre problème et donnerait beaucoup de sens en premier lieu; En outre, il devrait être assez facile à configurer de leur côté.Pour cette raison, quelques fournisseurs de DNS ont apparemment mis en place une solution personnalisée pour autoriser les redirections vers des sous-répertoires; Je suppose qu’ils facilitent fondamentalement la création d’un alias CNAME pour un domaine qui leur est propre et qu’ils redirigent leur chemin vers la destination finale via une redirection immédiate HTTP 3xx .
Donc, pour obtenir le même résultat, il vous faudrait un service HTTP exécutant ces redirections, ce qui n’est pas la solution simple que l’on espère bien entendu. Peut-être/j'espère que quelqu'un pourra proposer une approche plus intelligente encore.
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 des propriétés via la console. Assurez-vous que vous avez défini 2 enregistrements A dans route53, un pour final-destination.com
et un pour redirect-to.final-destination.com
. Les paramètres de chacun de ces éléments seront identiques, mais le nom sera différent de sorte qu'il corresponde aux noms que vous avez définis pour vos compartiments/URL.