Comment configurer une distribution Amazon CloudFront pour Amazon S3
Amazon CloudFront fonctionne parfaitement avec Amazon Simple Storage Service (Amazon S3) pour accélérer la diffusion de votre contenu Web et réduire la charge sur vos serveurs d'origine. Amazon S3 est un excellent choix pour ceux qui souhaitent stocker des données dans le cloud et les diffuser sous forme de contenu Web. Si vous préférez proposer des fonctionnalités ou du contenu dynamique, découvrez comment configurer une distribution Amazon CloudFront pour Amazon Elastic Compute Cloud (Amazon EC2).
Quels sont les avantages de la configuration d'une distribution CDN Amazon CloudFront avec Amazon S3 ?
La distribution du réseau de diffusion de contenu (CDN) Amazon CloudFront apporte de nombreux avantages aux utilisateurs d’Amazon S3.
Vitesses de transfert de données rapides
CloudFront vous permet de diffuser rapidement votre contenu aux internautes du monde entier. Les nombreux emplacements périphériques de CloudFront mettent en cache et diffusent votre contenu au plus près de vos utilisateurs, réduisant ainsi la latence et la capacité de décharge de votre serveur d'origine.
Sécurité et performances améliorées
CloudFront restreint également l'accès à votre compartiment S3. En autorisant uniquement les points de terminaison CloudFront à accéder à votre contenu, vos applications seront plus sécurisées et plus réactives.
Transferts de données rentables
La tarification de CloudFront vous permet de personnaliser votre distribution en fonction de votre budget. AWS ne facture pas les transferts de données entre une origine hébergée sur AWS telle que S3 et CloudFront, ce qui fait des récupérations d'origine une option rentable.
Comment accélérer la vitesse de chargement de votre contenu dynamique avec CloudFront et S3.
Dans la vidéo, découvrez comment configurer votre origine et commencez à tester votre distribution CDN CloudFront en seulement 15 minutes.
Étape 1. Accéder à la console AWS | Étape 2. Créer un compartiment Amazon S3 | Étape 3. Créer une distribution CloudFront | Étape 4. Spécifier vos paramètres de distribution | Étape 5. Configurer votre origine | Étape 6. Configurer l’identité d'accès à l'origine | Étape 7. Configurer le comportement du cache par défaut | Étape 8. Configurer vos TTL | Étape 9. Configurer des fonctionnalités supplémentaires | Étape 10. Tester votre distribution CloudFront
Étape 1. Accéder à la console AWS
Pour commencer, connectez-vous à votre console de gestion AWS et sélectionnez Amazon S3 dans la liste des services.
Étape 2. Créer un compartiment Amazon S3
À partir de là, vous pouvez :
- Créer un compartiment S3 si vous n'en avez pas déjà un, en sélectionnant Créer un compartiment.
- Spécifier un nom de compartiment conforme au DNS.
- Sélectionner la région dans laquelle vous souhaitez placer votre compartiment.
Vous pouvez ensuite créer votre compartiment. À l'aide de la console ou des API S3, vous pouvez ajouter d'autres fichiers à votre compartiment ou créer de nouveaux compartiments, si vous le souhaitez. Lorsque vous créez un compartiment S3 pour la première fois, la propagation du changement de nom DNS prend un certain temps, généralement jusqu'à 15 minutes.
Étape 3. Créer une distribution CloudFront
Accédez ensuite à CloudFront dans la section Mise en réseau et diffusion de contenu de la liste des services de la console AWS. Si vous avez déjà ouvert CloudFront, il se peut qu'il figure également dans votre historique pour un accès plus rapide. À partir de là, vous pouvez créer une nouvelle distribution Web en cliquant sur Créer une distribution.
Étape 4. Spécifier vos paramètres de distribution
Vous pouvez maintenant commencer à saisir vos paramètres de distribution. Cela commence par spécifier le domaine S3 que vous avez créé dans le champ Nom de domaine d'origine.
Étape 5. Configurer votre origine
Saisissez votre nom de domaine d'origine. Si vous avez créé le compartiment S3 dans le même compte AWS, il devrait apparaître dans une liste déroulante dans le champ. S'il se trouve dans un autre compte, vérifiez les paramètres de votre compartiment pour accorder des autorisations d'accès à CloudFront.
L'octroi d'autorisations d'accès permet à CloudFront de lire les objets de votre compartiment. Vous pouvez également spécifier un chemin d'origine si vous placez tous vos objets dans un sous-dossier.
Étape 6. Configurer l’identité d'accès à l'origine
À partir de là, vous pouvez restreindre l'accès à votre origine Amazon S3. Si vous sélectionnez « Oui », le système vous demandera de créer une identité d'accès à l'origine ou d'en sélectionner une existante, ce qui permettra à CloudFront de lire les objets de votre compartiment. Vous pouvez également autoriser CloudFront à mettre à jour la politique des compartiments pour vous.
Si vous choisissez de ne pas restreindre l'accès, les utilisateurs peuvent contourner votre CloudFront et accéder à votre contenu directement via l'URL du compartiment S3. Pour tout contenu privé ou sensible, il est important de définir les bonnes restrictions d'accès.
Dans cette section, vous pouvez également spécifier un chemin d'origine si vous stockez tous vos objets dans un sous-dossier. Vous pouvez fournir un en-tête personnalisé d’origine avec une valeur spécifiée que CloudFront transmettra à l'origine à chaque requête. Cette option est utile pour les origines personnalisées, car cela montre quelle requête provient de CloudFront et quelle requête provient d’un autre client.
Étape 7. Configurer le comportement du cache par défaut
Vous disposez ensuite de différentes options sous Paramètres de comportement du cache par défaut.
La politique de protocole Viewer vous permet de choisir la manière dont vous gérez les protocoles HTTP et HTTPS. Vous pouvez choisir de rediriger les requêtes HTTP vers HTTPS, ce qui vous permet par exemple de prendre en charge les demandes utilisant l'un ou l'autre des protocoles. Vous pouvez également spécifier de prendre en charge le protocole HTTPS uniquement, auquel cas le trafic HTTP sera interrompu. Cela garantit le respect des meilleures pratiques en matière de sécurité Web.
CloudFront vous permet de spécifier les méthodes HTTP que vous souhaitez qu'il accepte. Le paramètre par défaut est GET, HEAD. La sélection de l'une des autres options (GET, HEAD, OPTIONS ou GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE) vous permettra de configurer la manière dont CloudFront met en cache la méthode des options.
Vous pouvez ensuite spécifier les en-têtes HTTP que vous souhaitez transférer vers votre origine. Il est généralement recommandé d'autoriser les en-têtes en fonction du comportement de requête et de réponse pertinent pour votre origine Amazon S3. En particulier, si votre origine examine des en-têtes HTTP spécifiques pour décider quel objet renvoyer, vous devez les autoriser. Si vous transférez tous les en-têtes HTTP, CloudFront contournera en fait les couches de mise en cache et n'essaiera pas du tout de mettre l'objet en cache.
Étape 8. Configurer vos TTL
Dans la section suivante, vous pouvez spécifier la durée de vie (TTL), en gérant la durée pendant laquelle le contenu reste dans le cache avant d'expirer. Par défaut, l'option Utiliser les en-têtes du cache d’origine sera sélectionnée. Vous pouvez également personnaliser les limites de temps supérieures et inférieures des objets à stocker dans votre cache CloudFront.
Si vous choisissez de modifier ces paramètres, vous serez invité à saisir une TTL minimale et maximale en secondes. Ensuite, si votre en-tête renvoie une valeur supérieure à votre valeur minimale ou maximale, CloudFront utilisera votre TTL minimale ou maximale. Si elle se situe dans ces limites, CloudFront utilisera la valeur renvoyée par votre origine.
Si votre origine ne renvoie aucun en-tête de contrôle de cache, la TTL par défaut sera utilisée à la place. Dans notre vidéo d’exemple, la valeur par défaut est définie sur 86 400 secondes, soit l'équivalent de 24 heures.
Étape 9. Configurer des fonctionnalités supplémentaires
Dans la section suivante, vous pouvez choisir de mettre en cache le contenu en fonction des cookies et des paramètres de chaîne de requête.
Comme pour les en-têtes HTTP, la recommandation n'autorise que les cookies ou les valeurs de chaîne de requête qui sont pertinentes pour votre origine. Vous pouvez également les transférer et le CDN essaiera toujours de les mettre en cache. Faites attention si vous choisissez de tout transférer : cela pourrait réduire considérablement le taux d'accès au cache si CloudFront transfère tout. Par conséquent, un grand nombre d'objets peuvent être mis en cache à plusieurs reprises en raison des différentes variations possibles des requêtes et des valeurs des cookies.
D'autres options s'offrent alors à vous dans les champs suivants :
- Vous pouvez sélectionner Smooth Streaming si vous diffusez de la vidéo à la demande (VOD) avec CloudFront.
- Vous pouvez choisir de restreindre l'accès des spectateurs si les utilisateurs doivent accéder à du contenu privé dans CloudFront.
- Vous pouvez choisir de compresser les objets automatiquement si votre CloudFront diffuse des fichiers compressés.
- Vous pouvez créer différentes fonctions à invoquer à l'aide de la section Événements Lambda@Edge. Pour plus d'informations, consultez la section Personnalisation à la périphérie avec Lambda@Edge.
Dans Paramètres de distribution, vous pouvez spécifier les parties du réseau CloudFront que vous souhaitez utiliser. Par défaut, CloudFront utilise tous les emplacements périphériques pour des performances optimales. Cela vous permettra de diffuser votre contenu le plus rapidement possible dans le monde entier.
Si vous n'attendez des spectateurs que dans des régions spécifiques, telles que les États-Unis, le Canada et l'Europe, vous pouvez alors spécifier uniquement ces régions comme classe de tarifs inférieure. Cela ne signifie pas que les spectateurs résidant en dehors de ces régions ne peuvent pas accéder à votre contenu : CloudFront les redirigerait simplement vers leur emplacement périphérique le plus proche. If you will use AWS Web Application Firewall d'AWS (AWS WAF) with CloudFront, you can also configure those settings here.
Avant d'enregistrer votre distribution, il est important de gérer votre certificat SSL (Secure Sockets Layer). Deux options s'offrent à vous :
- Utilisez le certificat CloudFront par défaut.
- Téléchargez ou demandez un certificat SSL personnalisé auprès d'AWS Certificate Manager (ACM) et associez-le à votre distribution CloudFront. Cette option convient si vous utilisez un domaine personnalisé.
Enfin, vous pouvez utiliser les autres paramètres pour spécifier :
- Les versions HTTP prises en charge que vous souhaitez utiliser.
- Si vous allez utiliser la journalisation et quel compartiment pour les journaux CloudFront doit utiliser pour stocker les éventuels journaux d'accès.
- Si la journalisation des cookies est active.
À partir de là, vous pouvez saisir une description et créer la distribution. Une fois enregistrée, le déploiement de votre distribution dans le monde entier prendra environ 15 minutes.
Étape 10. Tester votre distribution CloudFront
Une fois que la distribution est prête, vous pouvez cliquer dessus pour vérifier vos paramètres. Le premier écran affiche un certain nombre d'onglets et les paramètres de configuration que vous avez spécifiés. À partir de là, vous pouvez ajouter des origines supplémentaires et plusieurs comportements de cache, si nécessaire.
CloudFront vous permet également de créer des pages d'erreur personnalisées ou de modifier la durée pendant laquelle les réponses d'erreur restent dans le cache en sélectionnant Créer une réponse d'erreur client. Vous pouvez adapter ces paramètres pour chaque code d'erreur HTTP. Supposons que vous souhaitiez réessayer toutes les 403 erreurs, vous pourriez spécifier une TTL minimale de 0 seconde. Par défaut, CloudFront met tout en cache pendant 300 secondes pour alléger une partie de la charge sur l'origine. Vous pouvez également créer des réponses d'erreur personnalisées pour chaque code d'erreur, si vous le souhaitez.
Dans l'onglet Restrictions, vous pouvez activer les restrictions géographiques pour autoriser ou interdire aux spectateurs de certains lieux de voir votre contenu. L'onglet Invalidations vous permet de supprimer des objets personnalisés des caches périphériques de CloudFront. Enfin, vous pouvez utiliser l'onglet Tags pour appliquer des balises personnalisées, ce qui vous permet d'organiser et d'identifier vos distributions.
Une fois le processus terminé, copiez le domaine et collez-le dans votre navigateur pour voir votre distribution en action. Vous pouvez également apprendre comment diffuser le contenu dynamique de votre application à l'aide de CloudFront avec une instance de serveur Web Amazon EC2.
Modèle Amazon CloudFormation pour vous aider à démarrer avec CloudFront
Le modèle Amazon CloudFormation vous aidera également à démarrer avec CloudFront. Ce modèle lancera un compartiment S3 pour stocker vos fichiers statiques à grande échelle, puis diffusera ce contenu à vos utilisateurs via le CDN CloudFront.
Pour plus d'informations, lisez le billet de blog intitulé Amazon S3 + Amazon CloudFront: A Match Made in the Cloud et obtenez le modèle CloudFormation.
Ressources supplémentaires sur la diffusion de contenu avec CloudFront
Vous ne savez pas comment démarrer avec Cloudfront ? Consultez notre guide de démarrage avec les réseaux de diffusion de contenu ou rendez-vous sur le hub de documentation du réseau de diffusion de contenu Amazon Web Services.
Consultez ces ressources relatives à la gestion de votre distribution CloudFront sur S3 dans notre centre de connaissances Premium Support :
Ressources supplémentaires
Découvrez plus de ressources Amazon CloudFront