par Georgia Nola # Hébergement de site simple avec Amazon S3 et HTTPS Salut les gens ! Dans ce didacticiel, je vais vous montrer comment héberger un site Web statique avec HTTPS sur AWS avec un domaine personnalisé. Tout cela est possible avec l'offre gratuite d'AWS Cependant, les services que nous allons utiliser entraînent de petits frais. De manière générale, ceux-ci ne devraient pas dépasser 1 $/mois Nous utiliserons une combinaison des services AWS suivants : âÃÂÃÂS3 âÃÂàRoute53 âÃÂàResponsable des certificats âÃÂàCloudFront *Laissez-vous entrer dedans !* Configurez vos compartiments S3 Tout d'abord, vous aurez besoin **deux compartiments S3 doivent correspondre à votre nom de domaine personnalisé, le second comprenant le sous-domaine www Seau 1 : Seau 2 : Le premier compartiment (mywebsite.com) est le compartiment principal de votre site. Celui-ci contient tous vos fichiers et actifs pour votre site Web statique Ensuite, nous configurons ce compartiment pour l'hébergement de sites statiques. Vous pouvez le trouver sous l'onglet Propriétés du bucket, et nous allons conserver les valeurs par défaut fournies ici avec l'index du site défini sur index.html Nous devons également rendre ce compartiment accessible car le navigateur d'un utilisateur devra accéder aux fichiers du compartiment afin de rendre le site Web. Nous pouvons le faire en définissant une politique de compartiment sous l'onglet Autorisations { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal":"Action": "s3:GetObject", "Ressource": "MY_BUCKET_ARN"} ]} Il s'agit d'une règle simple qui autorisera uniquement l'accès public en lecture aux objets du compartiment. Maintenant, si vous vous dirigez vers le point de terminaison défini dans la configuration d'hébergement statique du compartiment, vous devriez voir votre site Web Progrès! Mais on peut faire mieux que ça Le deuxième seau (www.mywebsite.com) que nous laisserons vide mais configurerons pour rediriger vers notre premier seau en utilisant HTTP comme protocole (nous le ferons HTTPS plus tard) Vos seaux sont maintenant prêts à partir ! Configurer des domaines avec Route53 Ainsi, votre site Web est opérationnel, mais uniquement accessible via le point de terminaison du compartiment et non votre domaine personnalisé. Changeons ça Se diriger vers **Route53 Si vous avez enregistré votre domaine auprès du registraire Amazon, vous devriez voir qu'une zone hébergée a été configurée pour vous avec deux ensembles d'enregistrements. Un pour le serveur de noms (NS) et un pour SOA Tout ce que nous avons à faire est de créer deux jeux d'enregistrements supplémentaires pour pointer vers les points de terminaison du compartiment S3 Pour chaque ensemble d'enregistrements : âÃÂàType : A âÃÂàAdresse IPv4 âÃÂàAlias : Oui âÃÂàAlias ​​Target : le point de terminaison du site Web S3 qui correspond à ce que vous avez défini pour le nom Maintenant, nous pouvons nous diriger vers l'URL personnalisée et le tour est joué ! Nous y sommes presque, mais il nous manque une dernière chose ÃÂæ **Remarque Si votre domaine est enregistré auprès d'un autre bureau d'enregistrement de domaine (pas Amazon), vous devrez suivre différentes étapes pour le configurer. Habituellement, vous devrez ajouter un enregistrement CNAME avec une valeur du point de terminaison principal des compartiments S3. **Dépannage Si vous avez supprimé la zone hébergée créée par Amazon lors de l'enregistrement initial du domaine (je l'ai fait car les zones hébergées entraînent des frais), vous devra créer une nouvelle zone hébergée à partir de zéro - Sélectionnez âÃÂÃÂCréer une zone hébergéeâÃÂàet définissez le nom de domaine, par exemple âÃÂÃÂmonsiteweb. comâÃÂà- Cela générera de nouveaux ensembles d'enregistrements pour les types NS et SOA - Accédez à votre domaine enregistré et mettez à jour les valeurs des serveurs de noms avec celles générées dans le nouveau jeu d'enregistrements NS Demander un certificat Génial, le site est maintenant hébergé à l'aide de l'url personnalisée ! Cependant, nous ne pouvons y accéder que via le protocole HTTP Nous devons toujours nous assurer que nos sites sont sécurisés à l'aide du protocole HTTPS. Cela protège notre site et les utilisateurs contre les attaques par injection malveillantes et garantit l'authenticité Se diriger vers **Certificate Manager** dans la console AWS et demandez un nouveau certificat public (c'est gratuit). Vous serez invité à entrer les noms de domaine que vous souhaitez sécuriser Avant que le certificat puisse être émis, Amazon doit être en mesure de vérifier que vous possédez les domaines spécifiés Vous pouvez choisir entre deux méthodes de vérification : Email ou DNS Le courrier électronique est généralement plus simple, mais vous devrez vous assurer que vous pouvez accéder au courrier électronique utilisé pour enregistrer le domaine. Alternativement, si vous avez utilisé Amazon Registrar et Route53, vous pouvez sélectionner la méthode DNS. Cela vous oblige à ajouter des jeux d'enregistrements spécifiques à la zone hébergée, mais cela est principalement automatisé pour vous, donc c'est assez simple L'émission du certificat peut prendre quelques minutes après validation Lorsque tout est terminé, nous pouvons passer à l'étape finale ! Configuration de CloudFront Pour la dernière étape, nous allons utiliser **CloudFront **qui nous permet d'utiliser le nouveau certificat SSL pour servir le site Web avec HTTPS. CloudFront accélère également la distribution du contenu Web en le stockant à plusieurs emplacements périphériques et en le livrant à partir de l'emplacement périphérique le plus proche jusqu'à un utilisateur. Nous avons besoin **deux nouvelles distributions Web, une pour chaque compartiment S3. Accédez à CloudFront dans la console AWS et créez la première distribution Web Il existe de nombreux paramètres disponibles pour créer une distribution Web, mais pour les bases, nous n'avons besoin d'en modifier que cinq : Nom de domaine d'origine : définissez-le sur le point de terminaison du site Web S3 pour l'un des compartiments. Important : Ce champ vous donnera quelques options de saisie semi-automatique avec vos noms de compartiment S3. Cependant, leur utilisation peut entraîner des problèmes de redirection vers le point de terminaison du compartiment. Utilisez donc directement le point de terminaison du compartiment. Identifiant d'origine : rempli pour vous lorsque vous entrez le nom de domaine d'origine. Politique de protocole de visionneuse : définissez sur âÃÂÃÂRedirect HTTP to HTTPSâÃÂÃÂ. Noms de domaine alternatifs : cela doit correspondre au nom du compartiment S3 vers lequel vous pointez. Par exemple âÃÂÃÂmywebsite.comâÃÂÃÂ. Certificat SSL : Sélectionnez âÃÂÃÂCertificat SSL personnaliséâÃÂàet sélectionnez votre nouveau certificat dans la liste déroulante Répétez cette opération pour le deuxième compartiment S3 Les distributions peuvent mettre un certain temps à s'accélérer, alors pendant que nous attendons, faisons les étapes de finition De retour dans **S3 accédez à votre compartiment secondaire (www.mywebsite.com), dans l'onglet Propriétés et sous Hébergement de site Web statique, définissez le protocole de redirection sur HTTPS Enfin, retournez à **Route53 Nous devons mettre à jour les enregistrements A personnalisés que nous avons créés pour cibler désormais les distributions CloudFront plutôt que les compartiments S3. Pour chaque enregistrement, modifiez l'Alias ​​Target et sélectionnez la distribution CloudFront disponible dans la liste déroulante Remarque : Encore une fois, si vous utilisez un autre service DNS, vous devrez mettre à jour l'enregistrement CNAME à partir de là pour pointer vers le nom de domaine CloudFront. Et voila! Votre magnifique site Web est maintenant disponible sur le domaine personnalisé et servi avec HTTPS ! Merci d'avoir lu! J'espère que ce guide a été utile et agréable, j'aimerais savoir si vous l'avez trouvé utile.