Copias de seguridad en S3 de Amazon Web Services

Vengo a relatarte cómo en DDM2, conseguimos resolver el problema que le surgió a uno de nuestros clientes gracias a las copias de seguridad en S3 de Amazon Web Services y lo necesarias que son las copias de seguridad y el acceso rápido a estas copias, así como la automatización de las mismas sin depender de HW.

Te pongo en antedecentes

A este cliente le llevamos el mantenimiento de su web, de su, en breve, tienda online y de todos los equipos que necesitan para trabajar. Son un total de 5 equipos. Normalmente, nuestra función con los equipos venía siendo la de limpieza, actualización, puntos de restauración.

Teníamos copias de seguridad, pero se hacían una por equipo al mes. Cuando Lydia nos llamó por un problema con la carpeta compartida que usaban TODOS los miembros de la empresa, estábamos tranquilos, había una copia de seguridad. 

¿El problema? Que la copia tenía 3 semanas de antigüedad. No recuperaba TODO lo que necesitaba. Después de pensar en varias alternativas (Disco duro en línea donde hacer copias diarias manteniendo un máximo de 4 históricos, una cuenta de drive para cada ordenador)

Finalmente nos decantamos por copias de seguridad diarias para algunos equipos, semanales para otros y mensuales para otros. Por supuesto dependía de la importancia de la información y de las carpetas que se fueran a guardar.

Copias de seguridad en Amazon Web Services

Para realizar todas estas acciones, abrimos una cuenta con Amazon Web Services (AWS) después de estudiar los costes y la dificultad de la configuración.

En Amazon Web Services, existe un servicio llamado S3. S3, para que cualquiera lo entienda, es un disco duro en la nube, donde puedes guardar tus cosas. Es muy barato (dentro del mismo existen versiones aun más baratas) y  permite control de versiones y antigüedad de las mismas versiones o también llamadas ciclos de vida.

Gracias a esto, podemos elegir qué subir, que esté versionado y cuánto tiempo quiero que dure esa copia. Lo primero que vimos fue buscar qué era necesario para realizar todo esto. Lo más fácil y rápido fue crear un archivo .bat en cada uno de los PCs. 

Ese archivo se ejecuta cuando nosotros queramos, ya que lo metimos en una de las tareas programadas de Windows y lo que hace es crear un .ZIP de lo que queremos guardar, y subirlo a s3 mediante comando. Luego corramos la copia local para que no ocupe sitio. Para eso, es necesario crear usuarios que tengan acceso programático y que puedan ejecutar comandos. Por supuesto no olvidar que debes tener creado un Bucket S3 para que se guarden las cosas ahí.

Crear un Bucket S3

Este ejemplo viene perfecto así que os podéis guiar por la misma guía de AWS:

https://docs.aws.amazon.com/es_es/AmazonS3/latest/user-guide/create-bucket.html

Configurar antigüedad de las copias

Para configurar la antigüedad de las copias, si os comento lo que yo hice.

Para la configuración del ciclo de vida de los objetos, debemos entrar en la opción de Ciclo de vida y en adir ciclo de vida.

Una vez dentro, le ponemos nombre a la regla. 

Por ejemplo: “ciclo de vida Clínica Aroma”. 

Como recordáis, dependiendo del equipo, unas copias serán diarias y otras semanales y mensuales. Lo que haremos en este caso será elegir un prefijo para cada ciclo de vida. Así, el ordenador de recepción tiene el prefijo “recepción_” y el del despacho, haciendo uso de nuestra originalidad, “despacho_”.

Para las copias diarias de recepción, hemos configurado un ciclo de vida de 30 días. Por lo que los objetos que tengan 30 días de vida se irán borrando.

En el proceso, la opción de transición no nos ha sido necesaria, por lo que la hemos obviado.

Es en expiración, donde configuramos los días del ciclo de vida.

Crear un usuario en AWS por equipo

Para ello entramos en la consola de AWS y buscamos IAM. Cuando estemos en el panel de IAM, damos a Crear usuario.

Colocamos el nombre y Acceso mediante programación. Clickamos en siguiente y llegamos a esta pantalla:

Ponemos la política necesaria para el acceso al S3 de AWS.

Colocamos los tags necesarios. Una vez acabado aquí llegamos a la pantalla resumen donde revisamos los datos y confirmamos si lo vemos todo OK.

Terminamos con “Crear un usuario”.

Llegamos a una pantalla muy importante que nos genera un archivo CSV. Descargadlo, sino tendréis que generar nuevas keys para ese usuario, ya que solo en esa pantalla te permiten ver la Clave de acceso secreta.

Si como es nuestro caso hay más de un usuario, lo que hacemos es crear un grupo con esos permisos y luego asignar los usuarios a ese grupo.

Una vez configurados los usuarios y el bucket, tenemos que instalar un pequeño programa en el equipo para habilitarlo y que pueda ejecutar comandos aws.

Instalar aws en Windows

Para ello, hay que entrar en esta url:

https://docs.aws.amazon.com/cli/latest/userguide/install-windows.html

Seleccionar el archivo que tu versión de Windows necesita, pero si no estás seguro, clica aquí:

https://s3.amazonaws.com/aws-cli/AWSCLISetup.exe

Este descarga para 32 bits y 64 bits.

Instaláis el archivo y para comprobar que esté todo ok hacéis lo siguiente:
C:\> aws –version

Os saldrá algo como esto:
aws-cli/1.18.134 Python/3.7.4 Windows/10 botocore/1.13

Una vez lo tengas listo, solo tienes que saber como ejecutar el comando aws s3 para subir archivos al bucket.

Archivo de ejecución .bat

Con este archivo, lo que hacemos es generar un .zip de lo que queremos guardar, ejecutar un comando de aws para guardar datos en un S3 y borrar el zip que acabamos de subir para no ocupar espacio en el equipo.

echo off

«C:\PROGRAM FILES\7-ZIP\7Z» A -R «C:\backups\anuska_%DATE:/=.%%TIME::=.% BACKUP.7Z» «\\Anuska\compartida\*»

aws s3 cp C:\backups\ s3://[nombre_del_bucket]/[carperta_donde_guardar] –recursive

del /F /S /Q C:\backups\*

Ya solo nos queda configurar la tarea en Windows para que se ejecute ese archivo cada X.

Para la programación de tareas, os aconsejo seguir este tutorial de Genbeta, que es perfecto.

https://www.genbeta.com/paso-a-paso/como-programar-tareas-en-windows-10

DDM2 (ddm2.es), conocemos la importancia que tiene para nuestro trabajo las copias de seguridad en la nube. No solo cuando estamos desarrollando una web sino también cuando estamos haciendo el mantenimiento a esa web. Tener copias de seguridad supone la diferencia entre perder meses de trabajo o poder solventar el problema en pocos minutos. Y tú, ¿aún no has digitalizado tu negocio? Ponte en contacto con nosotros y te asesoramos sin compromiso.

Deja un comentario