Configuration d'un site web statique à l'aide d'un domaine personnalisé enregistré avec Route 53 - Amazon Simple Storage Service

Configuration d'un site web statique à l'aide d'un domaine personnalisé enregistré avec Route 53

Admettons que vous souhaitiez héberger un site Web statique sur Amazon S3. Vous avez enregistré un domaine avec Amazon Route 53 (par exemple, example.com), et vous souhaitez que des demandes pour http://www.example.com et http://example.com soient gérées à partir du contenu Amazon S3. Vous pouvez utiliser cette démonstration pour savoir comment héberger un site Web statique et créer des redirections sur Amazon S3 pour un site Web avec un nom de domaine personnalisé enregistré avec Route 53. Vous pouvez utiliser un site Web existant que vous souhaitez héberger sur Amazon S3 ou utiliser cette démonstration pour commencer à partir de zéro.

Une fois cette démonstration terminée, vous pouvez éventuellement utiliser Amazon CloudFront pour améliorer les performances de votre site Web. Pour plus d’informations, consultez Accélérer votre site web avec Amazon CloudFront.

Note

Amazon S3 ne prend pas en charge l'accès HTTPS au site Web. Si vous souhaitez utiliser HTTPS, vous pouvez utiliser Amazon CloudFront pour servir un site Web statique hébergé sur Amazon S3.

Pour de plus amples informations, veuillez consulter Comment utiliser CloudFront pour diffuser un site Web statique hébergé sur Amazon S3, ainsi que les informations relatives à l’exigence du protocole HTTPS pour la communication entre CloudFront et votre origine Amazon S3.

Avant de commencer

À mesure que vous suivez les étapes de cet exemple, vous utilisez les services suivants :

Amazon Route 53 – Utilisez Route 53 pour enregistrer les domaines et définir où acheminer le trafic Internet pour votre domaine. Cet exemple montre comment créer des enregistrements d'alias Route 53 qui acheminent le trafic pour votre domaine (example.com) et votre sous-domaine (www.example.com) vers un compartiment Amazon S3 qui contient un fichier HTML.

Amazon S3 – Utilisez Amazon S3 pour créer des compartiments, charger un exemple de page de site web, configurer des autorisations pour permettre à tout le monde de voir le contenu et configurer les compartiments pour l'hébergement du site web.

Étape 1 : Enregistrer un domaine personnalisé avec Route 53

Si vous ne disposez pas déjà d'un nom de domaine enregistré comme example.com, enregistrez-en un avec Route 53. Pour plus d'informations, consultez Enregistrement d'un nouveau domaine dans le Amazon Route 53 Manuel du développeur. Après avoir enregistré votre nom de domaine, vous pouvez créer et configurer vos compartiments Amazon S3 pour l'hébergement de sites Web.

Étape 2 : Créer deux compartiments

Pour prendre en charge les demandes à partir du domaine racine et du sous-domaine, vous créez deux compartiments.

  • Compartiment de domaineexample.com

  • Compartiment de sous-domainewww.example.com

Ces noms de compartiment doivent correspondre exactement à votre nom de domaine. Dans cet exemple, le nom de domaine est example.com. Vous hébergez votre contenu hors du compartiment de domaine racine (example.com). Vous créez une demande de redirection pour le compartiment de sous-domaine (www.example.com). Si quelqu'un accède à www.example.com dans son navigateur, il est redirigé vers example.com et voit le contenu hébergé dans le compartiment Amazon S3 portant ce nom.

Pour créer des compartiments pour l'hébergement de site web

Les instructions ci-dessous fournissent une vue d'ensemble de la façon de créer vos compartiments pour l'hébergement de site web. Pour obtenir des instructions pas à pas détaillées sur la création d'un compartiment, veuillez consulter Comment créer un compartiment S3 ? dans le Amazon Simple Storage Service Guide de l'utilisateur de la console.

  1. Connectez-vous à AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Créez votre compartiment de domaine racine.

    1. Choisissez Créer un compartiment.

    2. Saisissez le Bucket name (Nom du compartiment) (par exemple, example.com).

    3. Choisissez la région dans laquelle vous souhaitez créer le compartiment.

      Choisissez une région proche de vous afin de limiter la latence et les coûts, ou de répondre aux exigences légales. La région que vous choisissez détermine votre point de terminaison de site web Amazon S3. Pour de plus amples informations, consultez Points de terminaison de sites web.

    4. Pour accepter les paramètres par défaut et créer le compartiment, choisissez Créer.

  3. Créez votre compartiment de sous-domaine :

    1. Choisissez Créer un compartiment.

    2. Saisissez le Bucket name (Nom du compartiment (par exemple, www.example.com).

    3. Choisissez la région dans laquelle vous souhaitez créer le compartiment.

      Choisissez une région proche de vous afin de limiter la latence et les coûts, ou de répondre aux exigences légales. La région que vous choisissez détermine votre point de terminaison de site web Amazon S3. Pour de plus amples informations, consultez Points de terminaison de sites web.

    4. Pour accepter les paramètres par défaut et créer le compartiment, choisissez Créer.

Dans l'étape suivante, vous configurez example.com pour l'hébergement de site web.

Étape 3 : Configurer votre compartiment de domaine racine pour l'hébergement de site web

Dans cette étape, vous configurez votre compartiment de domaine racine (example.com) en tant que site web. Ce compartiment contient le contenu de votre site web. Lorsque vous configurez un compartiment pour héberger un site Web, vous pouvez accéder à ce dernier à l'aide du Points de terminaison de sites web.

Pour activer l'hébergement de site Web statique

  1. Connectez-vous à AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans la liste Bucket name (Nom de compartiment, choisissez le compartiment que vous souhaitez utiliser pour votre site web statique.

  3. Choisissez Propriétés.

  4. Choisissez Hébergement de site Web statique.

  5. Choisissez Utiliser ce compartiment pour héberger un site Web.

  6. Entrez le nom de votre document d'index.

    Le nom du document d'index est généralement index.html. Le nom du document d'index est sensible à la casse et doit correspondre exactement au nom de fichier du document d'index HTML que vous prévoyez de charger dans votre compartiment S3. Pour de plus amples informations, veuillez consulter Configuration d’un document d'index.

  7. (Facultatif) Si vous souhaitez ajouter un document d'erreur personnalisé, dans le champ Error document (Document d'erreur), saisissez le nom clé du document d'erreur (par exemple, error.html).

    Le nom du document d'erreur est sensible à la casse et doit correspondre exactement au nom de fichier du document d'erreur HTML que vous prévoyez de charger dans votre compartiment S3. Pour plus d'informations, consultez (Facultatif) Configuration d'un document d'erreur personnalisé.

  8. (Facultatif) Si vous souhaitez spécifier des règles de redirection avancées, décrivez les règles à l'aide du langage XML dans la zone de texte Edit redirection rules (Modifier les règles de redirection).

    Pour plus d'informations, consultez Configuration des redirections conditionnelles avancées.

  9. Sous Static website hosting (Hébergement de site Web statique), notez la valeur de Endpoint (Point de terminaison).

    Endpoint (Point de terminaison) correspond au point de terminaison du site Web Amazon S3 de votre compartiment. Une fois que vous avez terminé de configurer votre compartiment en tant que site Web statique, vous pouvez utiliser ce point de terminaison pour tester votre site Web.

  10. Choisissez Enregistrer.

Au cours de l'étape suivante, vous configurez votre sous-domaine (www.example.com) pour rediriger les demandes vers votre domaine (example.com).

Étape 4 : Configurer votre compartiment de sous-domaine pour la redirection de site web

Maintenant que vous avez configuré le compartiment de votre domaine racine pour l'hébergement de site Web, vous pouvez configurer le compartiment de votre sous-domaine pour rediriger toutes les demandes vers le domaine. Dans cet exemple, toutes les demandes pour www.example.com sont redirigées vers example.com.

Pour configurer une demande de redirection

  1. Dans la console Amazon S3, dans la liste Compartiments, choisissez le compartiment de votre sous-domaine (www.example.com, dans cet exemple).

  2. Choisissez Propriétés.

  3. Choisissez Hébergement de site Web statique.

  4. Choisissez Rediriger les demandes.

  5. Dans la zone Target bucket or domain (Domaine ou compartiment cible), saisissez votre domaine (par exemple, example.com).

  6. Dans la zone Protocol (Protocole), saisissez http.

  7. Choisissez Save (Enregistrer).

Étape 5 : Configurer la journalisation pour le trafic du site web

Si vous souhaitez effectuer le suivi du nombre de visiteurs accédant à votre site web, vous pouvez activer la journalisation pour le compartiment de votre domaine racine. Pour plus d’informations, consultez Journalisation des accès au serveur Amazon S3. Cependant, si vous prévoyez d'utiliser Amazon CloudFront pour accélérer votre site web, vous pouvez également utiliser la journalisation CloudFront.

Pour activer la journalisation des accès au serveur pour votre compartiment de domaine racine

  1. Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans la région où vous avez créé le compartiment configuré en tant que site Web statique, créez un compartiment pour la journalisation, par exemple logs.example.com.

  3. Créez un dossier pour les fichiers de journalisation des accès au serveur (par exemple, logs).

  4. (Facultatif) Si vous souhaitez utiliser CloudFront pour améliorer les performances de votre site Web, créez un dossier pour les fichiers journaux CloudFront (par exemple, cdn).

  5. Dans la liste Bucket (Compartiment) choisissez votre compartiment de domaine racine.

  6. Choisissez Properties (Propriétés).

  7. Choisissez Server access logging.

  8. Choisissez Activer la journalisation.

  9. Pour Target bucket (Compartiment cible), choisissez le compartiment que vous avez créé pour les fichiers journaux, par exemple logs.example.com.

  10. Pour Target prefix (Préfixe cible), entrez le nom du dossier que vous avez créé pour les fichiers journaux suivi du délimiteur (/), par exemple logs/.

    Lorsque vous définissez Target prefix (Préfixe cible), vous regroupez vos fichiers de données journaux dans un dossier afin qu'ils soient faciles à localiser.

  11. Choisissez Enregistrer.

    Dans votre compartiment de journaux, vous pouvez désormais accéder à vos journaux. Amazon S3 écrit les journaux d'accès au site Web dans votre compartiment de journaux toutes les 2 heures.

  12. Pour afficher les journaux, choisissez Overview (Vue d'ensemble), puis choisissez le dossier.

Étape 6 : Charger l'index et le contenu du site web

Dans cette étape, vous chargez votre document d'index et le contenu de site web facultatif dans votre compartiment de domaine racine.

Lorsque vous activez l'hébergement de site web statique pour votre compartiment, vous saisissez le nom du document d'index (par exemple, index.html). Après avoir activé l'hébergement de site web statique pour le compartiment, vous téléchargez un fichier HTML avec le nom du document de cet index dans votre compartiment.

Pour configurer le document d'index

  1. Créez un fichier index.html.

    Si vous n'avez pas de ficher index.html, vous pouvez utiliser le code HTML suivant pour en créer un :

    <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>My Website Home Page</title> </head> <body> <h1>Welcome to my website</h1> <p>Now hosted on Amazon S3!</p> </body> </html>
  2. Enregistrez le fichier d'index localement avec le nom exact du document d'index que vous avez saisi lors de l’activation de l'hébergement de site Web statique pour votre compartiment (par exemple, index.html).

    Le nom du fichier du document d'index doit correspondre exactement au nom du document d'index que vous saisissez dans la boîte de dialogue Hébergement de site Web statique . Le nom du document d'index est sensible à la casse. Par exemple, si vous saisissez index.html pour le nom du Document d’index dans la boîte de dialogue Hébergement de site Web statique, le nom du fichier de votre document d'index doit également être index.html et non Index.html.

  3. Connectez-vous à AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  4. Dans la liste Buckets (Compartiments), choisissez le nom du compartiment que vous souhaitez utiliser pour héberger un site Web statique.

  5. Activez l'hébergement de site Web statique pour votre compartiment et saisissez le nom exact de votre document d'index (par exemple, index.html). Pour de plus amples informations, consultez Activation de l'hébergement de site Web.

    Après l’activation de l'hébergement de site web statique, passez à l'étape 6.

  6. Pour charger le document d'index dans votre compartiment, effectuez l'une des opérations suivantes :

    • Faites glisser et déposez le fichier d'index dans la liste du compartiment de la console.

    • Choisissez Upload (Charger), puis suivez les instructions pour choisir et charger le fichier d'index.

    Pour obtenir des instructions pas à pas, consultez Comment charger des fichiers ou dossiers vers un compartiment Amazon S3 ? dans le Amazon Simple Storage Service Guide de l'utilisateur de la console.

  7. (Facultatif) Chargez du contenus d’un autre site Web dans votre compartiment.

Étape 7 : Modifier les paramètres de blocage de l'accès public

Dans cet exemple, vous modifiez les paramètres de blocage de l’accès public pour le compartiment de domaine (example.com) pour autoriser l'accès public.

Par défaut, Amazon S3 bloque l'accès publique à votre compte et à vos compartiments. Si vous souhaitez utiliser un compartiment pour héberger un site web statique, vous pouvez utiliser ces étapes pour modifier vos paramètres de blocage de l'accès public.

Avertissement

Avant de terminer cette étape, revoyez Utilisation du blocage de l'accès public Amazon S3 pour vous assurer que vous comprenez et acceptez les risques liés à l'autorisation d'accès public. Lorsque vous désactivez les paramètres de blocage d'accès public pour rendre votre compartiment public, toute personne sur Internet peut accéder à votre compartiment. Nous vous recommandons de bloquer tout accès public à vos compartiments.

  1. Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Choisissez le nom du compartiment que vous avez configuré en tant que site web statique.

  3. Choisissez Permissions.

  4. Choisissez Modifier.

  5. Effacez Block all public access (Bloquer tous les accès publics) et choisissez Save (Enregistrer).

    Avertissement

    Avant de terminer cette étape, revoyez Utilisation du blocage de l'accès public Amazon S3 pour vous assurer que vous comprenez et acceptez les risques liés à l'autorisation d'accès public. Lorsque vous désactivez les paramètres de blocage d'accès public pour rendre votre compartiment public, toute personne sur Internet peut accéder à votre compartiment. Nous vous recommandons de bloquer tout accès public à vos compartiments.

  6. Dans la zone de confirmation, entrez confirm, puis choisissez Confirm (Confirmer).

    Sous S3 buckets (Compartiments S3), l'Access (Accès) de votre compartiment devient Objects can be public (Les objets peuvent être publics). Vous pouvez désormais ajouter une stratégie de compartiment pour rendre les objets du compartiment lisibles publiquement. Si l'Access (Accès) continue de s'afficher comme Bucket and objects not public (Compartiment et objets non publics), vous devrez peut-être modifier les paramètres de blocage de l'accès public pour votre compte avant d'ajouter une stratégie de compartiment.

Étape 8 : Attacher une stratégie de compartiment

Après avoir modifié les paramètres de S3 Block Public Access, vous devez ajouter une stratégie de compartiment pour accorder un accès public en lecture à votre compartiment. Lorsque vous accordez un accès public en lecture, tout le monde sur Internet peut accéder à votre compartiment.

Important

La stratégie suivante est uniquement un exemple et autorise un accès complet au contenu de votre compartiment. Avant de réaliser cette étape, consultez Comment puis-je sécuriser les fichiers de mon compartiment Amazon S3 ?, pour vous assurer que vous comprenez les meilleures pratiques pour sécuriser les fichiers dans votre compartiment S3 et les risques liés à l'octroi d'un accès public.

  1. Dans Buckets (Compartiments), choisissez le nom de votre compartiment.

  2. Choisissez Permissions.

  3. Choisissez Stratégie de compartiment.

  4. Pour accorder l'accès public en lecture à votre site web, copiez la stratégie de compartiment suivante et collez-la dans l'Éditeur de stratégie de compartiment.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::example.com/*" ] } ] }
  5. Mettez à jour Resource pour inclure le nom de votre compartiment.

    Dans l'exemple de stratégie de compartiment précédent, example.com est le nom de compartiment. Pour utiliser cette stratégie de compartiment avec votre propre compartiment, vous devez mettre à jour ce nom pour qu'il corresponde à celui de votre compartiment.

  6. Choisissez Enregistrer.

    Un avertissement s'affiche et indique que le compartiment a un accès public. Dans Bucket Policy (Stratégie de compartiment), une étiquette Public apparaît.

    Si une erreur indique Policy has invalid resource, confirmez que le nom du compartiment dans la stratégie de compartiment correspond au nom de votre compartiment. Pour plus d'informations sur l'ajout d'une stratégie de compartiment, consultez Comment puis-je ajouter une stratégie de compartiment S3 ?

    Si vous recevez un avertissement Error - Access denied (Erreur - Accès refusé) et que l’ Buket policy editor (Éditeur de stratégie de compartiment) ne vous permet pas d'enregistrer la stratégie de compartiment, vérifiez vos paramètres d'accès public au niveau du compte et du compartiment pour confirmer que vous autorisez l'accès public au compartiment.

Au cours de l'étape suivante, vous pouvez déterminer vos points de terminaison de site web et tester le point de terminaison de votre domaine.

Étape 9 : Tester le point de terminaison de domaine

Après avoir configuré votre compartiment de domaine pour héberger un site web public, vous pouvez tester votre point de terminaison. Pour plus d'informations, consultez Points de terminaison de sites web. Vous pourrez uniquement tester le point de terminaison pour votre compartiment de domaine puisque votre compartiment de sous-domaine est configuré pour la redirection de site web et non pour l'hébergement de site web statique.

Note

Amazon S3 ne prend pas en charge l'accès HTTPS au site Web. Si vous souhaitez utiliser HTTPS, vous pouvez utiliser Amazon CloudFront pour servir un site Web statique hébergé sur Amazon S3.

Pour de plus amples informations, veuillez consulter Comment utiliser CloudFront pour diffuser un site Web statique hébergé sur Amazon S3, ainsi que les informations relatives à l’exigence du protocole HTTPS pour la communication entre CloudFront et votre origine Amazon S3.

Pour tester le point de terminaison de votre site Web

Si vous avez noté le point de terminaison de voter site Web lorsque vous avez activé l'hébergement de site Web statique, entrez le point de terminaison du site Web dans votre navigateur pour tester votre site Web. Si votre navigateur affiche votre page index.html, le site Web a été correctement déployé. Pour de plus amples informations, veuillez consulter Points de terminaison de site Web Amazon S3.

Si vous devez obtenir votre point de terminaison de site Web avant d’effectuer le test, procédez comme suit :

  1. Connectez-vous à AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans la liste Buckets (Compartiments), choisissez le nom du compartiment que vous souhaitez utiliser pour héberger un site Web statique.

  3. Choisissez Propriétés.

  4. Choisissez Hébergement de site Web statique.

  5. Pour tester votre point de terminaison de site Web, en regard de Endpoint (Point de terminaison), choisissez votre point de terminaison de site Web.

    Si votre navigateur affiche votre page index.html, le site Web a été correctement déployé.

Dans l'étape suivante, vous utilisez Amazon Route 53 pour permettre aux clients d'utiliser vos deux URL personnalisées pour naviguer vers le site.

Étape 10 : Ajouter des enregistrements d'alias pour vos domaine et sous-domaine

Dans cette étape, vous créez les enregistrements d'alias que vous ajoutez à la zone hébergée pour que le domaine mappe example.com et www.example.com. Au lieu d'utiliser des adresses IP, les enregistrements d'alias utilisent les points de terminaison de site web Amazon S3. Amazon Route 53 maintient un mappage entre les enregistrements d'alias et les adresses IP où résident les compartiments Amazon S3. Vous créez deux enregistrements d'alias, l'un pour votre domaine racine et l'autre pour votre sous-domaine.

Pour ajouter un enregistrement d'alias pour votre domaine racine (example.com)

  1. Ouvrez la console Route 53 à l'adresse https://console.aws.amazon.com/route53/.

    Note

    Si vous n'utilisez pas déjà Route 53, veuillez consulter Étape 1 : Enregistrer un domaine dans le Amazon Route 53 Manuel du développeur. Une fois la configuration terminée, vous pouvez reprendre les instructions.

  2. Choisissez Hosted Zones (Zones hébergées).

  3. Dans la liste des zones hébergées, choisissez le nom de la zone hébergée qui correspond au nom de votre domaine.

  4. Choisissez Create Record Set (Créer un ensemble d'enregistrements).

  5. Indiquez l'une des valeurs suivantes :

    Nom

    Acceptez la valeur par défaut, à savoir le nom de votre zone hébergée et de votre domaine.

    Pour le domaine racine, vous n'avez pas besoin d'entrer des informations supplémentaires dans le champ Name (Nom).

    Type

    Choisissez A – adresse IPv4.

    Alias

    Choisissez Oui.

    Cible d'alias

    Dans la section S3 website endpoints (Points de terminaison de site web S3) de la liste, choisissez le nom de votre compartiment.

    Le nom du compartiment doit correspondre au nom qui apparaît dans la zone Name (Nom) . Dans la liste Alias Target (Cible d'alias) le nom du compartiment est suivi du point de terminaison du site web Amazon S3 pour la région où le compartiment a été créé, par exemple example.com (s3-website-us-west-2). Alias Target (Cible d'alias) répertorie un compartiment si :

    • Vous avez configuré le compartiment en tant que site web statique.

    • Le nom du compartiment est identique au nom de l'enregistrement que vous créez.

    • Le compte AWS actuel a créé le compartiment.

    Si votre compartiment n'apparaît pas dans la liste Alias Target (Cible d'alias), saisissez le point de terminaison du site web Amazon S3 pour la région dans laquelle le compartiment a été créé, par exemple s3-website-us-west-2. Pour obtenir la liste complète des points de terminaison du site Web Amazon S3, veuillez consulter Points de terminaison du site web Amazon S3. Pour plus d'informations sur la cible d'alias, consultez Cible d'alias dans le Amazon Route 53 Manuel du développeur.

    Stratégie de routage

    Acceptez la valeur par défaut Simple.

    Évaluer l’état de la cible

    Acceptez la valeur par défaut de No.

  6. Sélectionnez Create.

Pour ajouter un enregistrement d'alias pour votre sous-domaine (www.example.com)

  1. Dans la zone hébergée pour votre domaine racine (example.com), choisissez Create Record Set (Créer un jeu d'enregistrements).

  2. Indiquez l'une des valeurs suivantes :

    Nom

    Pour le sous-domaine, entrez www dans la zone.

    Type

    Choisissez A – adresse IPv4.

    Alias

    Choisissez Oui.

    Cible d'alias

    Dans la section S3 website endpoints (Points de terminaison de site web S3) de la liste, choisissez le même nom de compartiment que celui qui apparaît dans le champ Name (Nom) — par exemple www.example.com (s3-website-us-west-2).

    Stratégie de routage

    Acceptez la valeur par défaut Simple.

    Évaluer l’état de la cible

    Acceptez la valeur par défaut de No.

  3. Sélectionnez Créer.

Note

Les changements se propagent généralement sur tous les serveurs Route 53 en 60 secondes. Lorsque la propagation est terminée, vous pouvez acheminer le trafic vers votre compartiment Amazon S3 en utilisant les noms des enregistrements d'alias que vous avez créés au cours de cette procédure.

Étape 11 : Tester le site web

Vérifiez que le site web et la redirection fonctionnent correctement. Dans votre navigateur, entrez vos URL. Dans cet exemple, vous testez les URL suivantes :

  • Domaine (http://example.com) – Affiche le document d'index dans le compartiment example.com.

  • Sous-domaine (http://www.example.com) – Redirige votre demande vers http://example.com. Vous voyez le document d'index dans le compartiment example.com.

Dans certains cas, il se peut que vous ayez besoin de vider le cache de votre navigateur web pour observer le comportement attendu.

Vous pouvez configurer une distribution Amazon CloudFront pour améliorer les performances de votre site web et fournir des journaux que vous pouvez utiliser pour vérifier le trafic du site web. Pour plus d’informations, consultez Accélérer votre site web avec Amazon CloudFront.