Existe-t-il des cas d'utilisation qui se prêtent mieux à Amazon Cloudfront sur s3 ou l'inverse? J'essaie de comprendre la différence entre les 2 à travers des exemples.
Existe-t-il des cas d'utilisation qui se prêtent mieux à Amazon Cloudfront sur s3 ou l'inverse? J'essaie de comprendre la différence entre les 2 à travers des exemples.
Réponses:
Amazon S3 est conçu pour un stockage de fichiers à grande capacité et à faible coût dans une région géographique spécifique. * Les coûts de stockage et de bande passante sont assez faibles.
Amazon CloudFront est un réseau de distribution de contenu (CDN) qui procède à la mise en cache et à la mise en cache des données Web à des emplacements périphériques aussi proches que possible des utilisateurs.
Lorsque les utilisateurs finaux demandent un objet à l'aide de ce nom de domaine, ils sont automatiquement acheminés vers l'emplacement périphérique le plus proche pour une livraison hautes performances de votre contenu. ( Amazon )
Les données servies par CloudFront peuvent ou non provenir de S3. Puisqu'il est plus optimisé pour la vitesse de livraison, la bande passante coûte un peu plus.
Si votre base d'utilisateurs est localisée , vous ne verrez pas trop de différence avec S3 ou CloudFront (mais vous devez choisir le bon emplacement pour votre compartiment S3: US, EU, APAC). Si votre base d'utilisateurs est répartie dans le monde entier et que la vitesse est importante, CloudFront peut être une meilleure option.
S3 et CloudFront autorisent les alias de domaine, mais CloudFront autorise plusieurs alias de sorte que d1.mystatics.com
, d2.mystatics.com
et d3.mystatics.com
pourraient tous pointer vers le même emplacement augmentant la capacité de téléchargements parallèles (cela était recommandé par Google mais avec l'introduction de SPDY et HTTP / 2 est de moindre importance).
CloudFront prend également en charge CORS à partir de 2014 (merci sergiopantoja).
* Remarque: S3 peut désormais se répliquer automatiquement vers d'autres régions à partir de 2015.
CloudFront et S3 Bucket ne sont pas les mêmes . En termes simples: CloudFront vous permet d'accélérer la livraison de contenu de votre contenu Web via Content Delivery Network (CDN) dans des emplacements périphériques, tandis que les compartiments S3 sont l'endroit où vous stockez vos fichiers réels. Les sources CloudFront ne proviennent pas nécessairement de S3, mais pour une visualisation plus facile de l'intégration de S3 avec CloudFront:
Une autre différence majeure est que CloudFront vous permet de mettre en miroir le site sur votre serveur. Cloudfront met ensuite en cache les fichiers tels que les images, les mp3 ou les vidéos à l'aide de son réseau de diffusion de contenu.
Cela vous évite d'avoir à dupliquer vos actifs comme vous le feriez lorsque vous utilisez Amazon S3.
Cependant, après l'expiration d'un fichier, CloudFront le récupérera à nouveau de votre site en direct (au prix coûtant). Donc, le cloud front est le meilleur pour les fichiers fréquemment consultés, et moins pour les fichiers rarement utilisés.
Une façon de définir l'expiration du fichier pour apache est dans .htaccess. Par exemple
<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>
Amazon CLOUDFRONT et S3 sont deux services différents fournis par Amazon Web Services.
Amazon S3 est un service de stockage dans lequel nous pouvons stocker des fichiers statiques comme:
css, images, javascripts, vidéos, etc ...
Amazon CloudFront est un middleware qui se situe entre un utilisateur demandant un fichier à AWS et le centre de données S3 dans une région spécifique, CloudFront est utilisé pour accélérer la distribution de votre contenu Web statique et dynamique de S3 à l'utilisateur.
Vous pouvez mieux le comprendre par un exemple: -
Par exemple, votre S3 est situé dans la région AWS US East (Virginie du Nord) où se trouve un centre de données pour stocker vos fichiers.
Si un utilisateur indien essaie d'accéder à un fichier à partir d'un serveur AWS en Virginie, l'utilisateur devra se rendre à cet emplacement spécifique avec une demande, ce qui prendra beaucoup de temps.
Ce que fait CloudFront, c'est qu'il se présente comme un middleware entre l'utilisateur et AWS S3.
Les fichiers les plus souvent utilisés peuvent être mis en cache sur CloudFront et ce qu'il fait, c'est qu'il réplique ces fichiers sur des emplacements périphériques (pour fournir du contenu aux utilisateurs finaux avec une latence plus faible, Amazon CloudFront utilise un réseau mondial d'emplacements périphériques pour la livraison de contenu).
Si le contenu se trouve déjà à l'emplacement périphérique avec la latence la plus faible, CloudFront le fournit immédiatement. Si le contenu ne se trouve pas actuellement dans cet emplacement périphérique, CloudFront le récupère à partir d'un compartiment Amazon S3 et le fournit à l'utilisateur aussi rapidement que possible.
Chaque demande reçoit un nouveau DNS de CloudFront vers le S3, ce qui entraînerait une baisse du trafic ainsi qu'un traitement des demandes plus parallèle.
Voici la liste des emplacements de bord actuels en juillet-2016: -
États Unis
L'Europe
Amsterdam, Pays-Bas (2)
Dublin, Irlande
Francfort, Allemagne (3)
Londres, Angleterre (3)
Madrid, Espagne
Marseille, France
Milan, Italie
Paris, France (2)
Stockholm, Suède
Warsaw, Pologne
Asie
Chennai, Inde
Hong Kong (2)
Mumbai, Inde
Manille, Philippines
New Delhi, Inde
Osaka, Japon
Séoul, Corée (3)
Singapour (2)
Taipei, Taiwan
Tokyo, Japon (2)
Australie
Melbourne, Australie
Sydney, Australie
Amérique du Sud
São Paulo, Brésil
Rio de Janeiro, Brésil
De cela, vous pouvez conclure que si les utilisateurs sont limités sont de la même région que votre S3 est hébergé, alors vous n'avez pas besoin d'aller pour CloudFront, et si le nombre d'utilisateurs est augmenté au niveau mondial, alors vous devez certainement utiliser CloudFront pour une meilleure latence et un meilleur contrôle du trafic.
Un autre cas d'utilisation de CloudFront sur S3 est que vous pouvez utiliser un certificat SSL pour un domaine personnalisé dans CloudFront alors que vous ne pouvez pas dans S3. Une très bonne raison à mon humble avis!
Amazon S3 est un service de stockage simple, qui peut être utilisé pour une grande quantité d'informations, à savoir des vidéos, des images, des fichiers PDF, etc.
CloudFront est un réseau de diffusion de contenu, plus proche de l'utilisateur final et utilisé pour rendre les informations disponibles sur Amazon S3 dans les plus brefs délais.
Un exemple de cas d'utilisation est la vidéo à la demande.
Quelques avantages d'utiliser CloudFront pour un cas d'utilisation correct:
Autres cas d'utilisation possibles:
Un aspect qui manque ici est:
Amazon Cloudfront propose également des prix inférieurs à ceux d'Amazon S3 à des niveaux d'utilisation plus élevés.
Cloudfront CDN est destiné à la distribution de contenu sur plusieurs serveurs répartis géographiquement (CSS, JS)
Alors que s3 est plus un magasin de ressources par utilisateur moins utilisé (images utilisateur, PDF).
Vous pouvez servir vos ressources Cloudfront à partir d'un compartiment s3 en contournant complètement votre serveur Web.
( Utile dans les situations où votre serveur Web précompile et stocke les images et le script java. Les stocker sur s3 signifie que l'empreinte mémoire de votre serveur est réduite )
Ex: Sur Heroku Slugs (les tailles d'applications conformes peuvent être réduites en utilisant s3 et en les enveloppant avec du CDN front cloud améliorera le débit)
En premier lieu, je voudrais expliquer qu'Amazon S3 est le stockage cloud et Cloud Front est le réseau de distribution de contenu (CDN).
Vous pouvez donc utiliser pour stocker les fichiers sur S3 et pouvez créer la distribution pour servir le contenu sur Internet. De plus, vous pouvez créer une distribution pour les régions spécifiques.
Vous pouvez voir une comparaison entre Amazon S3 et Amazon Cloudfront à partir d'ici: http://www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
[Divulgation: Bucket Explorer]
Amazon S3 est une excellente plate-forme de stockage d'objets si vous recherchez un système de stockage distribué mondialement pour vous protéger contre les régions / zones en baisse. Il est également idéal pour le contenu statique / fixe qui n'est pas transactionnel et qui change, comme les images, les vidéos, les images, les sauvegardes, etc. J'espère que cela aide!