Blog de Amazon Web Services (AWS)

AWS Backup: Administre de forma centralizada sus copias de seguridad en la nube

Con las posibilidades que la nube entrega a personas y organizaciones de todos tipos en el mundo, la generación de los datos ha aumentado de forma exponencial. AWS te permite utiilzar bajo demanda el almacenamiento necesario para recolectar estos datos utilizando servicios como Amazon EBS (volúmenes de almacenamiento), Amazon S3 (Almacenamiento tipo objeto), Amazon RDS (Bases de datos estructuradas) Amazon DynamoDB (NoSQL Llave-Valor), Amazon Elastic Filesystem (EFS, Sistema administrado de archivos para linux), Amazon FSx para windows (Sistema administrado de archivos para windows), entre muchos otros.

Aunque cada uno de estos servicios cuenta con APIs con las que se pueden programar y automatizar copias de seguridad, nuestros clientes nos solicitaban un servicio llave en mano que les permitiera cumplir con sus estándares empresariales de respaldo de información.

Primeramente explicaremos cómo son realizadas las copias de seguridad de volúmenes EBS en AWS:

Los snapshots son copias de seguridad incrementales, lo que significa que solo se guardan los bloques que han cambiado en el volumen después del snapshot más reciente. Esto disminuye el tiempo necesario para crearlo y ahorra costos de almacenamiento, ya que los datos no se duplican. Cuando se elimina un snapshot, solo se borran los datos que son únicos de dicho snapshot. Cada uno de ellos contiene toda la información necesaria para restaurar los datos (del momento en el que se tomó) en un volumen de EBS nuevo:

Fig 1

En la imagen anterior (Fig 1):

  • El Snapshot A ocupa 10GB de almacenamiento para respaldo
  • El Snapshot B solo tiene las modificaciones de los 4GB y un apuntador a los 6GB que no han cambiado. El almacenamiento total utilizado es de 4GB.
  • El Snapshot C sólo tiene 2 GB adicionales, por lo que cuenta con referencias a la información ya respaldada y solo utiliza 2GB.

Cuerpo:
Si bien es posible crear un snapshot utilizando APIs o la Consola de AWS, durante reInvent 2018 lanzamos un nuevo servicio llamado AWS Backup. Este servicio está diseñado para ayudarlo a automatizar y administrar de forma centralizada sus copias de seguridad en una consola única.

Usted puede crear planes de respaldos basados en políticas, monitorear el estado de los respaldos en curso y, en caso de ser necesario, restaurar estas copias de seguridad.

Estos respaldos pueden ser realizados para volúmenes EBS, sistemas de archivos EFS, bases de datos RDS, tablas de DynamoDB y volúmenes de Storage Gateway. Todas estas copias de seguridad se guardarán automáticamente en S3. Si usted o su organización requiere cumplir con algún estándar o normativa que le solicite guardar datos por largos periodos de tiempo, es posible archivar respaldos en Amazon Glacier para una larga duración al mejor costo.

Debido a que el servicio de AWS Backup incluye a AWS Storage Gateway, es posible utilizarlo para calendarizar respaldos de sus datos locales hacia la nube.

Esta es la primera vista que usted tendrá cuando visite el servicio en su consola de AWS (Fig2):

Fig 2

El primer paso es crear un plan de respaldos o seleccionar un plan de respaldos existente. Para fines de este ejemplo, crearemos un nuevo plan de respaldos desde el inicio (Fig3):

Fig 3

Después, configuraremos una regla de respaldos, seleccionaremos la frecuencia con la que queremos se ejecute esa regla, el horario de inicio de la ventana para crear el respaldo y el tiempo que podría durar la ventana (Fig4):

Fig 4

Más adelante seleccionaremos el ciclo de vida necesario para nuestros respaldos. En este ejemplo, elegí que los respaldos sean colocados en almacenamiento frio después de un mes de haber sido creados y que sean eliminados después de un año de existencia (Fig5).

Fig 5

Al final agregaremos una etiqueta para dar mejor seguimiento a los respaldos realizados por esta regla (Fig6):

Fig 6

Y daremos clic en “Crear Plan”. Veremos el plan creado en nuestra consola (Fig7) :

Fig 7

Lo que falta es agregar recursos a esta regla de respaldo, entonces lo agregaremos al dar clic al “PlanDeRespaldos1” y después a “Asignar Recursos” (Fig8):

Fig 8

Al asignar recursos, es posible seleccionarlos por ID específico o por etiquetas para que, cada recurso que concuerde con esta etiqueta será agregado de forma automática. En la siguiente imagen se pueden ver ambas opciones (Fig9):

Fig 9

En ella seleccionamos un volúmen EBS conectado a una instancia EC2 (un Windows Server 2019 base) y también elegimos que todo lo que tenga la etiqueta Ambiente:Demo sea respaldado.

Aprovecharemos ahora para agregar otros recursos (una instancia RDS) (Fig10):

Fig 10

Como puede observar, en este segundo grupo de recursos seleccionamos específicamente una instancia de base de datos MySQL que tengo en el servicio de RDS.

Al final tendremos dos grupos de recursos en el mismo plan de respaldos (Fig11):

Fig 11

Lo que resta es esperar a que la regla sea ejecutada en la ventana de tiempo seleccionada (en este caso, seleccionamos 2:00am UTC y una ventana de las 2:00am a las 6:00 am UTC)

Una vez se haya ejecutado el plan de respaldos, en la consola principal de AWS Backup podrá revisar cuántos respaldos se han realizado en las últimas 24 horas (Fig12):

Fig 12

Al dar clic en “Detalles de trabajos de copia de seguridad”, podremos revisar cuales recursos fueron respaldados con base en las reglas creadas anteriormente (Fig13):

Fig 13

Adicionalmente, en el apartado “Recursos protegidos” podemos revisar los puntos de restauración de cada uno de los recursos (Fig14):

Fig 14

Por ejemplo, si se desea restaurar alguna de las copias de seguridad del volumen con terminación “de2”, simplemente damos clic al recurso y se listarán todas las copias de seguridad. Por default la consola muestra los últimos 5 respaldos (Fig15):

Fig 15

Para restaurar alguno de estos puntos en el tiempo simplemente se selecciona el punto de recuperación deseado para después dar clic al botón “Restaurar”.

Acto seguido, se abrirá un portal de restauración con las opciones disponibles para el tipo de recurso, en este caso un volúmen EBS (Fig16 y 17):

Fig 16

Fig 17

Al dar clic en “Restaurar copia de seguridad”, se creará un ID de trabajo de restauración y podremos ver el estatus en el que se encuentra aquí mismo (Fig 18):

Fig 18

De estatus “Pendiente” pasará a “En ejecución” (Fig19):

Fig 19

y de “En ejecución” pasará a estatus “Completado” (Fig20):

Fig 20

En esta pantalla podremos ver el ID del recurso creado a partir de ese punto de recuperación, mismo que podrás buscar, en este caso, en los volúmenes EBS dentro del servicio de EC2 (Fig21):

Fig 21

Listo! hemos automatizado la creación de puntos de restauración que podemos utilizar para recuperación y cumplimiento dentro de nuestra organización.

A partir del 23 de Mayo 2019, AWS Backup soporta integración con CloudFormation. Con este lanzamiento ahora se podrán crear Templates de CloudFormation para automatizar tareas de AWS Backup, por ejemplo la creación de las bóvedas, retención, etcétera.

——- Notas adicionales: ——–

Rastreo de actividad
Debido a que en AWS todo funciona con base en APIs y todas las llamadas a estas APIs son grabadas, es posible revisar las acciones que AWS Backup toma para realizar las copias de seguridad de tus recursos. El servicio en donde podemos descubrir este historial de llamadas se llama Amazon CloudTrail.

Dentro del apartado de “Event History” podemos filtrar por ID de recurso y revisar el historial de llamadas de API en el que este recurso tuvo algo que ver. Por ejemplo en la siguiente imagen podemos ver que el servicio “backup.amazonaws.com” realizó una llamada de API para crear una copia de seguridad, siguiendo su calendario de respaldos automatizados (Fig22):

Fig 22

Notificaciones
Si usted lo desea, puede recibir notificaciones cada vez que una copia de seguridad sea creada ya sea de forma manual o por medio del servicio de AWS Backup.

Para hacerlo, es necesario utilizar en conjunto dos servicios de AWS. Amazon Simple Notification Service (Amazon SNS) y la característica de Eventos de Amazon CloudWatch.

En primer lugar será necesario crear un Tema de mensajes dentro de Amazon SNS (Fig23, Fig24 y Fig25), para después generar una o varias suscripciones a este Tema. Durante el ejemplo, crearemos dos suscripciones. Una vía mensaje de texto SMS y otra vía correo electrónico.

Fig 23

Fig 24

Fig 25

El primer paso es dar clic en “Crear una suscripción” para despues seleccionar el método de entrega, en este caso será un mensaje de texto (Fig26):

Fig 26

Repetimos el proceso para ahora crear una suscripción vía correo electrónico (Fig27):

Fig 27

*Nota: Para las suscripciones vía correo electrónico, deberá aceptar la suscripción mediante una liga que el sistema envía de forma automática a la dirección de correo escrita (Fig 28 y 29)

Fig 28

Fig 29

Al final, las dos suscripciones pueden ser validadas dentro del Tema (Fig30):

Fig 30

El segundo paso se debe realizar en la consola de Amazon Cloudwatch, en el apartado de Eventos. En él, crearemos una regla con los parámetros mostrados en la siguiente imagen (Fig31):

Fig 31

Es importante mencionar que en este caso, las notificaciones serán enviadas vía el Tema de SNS creado unos pasos atrás y solamente se ejecutará cuando el Origen coincida, en este caso los snapshots creados a partir del volúmen EBS seleccionado en el campo “Orígenes específicos”.

Precios
Con AWS Backup, usted paga solo por la cantidad de almacenamiento de copias de seguridad que utilice y por la cantidad de datos que restaure al mes. No se aplica una tarifa mínima ni cargos de configuración.


Más información:
https://aws.amazon.com/es/backup/

Referencias:
https://aws.amazon.com/es/blogs/aws/aws-backup-automate-and-centrally-manage-your-backups/
https://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/EBSSnapshots.html
https://aws.amazon.com/es/backup/pricing/


Autores

Ramiro Patiño

Gerente de cuentas, AWS México

 

 

 

Uriel Ramirez

Arquitecto de Soluciones, AWS México

 

 

 

Jesús Humberto Contreras Rancurello

Arquitecto de Soluciones, AWS México