---
# System prepended metadata

title: "Solución de Respaldo Gestionada (Managed Backup Solution) \U0001F6E1️"

---

# Solución de Respaldo Gestionada (Managed Backup Solution) 🛡️

Esta arquitectura implementa un sistema robusto y seguro para respaldar los datos de una aplicación, utilizando todos los servicios proporcionados.

---

## 1. Definición y Objetivo de los Servicios 📚

| Servicio | Definición Breve | Objetivo en la Arquitectura |
| :--- | :--- | :--- |
| **Amazon EC2** | Servicio de cómputo escalable que aloja máquinas virtuales. | Alojar la **aplicación de producción** y los datos que necesitan ser respaldados. |
| **Amazon EBS** | Almacenamiento a nivel de bloque persistente para instancias EC2. | Proporcionar el **disco duro** donde residen los datos principales de la aplicación. |
| **Amazon EFS** | Sistema de almacenamiento de archivos elástico, escalable y compartido. | Proporcionar un **sistema de archivos de red** que varias instancias pueden usar. |
| **Amazon S3** | Almacenamiento de objetos escalable con alta durabilidad y bajo costo. | Almacenamiento de destino final para el **archivo de datos** de respaldo a largo plazo (Glacier). |
| **AWS Backup** | Servicio centralizado para automatizar y gestionar copias de seguridad. | **Orquestación central** que programa, ejecuta y gestiona los respaldos de EC2, EBS, EFS, etc. |
| **AWS Backup Vault** | Contenedor lógico dentro de AWS Backup para organizar y cifrar los puntos de recuperación. | **Almacén seguro** y cifrado para guardar los puntos de recuperación (backups). |
| **AWS KMS** | Servicio gestionado para crear y controlar claves de cifrado. | **Cifrar** los datos en EBS, EFS y los puntos de recuperación en el Backup Vault, asegurando el cumplimiento. |
| **IAM** | Servicio para gestionar usuarios, roles y permisos. | Definir **quién** (Roles) puede usar AWS Backup y **dónde** (Políticas) se guardan los datos. |
| **Security Group** | Firewall virtual a nivel de instancia. | Controlar el **tráfico de red** (entrante/saliente) de las instancias EC2 y el acceso a EFS. |

---

## 2. Arquitectura del Sistema 🏗️

La arquitectura se centra en la orquestación de respaldos por parte de **AWS Backup** para los recursos de cómputo y archivo, asegurando el cifrado con **KMS**.

1.  **Datos Primarios:** La **Instancia EC2** con **EBS** adjunto aloja la aplicación y el **EFS** se usa para datos compartidos.
2.  **Seguridad:** Una **AWS KMS Key** cifra todos los volúmenes (EBS, EFS) y los datos de respaldo. Un **IAM Role** permite la orquestación y el **Security Group** el acceso de red.
3.  **Orquestación:** **AWS Backup** gestiona el plan de respaldo para EC2/EBS/EFS.
4.  **Almacenamiento:** Los respaldos inmediatos van al **Backup Vault**. La retención a largo plazo se traslada a **Amazon S3** (clase Glacier).

---

## 3. Implementación Paso a Paso 🛠️

### Paso 1: Configuración de Seguridad y Cifrado (KMS / IAM)

1.  **Crear una Clave KMS:**
    * Ir a **AWS KMS** y crear una **clave de cliente gestionada (CMK)**, nombrada `backup-key`.

2.  **Crear el Rol de Servicio de AWS Backup (IAM):**
    * Ir a **IAM** y crear un **Rol** para el servicio `backup.amazonaws.com`.
    * Adjuntar la política administrada **`AWSBackupServiceRolePolicyForBackup`**.

### Paso 2: Configuración de los Recursos de Datos (EC2 / EBS / EFS / SG)

1.  **Crear un Security Group:**
    * Crear uno llamado `app-sg`. Permitir SSH (Puerto 22) y el puerto de la aplicación (ej., 8080).

2.  **Crear una Instancia EC2 con EBS Cifrado:**
    * Lanzar una **Instancia EC2**.
    * En **Storage**, configurar el volumen **EBS** para usar la clave **`backup-key`** de KMS para cifrado.
    * Adjuntar el **Security Group** `app-sg`.

3.  **Crear un EFS Cifrado:**
    * Ir a **EFS** y crear un sistema de archivos **cifrado** usando la clave **`backup-key`** de KMS.
    * Montar este EFS en la Instancia EC2.

#### Pasos para montar

- Para Amazon Linux 2 / RHEL
sudo yum install -y amazon-efs-utils

- O para Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y nfs-common

### Paso 3: Configuración del Almacenamiento de Respaldo (Backup Vault / S3)

1.  **Crear un Backup Vault:**
    * Ir a **AWS Backup -> Backup Vaults**.
    * Crear un Vault llamado `Production-Vault`.
    * Seleccionar la **clave KMS** `backup-key` para el cifrado.

2.  **Configurar Almacenamiento a Largo Plazo (S3):**
    * Dentro del `Production-Vault`, configurar una **política de ciclo de vida**.
    * Definir una regla para transferir los puntos de recuperación a la clase **Amazon S3 Glacier Flexible Retrieval** después de 90 días para archivado.

WARNING: NO CREEMOS QUE EXISTA LA TRANCISIÖN DE ALMACENAMIENTO FRÍO DE EFS A S3 GLACIER

### Paso 4: Automatización con AWS Backup

1.  **Crear un Plan de Respaldo:**
    * Ir a **AWS Backup -> Backup Plans**.
    * Definir una **frecuencia** (ej., diaria) y seleccionar el **Backup Vault** (`Production-Vault`).

2.  **Asignar Recursos:**
    * En **Resource assignments**, asignar:
        * La **Instancia EC2** (que incluye automáticamente su volumen EBS).
        * El sistema de archivos **EFS**.

![image](https://hackmd.io/_uploads/HyrOWKZJ-g.png)
