Cómo usar Amazon S3 y Cloudfront con WordPress

En discusiones sobre la aceleración de su sitio web, es posible que haya escuchado el término computación en la nube. En su nivel más básico, el almacenamiento en la nube simplemente se refiere a cargar los archivos de su sitio, como imágenes, hojas de estilo y otros activos, a un servidor remoto. Una red de entrega de contenido , o CDN, se conecta al almacenamiento en la nube y sirve archivos a los usuarios a través de una amplia red de servidores rápidos en todo el mundo, para garantizar los tiempos de descarga y la conexión más rápidos. En el mundo de la computación en la nube, será difícil encontrar una solución mejor que  AWS(Amazon Web Services), en concreto sus servicios S3 y Cloudfront. Con una configuración rápida y la ayuda de algunos complementos, es posible utilizar estos servicios para acelerar su sitio y realizar copias de seguridad de todos sus archivos con regularidad, a un costo muy bajo. Pero primero, un resumen rápido de AWS.

Cómo funciona AWS

Amazon tiene un conjunto completo de servicios en la nube bajo su paraguas de AWS, para almacenamiento de datos a corto y largo plazo, pilas completas de servidores y distribución de contenido. Incluso es posible ejecutar un sitio de WordPress usando solo AWS, aunque esto requiere un conocimiento avanzado de la infraestructura del servidor.

La mejor manera de comenzar con AWS es mejorar y acelerar su sitio de WordPress mediante el uso de dos de los servicios web de Amazon, S3 y Cloudfront. S3 es un servicio que le permite cargar archivos en un servidor remoto que ejecuta Amazon y luego enviarlos a los usuarios a través de una red distribuida, lo que hace que las velocidades de descarga de archivos más grandes (como archivos multimedia) sean mucho más rápidas. Cloudfront es una extensión opcional de S3 y es una CDN (red de distribución de contenido) completa. Una CDN toma los activos estáticos de sus sitios y los almacena en caché en servidores de todo el mundo. Cuando un usuario descarga ese activo de su sitio, se extrae del servidor geográficamente más cercano y los activos se descargan lo más rápido posible.

Almacenamiento estándar en S3

Los precios de S3 y Cloudfront se basan completamente en el uso y los costos se mantienen bastante bajos. Para un blog de tamaño mediano con una buena cantidad de tráfico, podría gastar entre $2 y $5 por mes en ambos servicios. Sin embargo, esto variará según la cantidad de activos que tenga su sitio y el tipo de tráfico que reciba. Puede usar la calculadora de AWS para estimar sus costos. El servicio en sí funciona al exponer los servidores que compra a una API fácil de usar, que puede usar para cargar archivos y acceder a ellos mediante programación. Entonces, si desea usar S3 y Cloudfront con WordPress, el primer paso es configurar esa API.

Configuración de AWS

Lo primero que debe hacer es crear una cuenta de AWS. Puede hacerlo visitando la página de registro y utilizando sus credenciales de Amazon. Se registrará automáticamente en todos los servicios disponibles, aunque solo paga por lo que usa.

Queremos comenzar creando un depósito S3 donde almacenaremos archivos de nuestro sitio de WordPress. Haga clic en el botón S3 en el panel principal de Amazon. Esto lo llevará a la consola S3 en blanco, con una opción para «Crear un depósito». Haga clic aquí para crear su espacio de almacenamiento en la nube.

Creando un nuevo cubo

Deberá darle un nombre, usando caracteres alfanuméricos y sin espacios, que sea único para todos los usuarios de S3. Eso significa que si cualquier otro usuario ya ha elegido un nombre de depósito, está prohibido para todos los usuarios. Al elegir un nombre, intente elegir algo único para su sitio, como su nombre de dominio.

Por ahora, vamos a dejar nuestro balde vacío y pasar a Cloudfront. No se requiere Cloudfront para algunas de las soluciones que analizaremos a continuación, pero puede acelerar bastante las cosas para sus usuarios. También costará un poco más cada mes.

Para configurar Cloundfront, regrese al panel principal de AWS y haga clic en el enlace del servicio Cloudfront. En la siguiente pantalla, haga clic en el botón «Crear distribución». En la siguiente pantalla, seleccione «Comenzar» en la opción Web. El siguiente paso le pedirá un Dominio de Origen desde donde debería servir los archivos. Aquí, puede seleccionar el depósito S3 que acaba de crear para sincronizar los servicios. Hay muchas otras opciones aquí, pero la mayoría se pueden dejar en su valor predeterminado o en blanco. Finalmente, haga clic en «Crear distribución» para iniciar el servicio.

Con todo configurado, lo último que debe hacer es obtener acceso a sus claves API. Estos permitirán que los servicios de WordPress se conecten con su nube de AWS sin necesidad de autenticarse cada vez que lo hagan. Para obtener sus claves de API, deberá crear un usuario de IAM que tenga acceso a su cuenta de AWS. Primero, vaya a la consola de IAM y haga clic en la pestaña «Grupos».

Asegúrese de establecer permisos para Administrador

Deberá crear un nuevo grupo y usuario para otorgar acceso. Haga clic en «Crear nuevo grupo», asigne un nombre a su grupo y luego seleccione «Acceso de administrador» en el paso Plantilla de política y cree su grupo. A continuación, haga clic en la pestaña «Usuarios» y haga clic en «Crear nuevo usuario». Una vez más, asigne un nombre a su usuario y asegúrese de que la casilla «Generar una clave de acceso para cada usuario» esté seleccionada. Una vez que haya creado los usuarios, se le proporcionará una clave de acceso y una clave de acceso secreta. Asegúrese de almacenarlos en algún lugar o haga clic en «Descargar credenciales» para descargarlos en su computadora. El último paso es conectar a su usuario con su grupo haciendo clic en el usuario que acaba de crear y seleccionando la opción «Agregar usuario a grupos», y seleccionando el grupo que creó en el primer paso. Esto asegurará que las claves de acceso asociadas con este usuario tengan acceso a su cuenta.

Qué puede hacer con AWS

Una vez que haya configurado su cuenta de Amazon, el cubo S3 y la distribución de Cloudfront, puede comenzar a conectar su sitio de WordPress con la nube. El caso de uso más común para esto es cargar automáticamente archivos multimedia en S3 y entregarlos a los usuarios que usan Cloudfront. Sin embargo, también puede usar AWS para realizar copias de seguridad de rutina de su sitio, almacenar descargas digitales o transmitir videos. Repasaremos algunos complementos que pueden ayudarlo a hacer todo esto.

Caché total W3 y AWS

W3 Total Cache es un popular complemento de almacenamiento en caché y rendimiento para WordPress. Puede hacer mucho por su sitio automáticamente, como minimizar y combinar hojas de estilo y scripts, almacenar en caché versiones estáticas de sus páginas y acelerar el tiempo de carga en todo su sitio. Muchos sitios lo usan y existe la posibilidad de que ya lo estés usando.

W3 Total Cache también le brinda la posibilidad de conectar su sitio a S3 y Cloudfront. Una vez que haya instalado y activado el complemento, puede habilitar el soporte de AWS marcando la opción CDN en la Configuración general del complemento y seleccionando «Amazon Cloudfront» debajo del menú desplegable Origen. Una vez que haya guardado esta configuración, puede acceder a W3 Total Cache -> CDN e ingresar la Clave de acceso y la Clave de acceso secreta para su cuenta en la sección «Configuración». Esto extraerá automáticamente el cubo que creó, que puede seleccionar junto a «Origen».

Configuración de W3 con Amazon S3

En la Configuración general, puede elegir qué archivos desea almacenar en AWS. En realidad, puede almacenar todo su sitio, incluidos los archivos de temas y los archivos principales de WordPress, de modo que prácticamente no exista nada en su host real. Recomiendo simplemente marcar «Adjuntos de host», «Archivos de tema de host» y «Archivos personalizados de host». Con su configuración predeterminada, esto incluirá todos los archivos multimedia que cargó, imágenes, hojas de estilo y archivos de secuencias de comandos de su tema, y ​​cualquier activo estático agregado en otro lugar. Para cada categoría, puede especificar exactamente qué extensiones de archivo cargar en S3, para limitarlo solo a los activos que desea.

El último paso es cargar sus archivos existentes en S3. Afortunadamente, el complemento presenta una forma integrada de hacer esto, y con solo hacer clic en un botón puede realizar la exportación automáticamente. Una vez que haya cargado sus archivos existentes, su sitio estará completamente configurado para usar una CDN, y todos los archivos que se agreguen en el futuro se cargarán directamente a la nube y se entregarán a los usuarios desde Cloudfront.

Complemento Amazon S3 y Cloudfront

Si no está buscando un complemento de almacenamiento en caché con todas las funciones y simplemente desea descargar activos estáticos a AWS, puede usar el complemento de Amazon S3 y Cloudfront, que debe descargarse sobre el complemento de Amazon Web Services. Este último conectará su sitio de WordPress a AWS, y el primero almacenará sus archivos multimedia en la nube. El complemento se limita solo a archivos multimedia de la biblioteca multimedia, pero estos son los archivos más pesados ​​​​en su sitio y, por lo tanto, los más adecuados para un CDN.

Para configurar el complemento, necesitará su Clave de acceso y Clave de acceso secreta al archivo wp-config.php de su sitio . Abra wp-config.php para su sitio y agregue estas dos líneas:

01
02
define( 'AWS_ACCESS_KEY_ID', '*****************<strong><em>' );
define( 'AWS_SECRET_ACCESS_KEY', '</em></strong>*************************************' );

Asegúrese de reemplazar las estrellas con la clave de acceso del usuario creado y la clave de acceso secreta.

Una vez que haya agregado estas claves y haya guardado su configuración, puede personalizar la funcionalidad de los complementos en AWS -> S3 y Cloudfront . En esta pantalla, puede personalizar qué depósito de S3 desea usar para sus archivos multimedia y, opcionalmente, agregar soporte para la distribución de Cloudfront. El complemento funcionará bien sin esto, pero acelerará considerablemente las cosas si elige usarlo.

Configuración básica para el complemento

También hay algunas configuraciones más para el complemento, como si almacenar o no archivos localmente y en la nube, y si entregar o no archivos a través de SSL . Deberá marcar estas casillas para que el complemento comience a funcionar con la nube. Una vez que todo esté configurado, los archivos futuros se cargarán y entregarán a los usuarios de acuerdo con su configuración. Por el momento, el complemento no admite la carga de archivos existentes en AWS. El complemento mantiene las cosas bastante simples, facilita la configuración y hace la mayor parte del trabajo detrás de escena.

Complementos de copia de seguridad

Por supuesto, cargar activos estáticos en la nube no es lo único para lo que se puede usar S3. También hay varios complementos que le permiten realizar copias de seguridad automáticas de su sitio y almacenarlas en su servidor en la nube, para mantener bajos los costos de hospedaje.

Existen varios complementos que incluyen esta funcionalidad, pero los confiables más populares son BackupBuddy , un complemento premium, y Updraft Plus , una opción gratuita. Ambos tienen una opción para alojar copias de seguridad en S3, además de otros servicios de terceros como Dropbox y Google Drive, y ambos realizan copias de seguridad automáticamente de acuerdo con un programa que establezca. Simplemente ingresando la clave de acceso y la clave de acceso secreta de su cuenta de AWS, puede comenzar a usar los complementos.

La principal diferencia es que BackupBuddy tiende a ofrecer muchas más funciones a los propietarios de sitios que buscan asegurarse de que las copias de seguridad sean fáciles de almacenar y recuperar. Esto también incluye soporte las 24 horas que puede ser útil en una crisis. Updraft Plus utiliza un método similar para las copias de seguridad, pero mantiene las cosas simples en su versión gratuita y, a veces, es más fácil comenzar.

En ambos casos, usar S3 como la ubicación de las copias de seguridad es una solución segura y de bajo costo para un problema común. Y dado que las copias de seguridad se realizan en el backend, no hay necesidad de Cloudfront, lo que hace que las cosas sean aún más económicas.

Uso de S3 para aumentar el rendimiento

En el mundo de WorPress, hay muchas otras formas de utilizar S3, según las necesidades de su sitio. Por ejemplo, una extensión S3 para Easy Digital Downloads facilita el alojamiento de archivos que están disponibles para su compra en su sitio.

Use S3 para transmitir videos

O, si está ejecutando un sitio con una gran cantidad de videos, puede usar S3 Media Maestro para almacenar y transmitir sus videos directamente desde la nube. Si prefiere no depender de un servicio de terceros como YouTube para alojar sus videos, o necesita asegurarse de que solo ciertos usuarios puedan ver sus videos, entonces esta puede ser una opción atractiva.

La conclusión es que una combinación de S3 y Cloudfront puede darle a su sitio un gran impulso en el rendimiento, al mismo tiempo que reduce el costo de hospedaje. No es una solución de alojamiento con todas las funciones, por lo que no debe usarse para alojar todo su sitio. Pero al usar algunos complementos, puede conectar su sitio de WordPress a AWS con facilidad y no tener que preocuparse por la mecánica de back-end. Si está buscando una ganancia rápida en términos de velocidad, realmente no hay mejor alternativa.

Imagen en miniatura de Dacian G / shutterstock.com