Trabajo con copias de seguridad - Amazon Relational Database Service

Trabajo con copias de seguridad

Amazon RDS crea y guarda copias de seguridad automatizadas de la instancia de base de datos durante el periodo de copia de seguridad de la instancia de base de datos. RDS; crea una instantánea del volumen de almacenamiento de la instancia de base de datos, creando una copia de seguridad de toda la instancia de base de datos y no solo de las bases de datos individuales. RDS guarda las copias de seguridad automatizadas de la instancia de base de datos en función del periodo de retención de copia de seguridad especificado. Si es necesario, puede restaurar su base de datos a cualquier momento dado durante el periodo de retención de copia de seguridad.

Las copias de seguridad automatizadas siguen estas reglas:

  • Su instancia de base de datos debe tener el estado AVAILABLE para que puedan realizarse backups automatizados. Los backups automatizados no se producen mientras la instancia de base de datos está en un estado distinto de AVAILABLE, por ejemplo STORAGE_FULL.

  • Las copias de seguridad automatizadas y las instantáneas automatizadas no se producen mientras una copia se está ejecutando en la misma región para la misma instancia de base de datos.

También puede crear una copia de seguridad de su instancia de base de datos manualmente mediante la creación de una instantánea de base de datos. Para obtener más información acerca de la creación de una instantánea de base de datos, consulte Creación de una instantánea de base de datos.

La primera instantánea de una instancia de base de datos contiene los datos de la instantánea de base de datos completa. Las instantáneas posteriores de la misma instancia de base de datos son incrementales, lo que significa que solo se guardan los datos que han cambiado después de la última instantánea.

Puede copiar tanto las instantáneas de base de datos automáticas como las manuales y compartir las instantáneas de base de datos manuales. Para obtener más información acerca de la copia de una instantánea de base de datos, consulte Copia de una instantánea de . Para obtener más información acerca del uso compartido de una instantánea de base de datos, consulte Compartir una instantánea de base de datos.

nota

Puede utilizar AWS Backup para gestionar copias de seguridad de las instancias de base de datos de Amazon RDS. Las copias de seguridad administradas por AWS Backup se consideran instantáneas de base de datos manuales, pero no se cuentan para la cuota de instantáneas de base de datos para RDS. Las copias de seguridad que se crearon con AWS Backup tienen nombres que terminan en awsbackup:AWS-Backup-job-number. Para obtener más información sobre AWS Backup, consulte la Guía del desarrollador de AWS Backup.

Almacenamiento de copia de seguridad

El almacenamiento de copia de seguridad de Amazon RDS de cada región se compone de las copias de seguridad automatizadas y las instantáneas de base de datos manuales de esa región. El espacio de almacenamiento total de copias de seguridad equivale a la suma del almacenamiento de todos las copias de seguridad de una región. Mover una instantánea de base de datos a otra región incrementa el almacenamiento de copia de seguridad en la región de destino. Las copias de seguridad se almacenan en Amazon S3.

Para obtener más información acerca de los costos de almacenamiento de copias de seguridad, consulte Precios de Amazon RDS.

Si decide conservar copias de seguridad automatizadas al eliminar una instancia de base de datos, las copias de seguridad automatizadas se guardan durante todo el periodo de retención. Si no elige Retain automated backups (Conservar copias de seguridad automatizadas) al eliminar una instancia de base de datos, todas las copias de seguridad automatizadas se eliminan con la instancia de base de datos. Tras eliminarlas, las copias de seguridad automatizadas no se pueden recuperar. Si opta por hacer que Amazon RDS cree una instantánea de base de datos final antes de que elimine su instancia de base de datos, podrá usarla para recuperar la instancia de base de datos. También puede utilizar una instantánea manual creada anteriormente. Las instantáneas manuales no se eliminan. Puede disponer de hasta 100 instantáneas manuales por región.

Backup window

Los backups automatizados se producen a diario durante la ventana de copia de seguridad preferida. Si la la copia de seguridad requiere más tiempo del asignado a la ventana de copia de seguridad, la copia de seguridad continúa cuando finaliza la ventana hasta que se completa. La ventana de copia de seguridad no se puede solapar con la ventana de mantenimiento semanal para la instancia de base de datos.

Durante la ventana de copia de seguridad automático, las E/S de almacenamiento pueden quedar suspendidas brevemente mientras se inicializa el proceso de copia de seguridad (normalmente durante unos pocos segundos). Pueden producirse latencias elevadas durante unos minutos mientras se realizan los backups para las implementaciones Multi-AZ. Para MariaDB, MySQL, Oracle y PostgreSQL, la actividad de E/S no se suspende en la instancia principal durante la copia de seguridad para las implementaciones Multi-AZ, ya que la copia de seguridad se realiza desde la instancia en espera. En SQL Server, la actividad de E/S se suspende brevemente durante la copia de seguridad para las implementaciones Multi-AZ.

Si no especifica un período para la copia de seguridad preferido al crear la instancia de base de datos, Amazon RDS asigna un período para la copia de seguridad predeterminado de 30 minutos. Este período se selecciona al azar dentro de un bloque de ocho horas por cada región de AWS. En la siguiente tabla, se muestran los bloques de tiempo de cada región desde los que se asignan las ventanas predeterminadas de copia de seguridad.

Región Bloque de tiempo
Región EE.UU Este (Ohio) 03:00–11:00 UTC
Región EE.UU. Este (Norte de Virginia) 03:00–11:00 UTC
EE.UU. Oeste (Norte de California) 06:00–14:00 UTC
Región EE.UU. Oeste (Oregón) 06:00–14:00 UTC
Región Asia Pacífico (Hong Kong) 06:00–14:00 UTC
Región Asia Pacífico (Mumbai) 16:30–00:30 UTC
Región Asia Pacífico (Osaka-Local) 00:00–08:00 UTC
Región Asia Pacífico (Seúl) 13:00–21:00 UTC
Región Asia Pacífico (Singapur) 14:00–22:00 UTC
Región Asia Pacífico (Sídney) 12:00–20:00 UTC
Región Asia Pacífico (Tokio) 13:00–21:00 UTC
Región Canadá (Central) 06:29–14:29 UTC
Región China (Pekín) 06:00–14:00 UTC
Región China (Ningxia) 06:00–14:00 UTC
Región de Europa (Fráncfort) 20:00–04:00 UTC
Región de Europa (Irlanda) 22:00–06:00 UTC
Región de Europa (Londres) 06:00–14:00 UTC
Región de Europa (París) 07:29–14:29 UTC
Región de Europa (Estocolmo) 23:00–07:00 UTC
Región de Oriente Medio (Baréin) 06:00–14:00 UTC
Región América del Sur (São Paulo) 23:00–07:00 UTC
AWS GovCloud (EE.UU. Oeste) 03:00–11:00 UTC

Periodo de retención de copia de seguridad

Puede configurar el periodo de retención de copia de seguridad al crear una instancia de base de datos. En caso de no configurar dicho período, su valor predeterminado es de un día si crea la instancia de base de datos mediante la API de Amazon RDS o la AWS CLI. El periodo de retención de copia de seguridad predeterminado es de siete días si crea la instancia de base de datos mediante la consola. Después de crear una instancia de base de datos, puede modificar el periodo de retención de copia de seguridad. Puede asignar al período de retención de copia de seguridad un valor de entre 0 día y 35 días. Establecer el período de retención de la copia de seguridad en 0 desactiva las copias de seguridad automatizadas. Los límites de instantáneas manuales (100 por región) no se aplican a las copias de seguridad automatizadas.

importante

Se produce una interrupción si cambia el periodo de retención de copia de seguridad de 0 a un valor distinto de cero o de un valor distinto de cero a 0.

Desactivar las copias de seguridad automatizadas

Puede que quiera deshabilitar temporalmente las copias de seguridad automatizadas en determinadas situaciones; por ejemplo, al cargar grandes cantidades de datos.

importante

No es aconsejable deshabilitar las copias de seguridad automatizadas, ya que al hacerlo se deshabilita la recuperación a un momento dado. Al deshabilitar las copias de seguridad automáticas para una instancia de base de datos, se eliminan todos las copias de seguridad automatizadas para la instancia. Si deshabilita y vuelve a habilitar las copias de seguridad automatizadas, solo podrá restaurar a partir del momento en el que las copias de seguridad automatizadas se hayan habilitado de nuevo.

En este ejemplo, se deshabilitan las copias de seguridad automatizadas para una instancia de base de datos llamada mydbinstance asignando al período de retención de copia de seguridad el valor 0.

Para deshabilitar las copias de seguridad automatizadas inmediatamente

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos) y, a continuación, seleccione la instancia de base de datos que desee modificar.

  3. Elija Modify. Aparece la página Modify DB Instance.

  4. En Backup Retention Period (Período de retención de copia de seguridad), elija 0 days (0 días).

  5. Elija Continue.

  6. Seleccione Apply Immediately (Aplicar inmediatamente).

  7. En la página de confirmación, elija Modify DB Instance para guardar los cambios y deshabilitar las copias de seguridad automatizadas.

Para deshabilitar inmediatamente las copias de seguridad automatizadas, use el comando modify-db-instance y asigne al periodo de retención de copia de seguridad el valor 0 con --apply-immediately.

El siguiente ejemplo deshabilita de inmediato las copias de seguridad automáticas.

Para Linux, macOS o Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --backup-retention-period 0 \ --apply-immediately

Para Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --backup-retention-period 0 ^ --apply-immediately

Para saber cuándo entra en vigor la modificación, llame a describe-db-instances para la instancia de base de datos hasta que el valor del periodo de retención de copia de seguridad sea 0 y el estado de mydbinstance sea "available".

aws rds describe-db-instances --db-instance-identifier mydbinstance

Para deshabilitar inmediatamente las copias de seguridad automatizadas, llame a la operación ModifyDBInstance con los siguientes parámetros:

  • DBInstanceIdentifier = mydbinstance

  • BackupRetentionPeriod = 0

ejemplo

https://rds.amazonaws.com/ ?Action=ModifyDBInstance &DBInstanceIdentifier=mydbinstance &BackupRetentionPeriod=0 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-14T17%3A48%3A21.746Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

Habilitar las copias de seguridad automatizadas

Si la instancia de base de datos no tiene habilitados las copias de seguridad automatizadas, puede habilitarlos en cualquier momento. Para habilitar las copias de seguridad automatizadas, defina el periodo de retención de copia de seguridad en un valor positivo distinto de cero. Cuando se habilitan las copias de seguridad automatizadas, la base de datos y la instancia de RDS se desconectan y se crea de inmediato una copia de seguridad.

En este ejemplo, se habilitan las copias de seguridad automatizadas para una instancia de base de datos llamada mydbinstance asignando al período de retención de copia de seguridad un valor positivo distinto de cero (en este caso, 3).

Para habilitar las copias de seguridad automatizadas inmediatamente

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos) y, a continuación, seleccione la instancia de base de datos que desee modificar.

  3. Elija Modify. Aparece la página Modify DB Instance.

  4. En Backup Retention Period (Período de retención de copia de seguridad), elija un valor positivo distinto de cero, por ejemplo, 3 días.

  5. Elija Continue.

  6. Seleccione Apply Immediately (Aplicar inmediatamente).

  7. En la página de confirmación, elija Modify DB Instance (Modificar instancia de base de datos) para guardar los cambios y habilitar las copias de seguridad automatizadas.

Para habilitar inmediatamente las copias de seguridad automatizadas, use el comando modify-db-instance de la AWS CLI.

En este ejemplo, habilitaremos las copias de seguridad automatizadas fijando el periodo de retención de copia de seguridad en 3 días.

Incluya los siguientes parámetros:

  • --db-instance-identifier

  • --backup-retention-period

  • --apply-immediately o bien --no-apply-immediately

Para Linux, macOS o Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --backup-retention-period 3 \ --apply-immediately

Para Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --backup-retention-period 3 ^ --apply-immediately

Para habilitar inmediatamente las copias de seguridad automatizadas, use la operación ModifyDBInstance de la API de RDS.

En este ejemplo, habilitaremos las copias de seguridad automatizadas fijando el periodo de retención de copia de seguridad en 3 días.

Incluya los siguientes parámetros:

  • DBInstanceIdentifier

  • BackupRetentionPeriod

  • ApplyImmediately = true

ejemplo

https://rds.amazonaws.com/ ?Action=ModifyDBInstance &DBInstanceIdentifier=mydbinstance &BackupRetentionPeriod=3 &ApplyImmediately=true &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-14T17%3A48%3A21.746Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

Retener copias de seguridad automatizadas

Al eliminar una instancia de base de datos, puede conservar las copias de seguridad automatizadas.

Las copias de seguridad automatizadas contienen instantáneas de sistema y registros de transacción de una instancia de base de datos. También incluyen propiedades de instancia de base de datos, como el almacenamiento asignado y la clase de instancia de base de datos, necesarias para restaurarlas a una instancia activa.

Puede conservar copias de seguridad automatizadas para instancias RDS que ejecuten motores MySQL, MariaDB, PostgreSQL, Oracle y Microsoft SQL Server.

Puede restaurar o eliminar copias de seguridad automatizadas con la Consola de administración de AWS, la API de RDS y la AWS CLI.

Período de retención

Las instantáneas de sistema y los registros de transacción en una copia de seguridad automatizada expiran del mismo modo que para la instancia de base de datos de origen. Dado que no hay nuevas instantáneas ni registros creados para esta instancia, las copias de seguridad automatizadas conservadas vencen completamente al final. Efectivamente, duran tanto como habría durado la última instantánea de sistema, sobre la base de la configuración del periodo de retención que tenía la instancia de origen cuando la eliminó. Las copias de seguridad automatizadas conservadas se eliminan del sistema después de que vence la última instantánea del sistema.

Puede eliminar una copia de seguridad automatizada conservada del mismo modo que puede eliminar una instancia de base de datos. Puede restaurar o eliminar copias de seguridad automatizadas con la consola o la operación DeleteDBInstanceAutomatedBackup de la API de RDS.

Las instantáneas finales son independientes de las copias de seguridad automatizadas conservadas. Sugerimos intensamente que tome una instantánea final aunque conserve las copias de seguridad automatizadas, ya que las copias de seguridad conservadas vencen completamente al final. La instantánea final no vence.

Restauración

Para ver sus copias de seguridad automatizadas conservadas, cambie a la página de copias de seguridad automatizadas. Puede ver las instantáneas individuales asociadas con una copia de seguridad automatizada conservada en la página de instantáneas de la base de datos en la consola. También puede describir instantáneas individuales asociadas con una copia de seguridad automatizada conservada. Desde ahí, puede restaurar una instancia de base de datos directamente a partir de una de esas instantáneas.

Las instancias de base de datos restauradas se asocian automáticamente con los grupos de opciones y parámetros predeterminados. Sin embargo, puede aplicar un grupo de parámetros y opciones personalizados especificándolos durante una restauración.

En este ejemplo, restaura una instancia de base de datos a un punto temporal utilizando la copia de seguridad automatizada conservada. En primer lugar, describa sus copias de seguridad automatizadas conservadas, de modo que pueda ver cuáles restaurar.

Para describir sus copias de seguridad automatizadas conservadas utilizando la API de RDS, llame a la acción DescribeDBInstanceAutomatedBackups con uno de los siguientes parámetros:

  • DBInstanceIdentifier

  • DbiResourceId

aws rds describe-db-instance-automated-backups --db-instance-identifier DBInstanceIdentifier OR aws rds describe-db-instance-automated-backups --dbi-resource-idDbiResourceId

A continuación, para restaurar su copia de seguridad automatizada conservada a un punto temporal utilizando la API de RDS, llame a la acción RestoreDBInstanceToPointInTime con los siguientes parámetros:

  • SourceDbiResourceId

  • TargetDBInstanceIdentifier

aws rds restore-db-instance-to-point-in-time --source-dbi-resource-id SourceDbiResourceId --target-db-instance-identifier TargetDBInstanceIdentifier --use-latest-restorable-time

Costos de retención

El costo de una copia de seguridad automatizada conservada es el costo del almacenamiento total de las instantáneas del sistema asociadas con ella. No hay cobros adicionales para los registros de transacción o los metadatos de instancia. Todas las demás reglas de precios para copias de seguridad se aplican a las instancias restaurables.

Por ejemplo, supongamos que su almacenamiento total asignado para instancias en ejecución es de 100 GB. Supongamos también que tiene 50 GB de instantáneas manuales más 75 GB de instantáneas del sistema asociadas con una copia de seguridad automatizada conservada. En este caso, solo se le cobrará por los 25 GB adicionales de almacenamiento de copia de seguridad, así: (50 GB + 75 GB) – 100 GB = 25 GB.

Limitaciones y recomendaciones

Las copias de seguridad automatizadas conservadas tienen las siguientes limitaciones:

  • El número máximo de copias de seguridad automatizadas conservadas en una región de AWS es de 40. No está incluido en el límite de instancias de base de datos. Puede tener 40 instancias de base de datos en ejecución y 40 copias de seguridad automatizadas conservadas al mismo tiempo.

  • Las copias de seguridad automatizadas conservadas no contienen información sobre parámetros o grupos de opciones.

  • Puede restaurar una instancia eliminada a un punto temporal que esté dentro del periodo de retención en el momento de la eliminación.

  • Una copia de seguridad automatizada conservada no se puede modificar, ya que consiste en copias de seguridad del sistema, registros de transacciones y las propiedades de instancia de base de datos que existían en el momento en el que eliminara la instancia de origen.

Eliminación de las copias de seguridad automatizadas retenidas

Puede eliminar las copias de seguridad automatizadas retenidas cuando no sean necesarias.

Para eliminar una copia de seguridad automatizada retenida

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Automated backups (Copias de seguridad automatizadas).

  3. Elija Retained (retenidas).

    
									Pestaña retenida para las copias de seguridad automatizadas
  4. Elija la copia de seguridad automatizada retenida que desea eliminar.

  5. En Actions (Acciones), elija Delete (Eliminar).

  6. En la página de confirmación, introduzca delete me y elija Delete (Eliminar).

Puede eliminar una copia de seguridad automatizada retenida utilizando el comando de la AWS CLI delete-db-instance-automated-backup.

Las siguientes opciones se usan para eliminar una copia de seguridad automatizada retenida:

  • --dbi-resource-id: identificador de recurso para la instancia de base de datos de origen.

    Puede encontrar el identificador de recursos para la instancia de base de datos de origen de una copia de seguridad automatizada retenida al ejecutar el comando de la AWS CLI describe-db-instance-automated-backups.

El siguiente ejemplo elimina la copia de seguridad automatizada retenida con el identificador de recursos de la instancia de base de datos db-123ABCEXAMPLE.

Para Linux, macOS o Unix:

aws rds delete-db-instance-automated-backup \ --dbi-resource-id db-123ABCEXAMPLE

Para Windows:

aws rds delete-db-instance-automated-backup ^ --dbi-resource-id db-123ABCEXAMPLE

Puede eliminar una copia de seguridad automatizada retenida utilizando la operación de la API de Amazon RDS DeleteDBInstanceAutomatedBackup.

Los siguientes parámetros se usan para eliminar una copia de seguridad automatizada retenida:

  • DbiResourceId: identificador de recurso para la instancia de base de datos de origen.

    Puede encontrar el identificador de recursos para la instancia de base de datos de origen de una copia de seguridad automatizada retenida utilizando la operación de la API de Amazon RDS DescribeDBInstanceAutomatedBackups.

Copias de seguridad automatizadas con motores de almacenamiento de MySQL no compatibles

Para el motor de base de datos de MySQL, las copias de seguridad automatizadas solo son compatibles para el motor de almacenamiento InnoDB. El uso de estas características con otros motores de almacenamiento de MySQL, incluido MyISAM, puede dar lugar a comportamientos poco fiables al restaurar desde copias de seguridad. Específicamente, dado que los motores de almacenamiento como MyISAM no admiten una recuperación de bloqueos fiable, las tablas pueden dañarse si se produce un bloqueo. Por este motivo, le animamos a usar el motor de almacenamiento de InnoDB.

  • Para convertir las tablas de MyISAM existentes en tablas de InnoDB, puede usar el comando ALTER TABLE, por ejemplo: ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;

  • Si opta por usar MyISAM, puede intentar reparar manualmente las tablas que se hayan dañado después de un bloqueo usando el comando REPAIR. Para obtener más información, consulte REPAIR TABLE Statement en la documentación de MySQL. Sin embargo, como se indica en la documentación de MySQL, es muy probable que no pueda recuperar todos los datos.

  • Si desea crear una instantánea de sus tablas MyISAM antes de restaurar, siga estos pasos:

    1. Detenga toda la actividad de las tablas de MyISAM (es decir, cierre todas las sesiones).

      Puede cerrar todas las sesiones llamando al comando mysql.rds_kill para cada proceso devuelto por el comando SHOW FULL PROCESSLIST.

    2. Bloquee y vacíe cada una de las tablas de MyISAM. Por ejemplo, los siguientes comandos bloquean y vacían dos tablas llamadas myisam_table1 y myisam_table2:

      mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;
    3. Cree una instantánea de la instancia de la base de datos. Cuando la instantánea se haya completado, libere los bloqueos y reanude la actividad en las tablas de MyISAM. Puede liberar los bloqueos de las tablas usando el siguiente comando:

      mysql> UNLOCK TABLES;

    Estos pasos obligan a MyISAM a limpiar los datos almacenados en memoria en el disco, lo que garantiza un inicio limpio al restaurar desde una instantánea de base de datos. Para obtener más información acerca de la creación de una instantánea de base de datos, consulte Creación de una instantánea de base de datos.

Copias de seguridad automatizadas con motores de almacenamiento de MariaDB no compatibles

Para el motor de base de datos MariaDB, las copias de seguridad automatizadas solo se admiten con el motor de almacenamiento InnoDB (versión 10.2 y superiores) y XtraDB (versiones 10.0 y 10.1). El uso de estas características con otros motores de almacenamiento de MariaDB, incluido Aria, puede dar lugar a comportamientos poco fiables al restaurar desde copias de seguridad. Aunque Aria es una alternativa a MyISAM resistente a bloqueos, las tablas pueden dañarse si se produce un bloqueo. Por este motivo, le animamos a usar el motor de almacenamiento de XtraDB.

  • Para convertir las tablas de Aria en tablas de InnoDB, puede usar el comando ALTER TABLE. Por ejemplo: ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;

  • Para convertir las tablas de Aria en tablas de XtraDB, puede usar el comando ALTER TABLE. Por ejemplo: ALTER TABLE table_name ENGINE=xtradb, ALGORITHM=COPY;

  • Si opta por usar Aria, puede intentar reparar manualmente las tablas que se hayan dañado después de un bloqueo usando el comando REPAIR TABLE. Para obtener más información, consulte http://mariadb.com/kb/en/mariadb/repair-table/.

  • Si desea crear una instantánea de sus tablas Aria antes de restaurar, siga estos pasos:

    1. Detenga toda la actividad de las tablas de Aria (es decir, cierre todas las sesiones).

    2. Bloquee y vacíe cada una de las tablas de Aria.

    3. Cree una instantánea de la instancia de la base de datos. Cuando la instantánea se haya completado, libere los bloqueos y reanude la actividad en las tablas de Aria. Estos pasos obligan a Aria a limpiar los datos almacenados en memoria en el disco, lo que garantiza un inicio limpio al restaurar desde una instantánea de base de datos.