Implementación de Amazon S3 para blogs de WordPress

amazon s3 wordpress

Nota: Desde que escribimos esto, hemos migrado a Volante con un Red de entrega de contenidos impulsado por StackPath CDN, un CDN mucho más rápido que Amazon.378

A menos que esté en una plataforma de alojamiento empresarial premium, es difícil obtener un rendimiento empresarial con un CMS como WordPress. El uso compartido de carga, las copias de seguridad, la redundancia, la replicación y la entrega de contenido no son baratos.

Muchos representantes de TI ven plataformas como WordPress y las usan porque son gratuitas. Sin embargo, lo gratuito es relativo. Coloque WordPress en una infraestructura de alojamiento típica y un par de cientos de usuarios simultáneos pueden detener su sitio. Para ayudar en el rendimiento de mi blog, esta semana modifiqué mi instalación de WordPress y envié todos los gráficos de Amazon S3 (Amazon Simple Storage Service). Esto deja que mi servidor simplemente envíe HTML a través de PHP / MySQL.

Amazon S3 proporciona una interfaz de servicios web sencilla que se puede utilizar para almacenar y recuperar cualquier cantidad de datos, en cualquier momento y desde cualquier lugar de la web. Brinda a cualquier desarrollador acceso a la misma infraestructura de almacenamiento de datos altamente escalable, confiable, rápida y económica que utiliza Amazon para ejecutar su propia red global de sitios web. El servicio tiene como objetivo maximizar los beneficios de la escala y transmitir esos beneficios a los desarrolladores.

Convertir el sitio para Amazon S3 requirió un poco de trabajo, pero estos son los conceptos básicos:

  1. REGÍSTRATE para Amazon Web Services.
  2. Cargue el complemento de Firefox para S3. Esto le proporciona una excelente interfaz para administrar contenido en S3.
  3. agregar un cubo, en este caso agregué www.martech.zone.
  4. Agregue un CNAME a su registrador de dominios para apuntar un subdominio desde su sitio a Amazon S3 para alojamiento virtual.
  5. Descargue e instale el complemento de WordPress para Amazon S3.
  6. Configure su AWS Access Key ID y Secret Key y haga clic en actualizar.
  7. Seleccione el subdominio / depósito que creó anteriormente para el Usa este cubo ajuste.

wp-amazon-s3-settings.png

¡Los siguientes pasos fueron la parte divertida! No quería solo servir contenido futuro desde S3, quería ofrecer todo el contenido, incluidos anuncios, temas y archivos multimedia pasados.

  1. Creé carpetas para anuncios, temas, Subidos en mi cubo en S3.
  2. Hice una copia de seguridad de todo mi contenido actual (archivos de imagen y multimedia) en las carpetas correspondientes.
  3. Modifiqué mi archivo CSS en mi tema para extraer todas las imágenes de www.martech.zone/themes.
  4. Hice un Buscar y reemplazar MySQL y actualizó todas las referencias al contenido multimedia que se mostrarán desde el subdominio S3.
  5. Actualicé todas las referencias de imágenes para que los anuncios se muestren desde la carpeta de anuncios en el subdominio S3.

De aquí en adelante, simplemente necesito cargar medios en S3 en lugar de usar el diálogo de carga de imágenes predeterminado para WordPress. El complemento hace un trabajo fantástico al colocar un ícono de S3 en la misma ubicación de los íconos Cargar / Insertar en el administrador de WordPress.

Mover todos los datos y ejecutar en S3 durante un par de días ahora ha resultado en $ 0.12 en cargos de S3, por lo que no me preocupan las tarifas involucradas; tal vez unos pocos dólares al mes sea lo que costará. En el lado positivo, si recibo una tonelada de visitantes, debería poder manejar muchos más que los manejadores de la plataforma actual. Mi sitio está cargando la página de inicio en aproximadamente 40% del tiempo que solía, ¡así que estoy muy contento con la mudanza!

¡Lo mejor de este movimiento es que en realidad no requirió ningún desarrollo!

28 Comentarios

  1. 1

    Hola,

    Tengo una cuenta de Amazon S3, pero después de intentar resolver las cosas, simplemente la dejé porque es demasiado difícil. ¿El complemento de Firefox para S3 lo hace mucho más fácil?

  2. 3

    Debo agregar, deberá apuntar su CNAME al nuevo your_unique_cloudfront_distribution_name.cloudfront.net en lugar de tu_subdominio_único.s3.amazonaws.com. Pero después de eso, lo trata como un cubo S3 normal.

    Cuesta más cuando se usa la opción de CloudFront de mayor velocidad / baja latencia. Si decide que prefiere volver a la versión estándar S3, simplemente cambie su CNAME para que apunte a s3.amazonaws.com en su lugar.

    Hace aproximadamente un año, escribíhttp://www.carltonbale.com/tag/amazon-s3/"a pocas publicaciones de blog sobre Amaon S3 para cualquier persona interesada.

  3. 4

    Si está buscando un aumento de velocidad aún mayor, convierta su Bucket de Amazon S3 en un bucket de Amazon CloudFront, que crea una verdadera red global de distribución de contenido de baja latencia y múltiples servidores. Aquí un enlace con todos los detalles: http://aws.amazon.com/cloudfront/faqs/

    Además, el complemento wp-supercache puede aumentar enormemente la velocidad en sitios con mucho tráfico, ya que reduce en gran medida la carga de la CPU y las llamadas a la base de datos.

    • 5

      ¡Muy bien, Carlton! Así que es una red distribuida como Akamai. ¡No me di cuenta de que tenían eso disponible! Puedo aprovechar después de ver algunos de los costos.

      He tenido el almacenamiento en caché con wp habilitado antes, pero tengo algo de contenido dinámico, así que realmente luché con él, ya que a veces almacenaba en caché contenido que realmente quería cargar en tiempo real.

      • 6

        Douglas,

        Según su descripción, parece que Amazon está haciendo algo completamente diferente, dicen:

        “Amazon CloudFront utiliza 14 ubicaciones de borde en los principales mercados del mundo. Ocho están en los Estados Unidos (Ashburn, VA; Dallas / Fort Worth, TX; Los Ángeles, CA; Miami, FL; Newark, Nueva Jersey; Palo Alto, CA; Seattle, WA; St. Louis, MO). Cuatro están en Europa (Ámsterdam; Dublín; Frankfurt; Londres). Dos están en Asia (Hong Kong, Tokio) ".

        Básicamente, aprovechan los intercambios de Internet para aprovechar su cercanía al usuario final, mientras que los CDN como Akamai tienen servidores mucho más cercanos al usuario final, generalmente dentro de la red del ISP.

        La forma de hacerlo de Amazons es mucho más barata y efectiva que Akamai.

        Rogerio - http://www.itjuju.com/

  4. 7

    No diría que es difícil "obtener rendimiento empresarial con un CMS como WordPress".

    Todo depende de cómo configure su infraestructura o la forma en que aloje su CMS.
    La forma en que se ha codificado el propio CMS también puede desempeñar un papel importante en su rendimiento, como señaló Carlton con el uso del complemento wp-supercache.

    Hubiera sido mejor si la funcionalidad del complemento wp-supercache estuviera integrada en wordpress desde el principio, pero eso requeriría volver a escribir la interfaz. Que es que lightpress.org hice.

    Descargar contenido estático en algo como S3 es una buena forma de descargar el procesamiento y la entrega desde el servidor principal. Es una forma fácil y conveniente de aprovechar la infraestructura de Amazons para hacer el trabajo pesado, pero una vez que alcance un umbral cretino, Amazon comenzará a ser costoso y será más barato hacerlo en casa e ir con un CDN.

    Rogerio - http://www.itjuju.com/

    Sal
    He estado pensando en esa situación por un tiempo, si solo 100 personas se unieran y contribuyeran cada mes con el precio de un servidor decente que normalmente pagarían, podrían construir / armar una infraestructura de alojamiento que pudiera manejar casi cualquier cosa.

  5. 8

    $ 0.12 por los primeros dos días de servicios S3. ¿Volvería a visitar el tema en unos meses y mostraría algunas estadísticas de tráfico frente a costos? Sería interesante ver cómo el costo se desglosa para visitantes únicos y contra los costos de publicidad u otros insumos.

  6. 13
  7. 14

    Amazon S3 es un servicio increíblemente bien valorado. Estoy en el proceso de integrarlo en un CMS. El único problema con el que me he encontrado desde una perspectiva de desarrollo, no desde una perspectiva de servicio de Amazon, es que si desea que su usuario cargue de forma transparente el archivo directamente en S3 a través de POST y tiene un formulario de varias partes que incorpora texto destinado a su base de datos, estás atascado. Debe separarlo en dos formularios o intentar usar ajax para cargar el archivo primero y luego, si tiene éxito, envíe los datos localmente.

    Si alguien tiene una mejor solución, no dude en hacérmelo saber: o)

    No obstante, el ahorro de costes de alojar archivos de gran volumen de tráfico justifica el desarrollo de dicho sistema.

    Grant

    Sistemas de gestión de listas de supresión

  8. 15

    Hola,

    Gran redacción. Pasé como lo describe, pero en mi panel de administración donde subo imágenes, no veo un botón S3. He notado que mis imágenes, cuando se cargan normalmente, terminan en Amazon, ¿esto significa que ahora puedo copiar todas mis imágenes existentes y eliminar las del servidor?

    ¿Y necesito modificar de dónde provienen mis imágenes o el complemento hace esto?

  9. 16

    Hola Scott,

    Debería ver un pequeño icono de base de datos a la derecha de su icono típico. Ese es el icono para que aparezca la ventana de Amazon. Moví todos los wp-content / uploads a Amazon y me aseguré de tener la misma ruta ... la única diferencia es el subdominio. Estaban en http://www... y ahora están en images.marketingtechblog.com. Después de copiar todas las imágenes a Amazon, utilicé PHPMyAdmin e hice una búsqueda y reemplazo de src = ”http://martech.zone y lo reemplacé con src =” images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    ¡Espero que ayude! No es perfecto, pero funciona.

    Doug

  10. 17

    Hola Douglas, gracias por eso, he actualizado la base de datos, por lo que todas las imágenes apuntan a imágenes, pero veo que algunos de los pulgares (cuando se miran a través de la información de la página) muestran el iamge todavía en www.

    Aquí está el sitio (www.gamefreaks.co.nz): a, también teniendo algunos problemas importantes de memoria para la página principal, solo comenzó una vez que cambiamos el alojamiento, por lo tanto, ahora estoy buscando descargar algo de la presión del alojamiento en S3. 😎

  11. 18
  12. 19
  13. 20
    • 21

      Es compatible con la última versión, pero honestamente no me gusta la forma en que funciona; tienes que cambiar y cargar todas las imágenes en S3 con un proceso diferente. De hecho, podemos construir una integración CDN (Content Delivery Network) más sólida con WP que sincroniza en lugar de exigir un proceso diferente.

  14. 22
  15. 23

    ¿Sabe si esto también funciona con "cubos externos"? Quiero configurar esto para un blog de un amigo mío y dejar que use un depósito en mi cuenta de AWS (ya le creé una cuenta de usuario y le di acceso a uno de mis depósitos con las herramientas de Amazon IAM).

  16. 24
  17. 25
    • 26

      Celia, ve a la casa de AWS http://aws.amazon.com/ y en el menú desplegable "Mi cuenta / consola", seleccione "Credenciales de seguridad". Regístrese si es necesario. Desde allí, desplácese hacia abajo hasta Credenciales de acceso y verá sus ID de clave de acceso en la lista. Copie uno de los de la ID de clave para este complemento y luego haga clic en el enlace "Mostrar" para ver la clave de acceso secreta más larga. Copie eso y péguelo en la configuración del complemento también. ¡Deberías estar listo después de eso!

  18. 27
  19. 28

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.