Amazon CloudFront
Manuel du développeur (Version de l'API 2016-09-29)

Qu'est-ce qu'Amazon CloudFront ?

Amazon CloudFront est un service web qui accélère la distribution de vos contenus web statiques et dynamiques, tels que des fichiers .html, .css, .js, multimédias et image, à vos utilisateurs. CloudFront diffuse votre contenu à travers un réseau mondial de centres de données appelés emplacements périphériques. Lorsqu'un utilisateur demande le contenu que vous proposez avec CloudFront, il est dirigé vers l'emplacement périphérique qui fournit la latence la plus faible et, par conséquent, le contenu est remis avec les meilleures performances possibles.

  • Si le contenu se trouve déjà dans l'emplacement périphérique avec la plus faible latence, CloudFront le remet immédiatement.

  • Si le contenu ne se trouve pas à cet emplacement périphérique, CloudFront l'extrait d'une origine que vous avez définie — comme un compartiment Amazon S3, un canal MediaPackage ou un serveur HTTP (par exemple, un serveur web), et que vous avez identifiée comme étant la source de la version définitive de votre contenu.

Par exemple, supposons que vous diffusez une image à partir d'un serveur web traditionnel, et non pas à partir de CloudFront. Par exemple, vous pouvez diffuser une image, sunsetphoto.png, à l'aide de l'URL http://example.com/sunsetphoto.png.

Vos utilisateurs peuvent facilement accéder à cette URL et voir l'image. Néanmoins, ils ignorent probablement que leur requête a été transmise d'un réseau à un autre — jusqu'à ce que l'image soit trouvée — par le biais de l'enchevêtrement complexe de réseaux interconnectés qui forment Internet.

CloudFront accélère la distribution de votre contenu en acheminant chaque requête d'utilisateur vers l'emplacement périphérique le mieux placé pour servir votre contenu via le réseau principal AWS. En général, il s'agit d'un serveur périphérique CloudFront qui offre la diffusion la plus rapide jusqu'à l'utilisateur. L'utilisation du réseau AWS réduit considérablement le nombre de réseaux par lesquels les requêtes de vos utilisateurs doivent transiter et améliore ainsi les performances. Les utilisateurs bénéficient d'une latence plus faible — durée nécessaire au chargement du premier octet du fichier — et de débits de transfert des données plus élevés.

Il en résulte également une fiabilité et une disponibilité accrues, car des copies des fichiers (également appelés objets) sont désormais détenues (ou mises en cache) dans plusieurs emplacements périphériques situés aux quatre coins du monde.

Comment configurer CloudFront pour diffuser du contenu

Vous créez une distribution CloudFront pour indiquer à CloudFront l'endroit à partir duquel vous souhaitez que le contenu soit diffusé, et les détails sur le suivi et la gestion de la diffusion de contenu. Ensuite, CloudFront utilise des ordinateurs — serveurs périphériques — qui se trouvent à proximité de vos utilisateurs pour diffuser ce contenu rapidement lorsque quelqu'un souhaite le consulter ou l'utiliser.

 
				Fonctionnement de CloudFront

Comment configurer CloudFront pour diffuser votre contenu

  1. Vous précisez les serveurs d'origine, comme un compartiment Amazon S3 ou votre propre serveur HTTP, à partir duquel CloudFront récupère vos fichiers qui sont ensuite distribués à partir d'emplacements périphériques CloudFront du monde entier.

    Un serveur d'origine stocke la version d'origine définitive de vos objets. Si vous diffusez du contenu sur HTTP, votre serveur d'origine est soit un compartiment Amazon S3 soit un serveur HTTP, tel qu'un serveur web. Votre serveur HTTP peut s'exécuter sur une instance Amazon Elastic Compute Cloud (Amazon EC2) ou sur un serveur que vous gérez vous-même ; ces serveurs sont également appelés origines personnalisées.

    Si vous utilisez le protocole Adobe Media Server RTMP pour distribuer des fichiers multimédias à la demande, votre serveur d'origine est toujours un compartiment Amazon S3.

  2. Téléchargez vos fichiers sur vos serveurs d'origine. Vos fichiers, également connus sous le nom d'objets, incluent normalement des pages web, des images et des fichiers multimédias. Néanmoins, il peut s'agir de n'importe quel élément susceptible d'être diffusé via HTTP ou une version prise en charge d'Adobe RTMP, le protocole utilisé par Adobe Flash Media Server.

    Si vous utilisez un compartiment Amazon S3 comme serveur d'origine, vous pouvez rendre les objets de votre compartiment accessibles en lecture au public. Toute personne connaissant les URL CloudFront de vos objets pourra ainsi y accéder. Vous avez également la possibilité de garder des objets privés et de contrôler leur accès. Voir Offre de contenu privé avec des URL et des cookies signés.

  3. Créez une distribution CloudFront qui indique à CloudFront auprès de quels serveurs d'origine récupérer vos fichiers lorsque les utilisateurs demandent des fichiers par le biais de votre application ou site web. Au même moment, spécifiez les détails de types suivants : si CloudFront doit consigner toutes les requêtes et si vous souhaitez activer la distribution dès sa création.

  4. CloudFront attribue un nom de domaine à votre nouvelle distribution qui s'affiche dans la console CloudFront ou qui est renvoyé dans la réponse à une demande par programmation, par exemple, une demande d'API.

  5. CloudFront envoie la configuration de votre distribution (et non pas votre contenu) à tous ses emplacements périphériques — soit un ensemble de serveurs dans des centres de données situées dans diverses zones géographiques où CloudFront met en cache des copies de vos objets.

Tandis que vous développez votre site Web ou votre application, utilisez le nom de domaine que CloudFront fournit pour vos URL. Par exemple, si CloudFront renvoie d111111abcdef8.cloudfront.net comme nom de domaine pour votre distribution, l'URL de logo.jpg dans votre compartiment Amazon S3 (ou dans le répertoire racine d'un serveur HTTP) sera http://d111111abcdef8.cloudfront.net/logo.jpg.

Sinon, vous pouvez configurer votre distribution CloudFront de manière à utiliser votre propre nom de domaine. Dans ce cas, l'URL pourrait être http://www.example.com/logo.jpg.

Vous pouvez aussi configurer votre serveur d'origine de manière à ajouter des en-têtes aux fichiers, afin d'indiquer combien de temps les fichiers doivent rester dans le cache des emplacements périphériques CloudFront. Par défaut, chaque objet reste dans l'emplacement périphérique pendant 24 heures avant d'arriver à expiration. Le délai d'expiration minimum est de 0 secondes. Il n'existe pas de délai d'expiration maximum. Pour plus d'informations, consultez Gestion de la durée de conservation de contenu dans le cache périphérique (expiration).