Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Commencez avec un site Web statique sécurisé
Vous pouvez commencer à utiliser Amazon CloudFront en utilisant la solution décrite dans cette rubrique pour créer un site Web statique sécurisé pour votre nom de domaine. Un site Web statique utilise uniquement des fichiers statiques, tels que du HTML, du CSS, JavaScript des images et des vidéos, et n'a pas besoin de serveurs ou de traitement côté serveur. Avec cette solution, votre site web bénéficie des avantages suivants :
-
Utilise le stockage durable d'Amazon Simple Storage Service (Amazon S3) – Cette solution crée un compartiment Amazon S3 pour héberger le contenu de votre site web statique. Pour mettre à jour votre site web, il vous suffit de charger vos nouveaux fichiers dans le compartiment S3.
-
Accéléré par le réseau de diffusion de CloudFront contenu Amazon — Cette solution crée une CloudFront distribution pour diffuser votre site Web aux visiteurs avec une faible latence. La distribution est configurée avec le contrôle d'accès à l'origine (OAC) pour garantir que le site Web est accessible uniquement via S3 CloudFront, et non directement depuis S3.
-
Est sécurisé par HTTPS et des en-têtes de sécurité : cette solution crée un certificat SSL/TLS dans AWS Certificate Manager (ACM) et l'attache à la distribution. CloudFront Ce certificat permet à la distribution de diffuser le site web de votre domaine en toute sécurité avec HTTPS.
-
Est configurée et déployée avec AWS CloudFormation: cette solution utilise un AWS CloudFormation modèle pour configurer tous les composants, afin que vous puissiez vous concentrer davantage sur le contenu de votre site Web et moins sur la configuration des composants.
Cette solution est open source sur GitHub. Pour afficher le code, envoyer une demande d'extraction ou ouvrir un problème, accédez à http://github.com/aws-samples/amazon-cloudfront-secure-static-site
Présentation de la solution
Le diagramme suivant présente un aperçu du fonctionnement de cette solution de site web statique :

-
L'utilisateur demande le site web à l'adresse www.example.com.
-
Si l'objet demandé est mis en cache, CloudFront renvoie l'objet de son cache au visualiseur.
-
Si l'objet n'est pas dans le CloudFront cache, CloudFront demande l'objet depuis l'origine (un compartiment S3).
-
S3 renvoie l'objet à CloudFront.
-
CloudFront met en cache l'objet.
-
Les objets sont renvoyés au visualiseur. Les demandes suivantes pour l'objet qui arrivent au même emplacement CloudFront périphérique sont traitées à partir du CloudFront cache.
Déployez la solution
Pour déployer cette solution de site web statique sécurisé, vous pouvez choisir l'une des options suivantes :
-
Utilisez la AWS CloudFormation console pour déployer la solution avec le contenu par défaut, puis téléchargez le contenu de votre site Web sur Amazon S3.
-
Clonez la solution sur votre ordinateur pour ajouter le contenu de votre site web. Puis, déployez la solution avec l’ AWS Command Line Interface (AWS CLI).
Note
Vous devez utiliser la région USA Est (Virginie du Nord) pour déployer le CloudFormation modèle.
Rubriques
Prérequis
Pour utiliser cette solution, les prérequis suivant sont nécessaires :
-
Un nom de domaine enregistré, par exemple example.com, pointant vers une zone hébergée Amazon Route 53. La zone hébergée doit se trouver dans la même zone que celle Compte AWS où vous déployez cette solution. Si vous n'avez pas de nom de domaine enregistré, vous pouvez en enregistrer un avec Route 53. Si vous possédez un nom de domaine enregistré, mais qu'il ne pointe pas vers une zone hébergée Route 53, configurez Route 53 en tant que votre service DNS.
-
AWS Identity and Access Management Autorisations (IAM) pour lancer des CloudFormation modèles qui créent des rôles IAM, et autorisations pour créer toutes les AWS ressources de la solution. Pour plus d’informations, consultez Contrôle de l’accès à l’aide de AWS Identity and Access Management dans le Guide de l’utilisateur AWS CloudFormation .
Vous assumez les coûts encourus pour utiliser cette solution. Pour plus d'informations sur les coûts, consultez les pages de tarification correspondantes Service AWS
Utiliser la AWS CloudFormation console
Pour déployer à l'aide de la CloudFormation console
-
Lancez cette solution dans la AWS CloudFormation console
. Si nécessaire, connectez-vous à votre Compte AWS. -
L'assistant de création d'une pile s'ouvre dans la CloudFormation console, avec des champs préremplis qui spécifient le CloudFormation modèle de cette solution.
Au bas de la page, sélectionnez Next.
-
Dans la page Spécifier les détails de la pile, saisissez des valeurs pour les champs suivants :
-
SubDomain— Entrez le sous-domaine à utiliser pour votre site Web. Par exemple, si le sous-domaine est www, votre site Web est disponible à l'adresse
www.example.com.
(remplacez exemple.com par votre nom de domaine, comme expliqué dans la bullet suivante.) -
DomainName— Entrez votre nom de domaine, tel que
example.com
. Ce domaine doit pointer vers une zone hébergée Route 53. -
HostedZoneId— L'ID de zone hébergée Route 53 de votre nom de domaine.
-
CreateApex— (Facultatif) Créez un alias pour le domaine apex (exemple.com) dans votre CloudFront configuration.
-
-
Lorsque vous avez terminé, choisissez Next (Suivant).
-
(Facultatif) Dans la page Configure stack options (Configurer les options de pile), ajoutez des balises et d'autres options de pile.
-
Lorsque vous avez terminé, choisissez Next (Suivant).
-
Dans la page Vérification, faites défiler jusqu'au bas de la page, puis sélectionnez les deux cases de la section Capacités. Ces fonctionnalités permettent CloudFormation de créer un rôle IAM qui permet d'accéder aux ressources de la pile et de nommer les ressources de manière dynamique.
-
Choisissez Créer une pile.
-
Attendez la fin de la création de la pile. La pile crée des piles imbriquées, ce qui peut prendre plusieurs minutes. Une fois achevée, l'État passe à CREATE_COMPLETE.
Lorsque le statut est CREATE_COMPLETE, accédez à http ://
www.example.com
pour consulter votre site Web (remplacez www.exemple.com par le sous-domaine et le nom de domaine que vous avez spécifiés à l'étape 3). Vous devriez voir le contenu par défaut du site web :
Pour remplacer le contenu par défaut du site web par le vôtre
Ouvrez la console Amazon S3 à l'adresse http://console.aws.amazon.com/s3/
. -
Choisissez le bucket dont le nom commence par amazon-cloudfront-secure-static-site-s3bucketroot -.
Note
Assurez-vous de choisir le compartiment dont le nom contient s3bucketroot et pas s3bucketlogs. Le compartiment dont le nom inclut s3bucketroot contient le contenu du site web. Celui dont le nom inclut s3bucketlogs ne contient que des fichiers journaux.
-
Supprimez le contenu par défaut du site web, puis chargez le vôtre.
Note
Si vous avez consulté votre site Web avec le contenu par défaut de cette solution, il est probable qu'une partie du contenu par défaut soit mise en cache dans un emplacement CloudFront périphérique. Pour vous assurer que les visiteurs voient le contenu mis à jour de votre site Web, invalidez les fichiers pour supprimer les copies mises en cache des emplacements CloudFront périphériques. Pour de plus amples informations, veuillez consulter Invalider des fichiers pour supprimer du contenu.
Cloner la solution localement
Prérequis
Pour ajouter votre contenu du site web avant de déployer cette solution, vous devez empaqueter les artefacts de cette dernière localement, ce qui demande Node.js et npm. Pour de plus amples informations, veuillez consulter http://www.npmjs.com/get-npm
Pour ajouter votre contenu du site web et déployer la solution
-
Clonez ou téléchargez la solution à partir de http://github.com/aws-samples/amazon-cloudfront-secure-static-site
. Après le clonage ou le téléchargement, ouvrez une invite de commande ou un terminal et accédez au dossier amazon-cloudfront-secure-static-site
. -
Exécutez la commande suivante pour installer et empaqueter les artefacts de la solution :
make package-static
-
Copiez votre contenu du site web dans le dossier
www
, en écrasant le contenu par défaut du site web. -
Exécutez la AWS CLI commande suivante pour créer un compartiment Amazon S3 afin de stocker les artefacts de la solution.
amzn-s3-demo-bucket-for-artifacts
Remplacez-le par votre propre nom de compartiment.aws s3 mb s3://
amzn-s3-demo-bucket-for-artifacts
--region us-east-1 -
Exécutez la AWS CLI commande suivante pour empaqueter les artefacts de la solution sous forme de CloudFormation modèle.
amzn-s3-demo-bucket-for-artifacts
Remplacez-le par le nom du bucket que vous avez créé à l'étape précédente.aws cloudformation package \ --region us-east-1 \ --template-file templates/main.yaml \ --s3-bucket
amzn-s3-demo-bucket-for-artifacts
\ --output-template-file packaged.template -
Exécutez la commande suivante pour déployer la solution avec CloudFormation, en remplaçant les valeurs suivantes :
-
your-CloudFormation-stack-name
— Remplacez par le nom de la CloudFormation pile. -
example.com
— Remplacez-le par votre nom de domaine. Ce domaine doit pointer vers une zone hébergée Route 53 dans le même domaine Compte AWS. -
www
— Remplacez par le sous-domaine à utiliser pour votre site Web. Par exemple, si le sous-domaine est www, votre site web est disponible à l'adresse www.exemple.com. -
hosted-zone-ID
— Remplacez par l'ID de zone hébergée Route 53 de votre nom de domaine.
aws cloudformation deploy \ --region us-east-1 \ --stack-name
your-CloudFormation-stack-name
\ --template-file packaged.template \ --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \ --parameter-overrides DomainName=example.com
SubDomain=www
HostedZoneId=hosted-zone-ID
-
(Facultatif) Pour déployer la pile avec un apex de domaine, exécutez plutôt la commande suivante.
aws --region us-east-1 cloudformation deploy \ --stack-name
your-CloudFormation-stack-name
\ --template-file packaged.template \ --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \ --parameter-overrides DomainName=example.com
SubDomain=www
HostedZoneId=hosted-zone-ID
CreateApex=yes
-
-
Attendez la fin de la création de la CloudFormation pile. La pile crée des piles imbriquées, ce qui peut prendre plusieurs minutes. Une fois achevée, l'État passe à CREATE_COMPLETE.
Lorsque le statut passe à CREATE_COMPLETE, accédez http://www.example.com à pour consulter votre site Web (remplacez www.example.com par le sous-domaine et le nom de domaine que vous avez spécifiés à l'étape précédente). Vous devriez voir le contenu de votre site web.
Recherche des journaux d'accès
Cette solution active les journaux d'accès pour la distribution CloudFront. Procédez comme suit pour localiser les journaux d'accès de la distribution.
Pour localiser les journaux d'accès de la distribution
Ouvrez la console Amazon S3 à l'adresse http://console.aws.amazon.com/s3/
. -
Choisissez le bucket dont le nom commence par amazon-cloudfront-secure-static-site-s3bucketlogs -.
Note
Assurez-vous de choisir le compartiment dont le nom contient s3bucketlogs et pas s3bucketroot. Le compartiment dont le nom inclut s3bucketlogs contient des fichiers journaux. Celui dont le nom inclut s3bucketroot contient le contenu du site web.
-
Le dossier nommé cdn contient les journaux CloudFront d'accès.