AWSRoute 53CloudFrontACMDNSCustom DomainSSL/TLS

Comment utiliser dans CloudFront un domaine enregistré avec Amazon Route 53

Sloth255
Sloth255
·9 min read·1,891 words

Introduction

Pour utiliser dans Amazon CloudFront un domaine enregistré avec Amazon Route 53, il faut d’abord vérifier la zone hébergée côté Route 53, puis émettre un certificat SSL dans AWS Certificate Manager (ACM), et enfin configurer le domaine personnalisé dans CloudFront.
Dans cet article, nous partons d’une configuration où l’origine du domaine principal et celle du sous-domaine sont différentes, et nous expliquons comment attribuer chacune à une distribution CloudFront distincte.

Prérequis

Cet article part des hypothèses suivantes.

  • Le domaine principal et le sous-domaine utilisent des origines différentes
  • Les distributions CloudFront du domaine principal et du sous-domaine sont exploitées séparément
  • La configuration de base des distributions CloudFront et de leurs origines est déjà terminée
  • La zone hébergée Route 53 est gérée dans le même compte AWS

Si vous utilisez la même origine pour les deux, vous pouvez également choisir une configuration dans laquelle plusieurs noms de domaine alternatifs (CNAME) sont définis sur une seule distribution CloudFront. Ce cas n’est toutefois pas traité ici.

Vue d’ensemble du processus

  1. Acheter un domaine dans Amazon Route 53
  2. Vérifier la zone hébergée créée automatiquement dans Amazon Route 53
  3. Émettre un certificat SSL dans AWS Certificate Manager (ACM)
  4. Configurer le domaine personnalisé dans Amazon CloudFront
  5. Créer l’enregistrement du domaine principal dans Amazon Route 53
  6. Créer l’enregistrement du sous-domaine dans Amazon Route 53
  7. Vérifier le fonctionnement

Relation entre ACM, Route 53 et CloudFront

Dans cette configuration, Amazon Route 53 gère le DNS, AWS Certificate Manager (ACM) émet le certificat pour HTTPS, et Amazon CloudFront sert de point de diffusion pour le domaine principal et le sous-domaine.

graph LR
  U[Navigateur utilisateur]
  R[Route 53 DNS gestion domaine]
  CM[CloudFront pour domaine racine]
  CS[CloudFront pour sous-domaine]
  OM[Origine S3 ou serveur Web]
  OS[Origine S3 ou serveur Web]
  A[ACM certificat SSL/TLS]

  U -->|Acceder a example.com| R
  U -->|Acceder a cdn.example.com| R
  R -->|Alias A / AAAA| CM
  R -->|Alias A / AAAA| CS
  CM -->|Diffuser en HTTPS| U
  CS -->|Diffuser en HTTPS| U
  A -->|Associer le certificat| CM
  A -->|Associer le certificat| CS
  CM -->|Recuperer le contenu| OM
  CS -->|Recuperer le contenu| OS

Le point essentiel est que les enregistrements DNS dans Amazon Route 53 référencent les distributions CloudFront du domaine principal et du sous-domaine, et qu’en configurant un certificat ACM sur chacune d’elles, vous pouvez diffuser votre contenu en HTTPS avec votre propre domaine.

1. Acheter un domaine dans Amazon Route 53

Commencez par ouvrir Amazon Route 53 depuis AWS Management Console, puis achetez le domaine que vous souhaitez utiliser.

Étapes

  1. Dans le tableau de bord Amazon Route 53, ouvrez "Registered domains" ou "Domain registration"
  2. Recherchez le nom de domaine que vous souhaitez obtenir (exemple : example.com)

Écran de recherche de domaine dans Route 53

  1. S’il est disponible, ajoutez-le au panier et poursuivez la procédure d’achat
  2. Renseignez les coordonnées et la durée d’enregistrement, puis finalisez l’achat
  3. Ouvrez l’e-mail de confirmation reçu à l’adresse enregistrée et cliquez sur le lien de vérification dans le message
    • Exemple d’objet : Verify your email address.
  4. Dans la console Amazon Route 53, ouvrez "Domains" → "Requests" et vérifiez que le statut du nouveau domaine demandé est "Successful"

Une fois l’achat terminé, l’enregistrement du domaine est finalisé et Amazon Route 53 peut également gérer ses serveurs de noms.

2. Vérifier la zone hébergée créée automatiquement dans Amazon Route 53

Lorsque vous enregistrez un domaine dans Amazon Route 53, une zone hébergée publique du même nom est généralement créée automatiquement. Commencez par vérifier cet état.

Étapes

  1. Dans le tableau de bord Amazon Route 53, ouvrez "Hosted zones"
  2. Vérifiez qu’il existe une zone hébergée portant le même nom que le domaine acheté (exemple : example.com)
  3. Vérifiez que les enregistrements suivants ont été créés automatiquement dans la zone hébergée
NS
SOA

Si nécessaire, vérifiez également les serveurs de noms affichés dans l’enregistrement NS.

ns-xxx.awsdns-xx.com
ns-xxx.awsdns-xx.net
ns-xxx.awsdns-xx.org
ns-xxx.awsdns-xx.co.uk

3. Émettre un certificat SSL dans AWS Certificate Manager (ACM)

Pour rendre le site accessible en HTTPS, émettez un certificat SSL dans AWS Certificate Manager (ACM).

Étapes

  1. Changez de région pour us-east-1

Écran de sélection de région dans ACM

  1. Dans la console ACM, cliquez sur "Request a certificate"

Écran de demande de certificat dans ACM

  1. Sélectionnez "Request a public certificate"

Écran de sélection d’un certificat public dans ACM

  1. Saisissez dans le champ du nom de domaine complet les domaines à utiliser
    • Si vous utilisez le domaine principal : example.com
    • Si vous utilisez des sous-domaines : *.example.com
    • Si vous voulez couvrir les deux avec un seul certificat : ajoutez à la fois example.com et *.example.com
  2. Choisissez "DNS validation" comme méthode de validation
  3. Cliquez sur "Request"

Écran d’envoi de la demande de certificat ACM

Finaliser la validation DNS

  1. Sur la page de détails du certificat, cliquez sur "Create records in Route 53"
  2. Si la zone hébergée Route 53 est gérée dans le même compte AWS, vous pouvez créer automatiquement les enregistrements CNAME
  3. Si le parcours de création automatique n’est pas affiché, ajoutez manuellement dans Route 53 les enregistrements CNAME indiqués par ACM
  4. Quelques minutes plus tard, la validation est terminée

Une fois la validation terminée, le statut passe à "Issued".

4. Configurer le domaine personnalisé dans Amazon CloudFront

Une fois le certificat émis, ajoutez le domaine personnalisé à la distribution CloudFront.

Étapes

  1. Dans la console CloudFront, sélectionnez la distribution du domaine principal
  2. Cliquez sur "Edit"
  3. Ajoutez le domaine à utiliser dans "Alternate domain name (CNAME)"
    • Ajoutez example.com à la distribution du domaine principal
  4. Dans "Custom SSL certificate", sélectionnez le certificat créé précédemment
  5. Cliquez sur "Save changes"
  6. Répétez ensuite la même procédure pour la distribution du sous-domaine
    • Ajoutez cdn.example.com à la distribution du sous-domaine
    • Vérifiez que le certificat utilisé contient cdn.example.com ou *.example.com
  7. Cliquez sur "Save changes"

Attendez de quelques minutes à environ 15 minutes que le déploiement soit terminé pour chaque distribution.

5. Créer l’enregistrement du domaine principal dans Amazon Route 53

Si vous souhaitez également faire pointer example.com vers CloudFront, créez des enregistrements alias A/AAAA.

Étapes

  1. Dans la page de détails de la zone hébergée Amazon Route 53, cliquez sur "Create record"
  2. Saisissez les informations suivantes :
    • Nom de l’enregistrement : laisser vide (domaine racine)
    • Type d’enregistrement : A - IPv4 address
    • Alias : On
    • Route traffic to :
      • Alias to CloudFront distribution
      • Sélectionnez la distribution CloudFront du domaine principal
  3. Cliquez sur "Create records"
  4. De la même façon, créez aussi un enregistrement AAAA - IPv6 address

6. Créer l’enregistrement du sous-domaine dans Amazon Route 53

Créez l’enregistrement qui fait pointer le sous-domaine (exemple : cdn.example.com) vers CloudFront.

Étapes

  1. Dans la page de détails de la zone hébergée Amazon Route 53, cliquez sur "Create record"

Écran de création d’un enregistrement dans Route 53

  1. Saisissez les informations suivantes :
    • Nom de l’enregistrement : sous-domaine (exemple : cdn)
    • Type d’enregistrement : A - IPv4 address
    • Alias : On
    • Route traffic to :
      • Alias to CloudFront distribution
      • Sélectionnez la distribution CloudFront du sous-domaine
  2. Cliquez sur "Create records"

Écran après création d’un enregistrement pour CloudFront

  1. Créez également l’enregistrement suivant de la même manière.
    • Type d’enregistrement : AAAA - IPv6 address
    • Le reste est identique à l’étape 2

7. Vérifier le fonctionnement

Une fois toute la configuration terminée, accédez aux URL suivantes dans un navigateur pour vérifier le fonctionnement.

https://example.com
https://cdn.example.com

Si le contenu des origines attendues s’affiche pour chacune, le routage de base fonctionne.

1. Vérifier le DNS

Les commandes suivantes permettent de vérifier que le domaine principal et le sous-domaine pointent vers CloudFront.

nslookup example.com
nslookup cdn.example.com

Le nom de domaine CloudFront lui-même n’est pas renvoyé, mais vous pouvez vérifier que la résolution de noms fonctionne et que les enregistrements alias de Route 53 sont correctement configurés.

2. Vérifier la réponse HTTPS

Ensuite, vérifiez que HTTPS répond correctement.

curl -I https://example.com
curl -I https://cdn.example.com

Vérifiez au minimum les points suivants.

  • Le statut HTTP attendu est renvoyé, par exemple HTTP/1.1 200 OK ou 301 Moved Permanently
  • server: CloudFront est présent
  • La redirection mène à la destination prévue

3. Vérifier le certificat et les noms de domaine alternatifs

Accédez à chaque URL dans un navigateur et vérifiez le sujet du certificat ainsi que le cadenas.

  • Aucun avertissement de certificat sur example.com
  • Aucun avertissement de certificat sur cdn.example.com
  • Aucune redirection vers un domaine inattendu

4. Vérifier la séparation des origines

Si vous utilisez des origines distinctes pour le domaine principal et le sous-domaine, vérifiez également que chacun pointe bien vers une cible différente.

  • Le contenu de l’origine du domaine principal s’affiche sur https://example.com
  • Le contenu de l’origine du sous-domaine s’affiche sur https://cdn.example.com
  • Les mises à jour de l’un ne se mélangent pas à l’autre

Dépannage

En cas d’accès impossible :

  1. Vérifiez que le déploiement CloudFront est terminé
  2. Vérifiez que les enregistrements alias A/AAAA dans Route 53 sont correctement configurés
  3. Vérifiez que le domaine cible a bien été ajouté dans "Alternate domain name (CNAME)" sur CloudFront
  4. Vérifiez que le certificat ACM contient example.com ou cdn.example.com
  5. Vérifiez que le statut du certificat ACM est "Issued"
  6. Vérifiez que la gestion de l’en-tête Host ou les réglages de redirection HTTPS côté origine ne sont pas en cause
  7. Vérifiez la propagation DNS (nslookup example.com / nslookup cdn.example.com)

Conclusion

Cet article a expliqué comment utiliser dans Amazon CloudFront un domaine enregistré avec Amazon Route 53. Les points clés sont les suivants.

  • Un domaine enregistré avec Amazon Route 53 ne nécessite généralement pas de modification des serveurs de noms
  • Si le domaine prend en charge la protection de la vie privée, vous pouvez empêcher la publication d’informations personnelles dans WHOIS
  • Il faut d’abord émettre le certificat ACM, puis configurer le domaine personnalisé dans CloudFront
  • Si le domaine principal et le sous-domaine utilisent des origines distinctes, il est plus simple de les gérer avec des distributions CloudFront séparées
  • Le domaine principal et le sous-domaine doivent chacun être reliés à CloudFront via leurs propres enregistrements alias A/AAAA
  • Le certificat ACM doit toujours être créé dans la région us-east-1

Cette configuration permet une diffusion rapide du contenu et une gestion DNS flexible.

Liens de référence