Implémentation d'Amazon S3 pour les blogs WordPress

Amazon s3 wordpress

Remarque: Depuis l'écriture de ceci, nous avons depuis migré vers Volant avec l'un de nos Content Delivery Network alimenté par StackPath CDN, un CDN beaucoup plus rapide qu'Amazon.378

Sauf si vous êtes sur une plate-forme d'hébergement d'entreprise haut de gamme, il est difficile d'obtenir des performances d'entreprise avec un CMS comme WordPress. Le partage de charge, les sauvegardes, la redondance, la réplication et la livraison de contenu ne sont pas bon marché.

De nombreux responsables informatiques consultent des plates-formes comme WordPress et les utilisent car elles lunette de vue Haute Gamme gratuite. La gratuité est relative, cependant. Mettez WordPress sur une infrastructure d'hébergement typique et quelques centaines d'utilisateurs simultanés peuvent mettre votre site à l'arrêt. Pour aider les performances de mon blog, cette semaine, j'ai modifié mon installation de WordPress en poussant tous les graphiques d'Amazon S3 (Amazon Simple Storage Service). Cela laisse mon serveur simplement pousser HTML via PHP / MySQL.

Amazon S3 fournit une interface de services Web simple qui peut être utilisée pour stocker et récupérer n'importe quelle quantité de données, à tout moment, de n'importe où sur le Web. Il permet à tout développeur d'accéder à la même infrastructure de stockage de données hautement évolutive, fiable, rapide et peu coûteuse qu'Amazon utilise pour gérer son propre réseau mondial de sites Web. Le service vise à maximiser les avantages d'échelle et à transmettre ces avantages aux développeurs.

La conversion du site pour Amazon S3 a demandé un peu de travail, mais voici les bases:

  1. Inscrivez-vous Amazon Web Services.
  2. Chargez le module complémentaire Firefox pour S3. Cela vous fournit une excellente interface pour gérer le contenu dans S3.
  3. Ajouter un seau, dans ce cas j'ai ajouté www.martech.zone.
  4. Ajoutez un CNAME à votre registraire de domaine pour pointer un sous-domaine de votre site vers Amazon S3 pour un hébergement virtuel.
  5. Téléchargez et installez le plugin WordPress pour Amazon S3.
  6. Définissez votre ID de clé d'accès AWS et votre clé secrète, puis cliquez sur Mettre à jour.
  7. Sélectionnez le sous-domaine / compartiment que vous avez créé ci-dessus pour le Utilisez ce seau réglage.

wp-amazon-s3-settings.png

Les prochaines étapes étaient la partie amusante! Je ne voulais pas simplement diffuser le contenu futur de S3, je voulais diffuser tout le contenu, y compris les publicités, les thèmes et les anciens fichiers multimédias.

  1. J'ai créé des dossiers pour annonces, thèmeset ajouts dans mon seau sur S3.
  2. J'ai sauvegardé tout mon contenu actuel (images et fichiers multimédias) dans les dossiers applicables.
  3. J'ai modifié mon fichier CSS dans mon thème pour extraire toutes les images de www.martech.zone/themes.
  4. J'ai fait un Recherche et remplacement MySQL et mis à jour chaque référence au contenu multimédia à afficher à partir du sous-domaine S3.
  5. J'ai mis à jour toutes les références d'image pour les annonces à afficher à partir du dossier annonces sur le sous-domaine S3.

À partir de maintenant, je dois simplement télécharger des médias sur S3 plutôt que d'utiliser la boîte de dialogue de téléchargement d'image par défaut pour WordPress. Le plugin fait un travail fantastique en plaçant une icône S3 au même emplacement que les icônes Télécharger / Insérer dans l'admin WordPress.

Le déplacement de toutes les données et l'exécution sur S3 pendant quelques jours maintenant a entraîné des frais S0.12 de 3 USD, donc je ne suis pas préoccupé par les frais impliqués - peut-être quelques dollars par mois sont-ils ce que cela coûtera. Du côté positif, si je reçois une tonne de visiteurs, je devrais être capable de gérer beaucoup plus que ce que la plate-forme actuelle gère. Mon site charge la page d'accueil dans environ 40% du temps avant, donc je suis assez content du déménagement!

Le plus beau à propos de ce déménagement est qu'il n'a en fait nécessité aucun développement!

28 Commentaires

  1. 1

    Hi,

    J'ai un compte Amazon S3, mais après avoir essayé de comprendre les choses, je l'ai juste laissé parce que c'est trop difficile. Le complément firefox pour S3 le rend-il beaucoup plus facile ?

    • 2

      Salut Ramin,

      Le module complémentaire Firefox était vraiment un élément clé du puzzle. Vous devez absolument avoir un seau en place avant que le plugin ne fonctionne - ce qui en fait un jeu d'enfant.

      Doug

  2. 3

    Je dois ajouter que vous devrez faire pointer votre CNAME vers le nouveau your_unique_cloudfront_distribution_name.cloudfront.net au lieu de votre_sous-domaine_unique.s3.amazonaws.com. Mais après cela, vous le traitez comme un compartiment S3 normal.

    Cela coûte plus cher lorsque vous utilisez l'option CloudFront à vitesse plus élevée/faible latence. Si vous décidez que vous préférez revenir à la version S3 standard, changez simplement votre CNAME pour qu'il pointe vers s3.amazonaws.com à la place.

    Il y a environ un an, j'écrivaishttp://www.carltonbale.com/tag/amazon-s3/"a quelques articles de blog sur Amaon S3 pour toute personne intéressée.

  3. 4

    Si vous recherchez une augmentation de vitesse encore plus importante, transformez votre compartiment Amazon S3 en un compartiment Amazon CloudFront, ce qui crée un véritable réseau mondial de distribution de contenu multiserveur à faible latence. Voici un lien avec tous les détails : http://aws.amazon.com/cloudfront/faqs/

    En outre, le plug-in wp-supercache peut augmenter considérablement la vitesse sur les sites à fort trafic, car il réduit considérablement la charge du processeur et les appels à la base de données.

    • 5

      Très cool Carlton ! Il s'agit donc en grande partie d'un réseau distribué tel que Akamai. Je ne savais pas qu'ils avaient ça de disponible ! Je peux en profiter après avoir vu certains des coûts.

      J'ai déjà activé la mise en cache avec wp, mais j'ai du contenu dynamique, donc j'ai vraiment eu du mal avec, car il mettait parfois en cache le contenu que je voulais réellement charger en temps réel.

      • 6

        Douglas,

        D'après leur description, on dirait qu'Amazon fait quelque chose de complètement différent, disent-ils :

        « Amazon CloudFront utilise 14 emplacements périphériques dans les principaux marchés du monde. Huit se trouvent aux États-Unis (Ashburn, VA ; Dallas/Fort Worth, TX ; Los Angeles, CA ; Miami, FL ; Newark, NJ ; Palo Alto, CA ; Seattle, WA ; St. Louis, MO). Quatre sont en Europe (Amsterdam ; Dublin ; Francfort ; Londres). Deux sont en Asie (Hong Kong, Tokyo).

        Ils profitent essentiellement des échanges Internet pour tirer parti de leur proximité avec l'utilisateur final, alors que les CDN comme Akamai ont des serveurs beaucoup plus proches de l'utilisateur final, généralement au sein du réseau du FAI.

        La façon de faire d'Amazon est beaucoup moins chère et plus efficace d'Akamai.

        Rogério – http://www.itjuju.com/

  4. 7

    Je ne dirais pas qu'il est difficile "d'obtenir des performances d'entreprise avec un CMS comme WordPress".

    Tout dépend de la façon dont vous configurez votre infrastructure ou dont vous hébergez votre CMS.
    La façon dont le CMS lui-même a été codé peut également jouer un rôle important dans ses performances, comme l'a souligné Carlton en utilisant le plugin wp-supercache.

    Il aurait été préférable que la fonctionnalité du plug-in wp-supercache soit intégrée à wordpress dès le départ, mais cela nécessiterait de réécrire le frontal. Lequel est quoi lightpress.org fait.

    Le déchargement du contenu statique vers quelque chose comme S3 est un bon moyen de décharger le traitement et la livraison du serveur principal. C'est un moyen simple et pratique de puiser dans l'infrastructure d'Amazon pour faire le gros du travail, mais une fois que vous atteignez un seuil de crétin, Amazon commencera à devenir cher et il sera moins cher de le faire en interne et d'aller avec un CDN.

    Rogério – http://www.itjuju.com/

    Ps
    J'ai pensé à cette situation pendant un moment, si seulement 100 personnes se réunissaient et contribuaient chaque mois au prix d'un serveur décent qu'elles paieraient normalement, elles pourraient construire/construire une infrastructure d'hébergement capable de gérer presque tout.

  5. 8

    0.12 $ pour les deux premiers jours des services S3. Souhaitez-vous revenir sur le sujet dans quelques mois et montrer des statistiques de trafic par rapport aux coûts ? Il serait intéressant de voir comment le coût se répartit entre les visiteurs uniques et les coûts publicitaires ou d'autres intrants.

  6. 13
  7. 14

    Amazon S3 est un service incroyablement apprécié. Je suis en train de l'intégrer dans un CMS. Le seul problème que j'ai rencontré du point de vue du développement, et non du point de vue du service Amazon, est que si vous souhaitez que votre utilisateur télécharge de manière transparente le fichier directement sur S3 via POST et que vous disposez d'un formulaire en plusieurs parties qui incorpore du texte destiné à votre local base de données, vous êtes bloqué. Vous devez soit le séparer en deux formulaires, soit essayer d'utiliser ajax pour télécharger le fichier d'abord, puis en cas de succès, soumettre les données localement.

    Si quelqu'un a une meilleure solution, n'hésitez pas à me le faire savoir :o)

    Néanmoins, les économies réalisées sur l'hébergement de fichiers volumineux à fort trafic justifient le développement d'un tel système.

    Subvention

    Systèmes de gestion des listes de suppression

  8. 15

    Hi,

    Grande écriture. J'ai avancé comme vous le décrivez, mais dans mon panneau d'administration où je télécharge des images, je ne vois pas de bouton S3. J'ai remarqué que mes images, lorsqu'elles sont téléchargées, finissent normalement sur Amazon, cela signifie-t-il que je peux maintenant copier toutes mes images existantes et supprimer celles sur le serveur ?

    Et dois-je modifier la provenance de mes images ou est-ce que le plugin le fait ?

  9. 16

    Salut Scott,

    Vous devriez voir une petite icône de recherche de base de données à droite de votre icône typique. C'est l'icône pour faire apparaître la fenêtre Amazon. J'ai déplacé tout le contenu wp/téléchargements vers Amazon et je me suis assuré d'avoir le même chemin… la seule différence étant le sous-domaine. Ils étaient à http://www... et maintenant ils sont sur images.marketingtechblog.com. Après avoir copié toutes les images sur Amazon, j'ai utilisé PHPMyAdmin et effectué une recherche et un remplacement pour src= »https://martech.zone et l'ai remplacé par src= »images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    J'espère que cela pourra aider! Ce n'est pas transparent, mais ça marche.

    Doug

  10. 17

    Hé Douglas, merci pour cela, j'ai mis à jour la base de données afin que toutes les images pointent vers des images., mais je vois que certains des pouces (lorsqu'ils sont regardés via la page d'informations) montrent l'iamge toujours sur www.

    Voici le site (www.gamefreaks.co.nz) - a, ayant également un problème de mémoire majeur pour la page d'accueil, n'a commencé qu'une fois que nous avons changé d'hébergement, c'est pourquoi je cherche maintenant à décharger une partie de la pression d'hébergement sur S3. 😎

  11. 18

    savez-vous s'il est possible de simplement télécharger sur S3 sans qu'il ne stocke également une copie sur le serveur local ?

    Tnx

  12. 19

    Salut Scott, le plugin S3 fournit son propre chemin directement vers Amazon, donc le fichier n'est PAS stocké localement.

  13. 20
    • 21

      Il est compatible avec la dernière version, mais honnêtement, je n'aime pas la façon dont cela fonctionne - vous devez déplacer et charger toutes les images sur S3 avec un processus différent. Nous pouvons en fait construire une intégration CDN (Content Delivery Network) plus robuste avec WP qui se synchronise plutôt que d'exiger un processus différent.

  14. 22
  15. 23

    Savez-vous si cela fonctionne également avec les « buckets externes » ? Je souhaite configurer cela pour le blog d'un de mes amis et le laisser utiliser un compartiment dans mon compte AWS (j'ai déjà créé un compte utilisateur pour lui et lui ai donné accès à l'un de mes compartiments à l'aide des outils Amazon IAM).

  16. 24
  17. 25
    • 26

      Celia, va à la maison AWS http://aws.amazon.com/ et sous le menu déroulant "Mon compte / Console", sélectionnez "Identifiants de sécurité". Connectez-vous si vous en avez besoin. À partir de là, faites défiler vers le bas jusqu'à Access Credentials et vous verrez vos identifiants de clé d'accès répertoriés. Copiez-en un pour l'ID de clé de ce plugin, puis cliquez sur le lien "Afficher" pour voir la clé d'accès secrète plus longue. Copiez-le et collez-le également dans les paramètres du plugin. Vous devriez être prêt après ça !

  18. 27
  19. 28

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..