Guía Técnica: Backup de SQL Server a AWS S3 Fácilmente

Realizar un Backup de SQL Server a AWS S3 es una estrategia fundamental para garantizar la integridad y disponibilidad de tus datos críticos. Esta guía técnica detalla los pasos y las consideraciones necesarias para configurar este proceso en un entorno de Windows Server de manera segura y eficiente. Almacenar tus copias de seguridad directamente en un bucket de Amazon S3 te permite aprovechar la alta durabilidad, escalabilidad y rentabilidad de la nube, eliminando la dependencia de dispositivos de almacenamiento locales.

Este método no solo simplifica la gestión de tus backups, sino que también ofrece una solución robusta para la recuperación ante desastres. A lo largo de este documento, te guiaremos a través de la configuración de credenciales de seguridad en AWS, la preparación de tu servidor de Windows y la ejecución de los comandos de SQL Server necesarios para que tus backups se guarden de forma automática y confiable en la nube.

Diagrama de Referencia de la Arquitectura

Backup de SQL Server a AWS S3

📌 **Nota de Seguridad:** La conexión entre SQL Server y Amazon S3 se establece de forma segura utilizando TLS/SSL, por lo tanto, no es necesario configurar una VPN para esta conexión.

🧩 1. Configuración de Credenciales para Backup de SQL Server en AWS

Antes de iniciar, es necesario tener un usuario IAM con los permisos correctos Antes de iniciar, es necesario tener un usuario IAM con los permisos correctos y un bucket de S3 creado. Se requerirá lo siguiente:

  • Access Key ID: AKIAV6IRP5EFKQWALCON
  • Secret Access Key: CBobjDS8FmngGy86V0zCbkcIBqwSyfWScLD00rfP
  • Bucket Name: s3-sql-backup-kloudconk
  • Región: sa-east-1
  • Ruta de la carpeta de backup: /SQL/Backup

Como crear IAM Policy.

Permisos IAM necesarios en formato JSON

Para la política del usuario IAM, debes asignar los siguientes permisos:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::s3-sql-backup-kloudconk"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::s3-sql-backup-kloudconk/*"
        }
    ]
}
Backup de SQL Server a AWS S3

✅ 2. Comandos de SQL Server para el Backup en S3

La clave para evitar errores es la estricta coincidencia de la sintaxis entre el nombre de la credencial y la URL del backup.

Paso 2.1: Crear la Credencial de SQL Server

El nombre de la credencial debe ser el path completo al bucket y la carpeta donde se almacenarán los backups.

-- Crear credencial con el path completo y la región
CREATE CREDENTIAL [s3://s3-sql-backup-kloudconk.s3.sa-east-1.amazonaws.com/SQL/Backup]
WITH IDENTITY = 'S3 Access Key',
SECRET = 'AKIAV6IRP5EFKQWALCON:CBobjDS8FmngGy86V0zCbkcIBqwSyfWScLD00rfP'
GO

Paso 2.2: Ejecutar el Backup

El comando BACKUP DATABASE debe usar una URL que sea idéntica al nombre de la credencial, a la que se le añade el nombre del archivo de backup.

-- Realizar el backup de la base de datos
BACKUP DATABASE [MiBaseDeDatosPrueba]
TO URL = 's3://s3-sql-backup-kloudconk.s3.sa-east-1.amazonaws.com/SQL/Backup/MiBaseDeDatosPrueba3.bak'
WITH FORMAT, COMPRESSION, STATS = 10,
     CREDENTIAL = 's3://s3-sql-backup-kloudconk.s3.sa-east-1.amazonaws.com/SQL/Backup';
GO

❌ 3. Errores Comunes y su Solución

Error 12007 (failed to retrieve text for this error. Reason: 317)

Problema: El conector de SQL Server no puede establecer una conexión segura.

Solución: ✅ **Revisar Certificados TLS/SSL.** Si el conector de SQL Server no puede establecer una conexión segura con S3, es posible que el problema esté en los certificados TLS/SSL del servidor. Como solución, revisa si es necesario instalar los certificados de Amazon Trust Services (ATS) en el almacén de Entidades de certificación raíz de confianza de Windows y reiniciar el servicio de SQL Server.

Error 86 (The specified network password is not correct.)

Problema: Hay una discrepancia de sintaxis entre la URL del backup y el nombre de la credencial. Este error es engañoso; no significa que la clave secreta sea incorrecta.

Solución: ✅ El nombre de la credencial en CREATE CREDENTIAL y el valor de CREDENTIAL en el comando BACKUP DATABASE deben ser idénticos y contener el path completo (s3://…/SQL/backup).

Error 2 (The system cannot find the file specified.)

Problema: Aunque la credencial es correcta, el conector no puede construir el path completo del archivo. Esto ocurre cuando la estructura de carpetas en S3 no existe.

Solución: ✅ Las carpetas (/SQL/backup en este caso) no se crean automáticamente. Debes crearlas manualmente en la consola de AWS S3 antes de intentar el backup.

Deja un comentario