Instantáneas y copias de seguridad de Amazon Redshift
Las snapshots son backups de un momento determinado de un clúster. Existen dos tipos de instantáneas: automatizadas y manuales. Amazon Redshift almacena estas instantáneas internamente en Amazon S3 con una conexión de capa de conexión segura (SSL) cifrada.
Amazon Redshift realiza instantáneas progresivas de forma automática que hacen un seguimiento de los cambios realizados en el clúster desde la instantánea automatizada anterior. Las instantáneas automatizadas conservan todos los datos requeridos para restaurar un clúster a partir de una instantánea. Puede crear una programación de instantáneas para controlar cuándo se realizan las instantáneas automatizadas o realizar una instantánea manual en cualquier momento.
Cuando restaura datos a partir de una instantánea, Amazon Redshift crea un clúster nuevo y lo pone a disposición antes de que se carguen todos los datos, de modo que usted pueda empezar a consultar el clúster nuevo de inmediato. El clúster transmite datos bajo demanda desde la instantánea en respuesta a consultas activas, luego carga los datos restantes en un segundo plano.
Al lanzar un clúster, puede establecer el periodo de retención para las instantáneas automatizadas y manuales. Puede cambiar el periodo de retención predeterminado para las instantáneas automatizadas y manuales mediante la modificación del clúster. Puede cambiar el periodo de retención para una instantánea manual en el momento de crear la instantánea o modificando la instantánea.
Puede monitorizar el progreso de las instantáneas consultando los detalles de la propia instantánea en la AWS Management Console o llamando a describe-cluster-snapshots en la CLI o a la acción de API DescribeClusterSnapshots. Para una instantánea en proceso, estos muestran información como el tamaño de la instantánea incremental, la tasa de transferencia, el tiempo transcurrido y el tiempo restante estimado.
Para asegurarse de que las copias de seguridad estén siempre disponibles para el clúster, Amazon Redshift almacena instantáneas en un bucket de Amazon S3 administrado internamente que administra Amazon Redshift. Para administrar los cargos de almacenamiento, evalúe cuántos días necesita conservar las instantáneas automatizadas y configure el periodo de retención en consecuencia. Elimine las instantáneas manuales que ya no necesita. Para obtener más información acerca del costo del almacenamiento de copias de seguridad, consulte la página Precios de Amazon Redshift
Uso de instantáneas y copias de seguridad en Amazon Redshift sin servidor
Amazon Redshift sin servidor, al igual que un clúster aprovisionado, le permite realizar una copia de seguridad como una representación en un momento dado de los objetos y datos del espacio de nombres. Hay dos tipos de copias de seguridad en Amazon Redshift sin servidor: las instantáneas que se crean manualmente y los puntos de recuperación que Amazon Redshift sin servidor crea automáticamente. Puede encontrar más información sobre el uso de instantáneas para Amazon Redshift sin servidor en Instantáneas y puntos de recuperación.
También puede restaurar una instantánea de un clúster aprovisionado a un espacio de nombres sin servidor. Para obtener más información, consulte Restauración de un espacio de nombres sin servidor desde una instantánea.
Instantáneas automatizadas
Cuando las instantáneas automatizadas están habilitadas para un clúster, Amazon Redshift realiza instantáneas de ese clúster periódicamente. De manera predeterminada, Amazon Redshift realiza una instantánea cada ocho horas o después de cada cambio de datos de 5 GB por nodo, lo que ocurra primero. Si sus datos superan los 5 GB * número de nodos, el periodo de tiempo más breve entre la creación automática de instantáneas es de 15 minutos. También puede crear una programación de instantáneas para controlar cuándo se realizan las instantáneas automatizadas. Si utiliza programaciones personalizadas, el tiempo mínimo entre las instantáneas automatizadas es de una hora. Las instantáneas automatizadas se habilitan de manera predeterminada cuando crea un clúster.
Las instantáneas automatizadas se eliminan cuando finaliza un periodo de retención. El periodo de retención predeterminado es de un día, pero puede modificarlo a través de la consola de Amazon Redshift o mediante programación con la API o la CLI de Amazon Redshift.
Para desactivar las instantáneas automatizadas, establezca el período de retención en cero. Si desactiva las instantáneas automatizadas, Amazon Redshift deja de tomar instantáneas y elimina cualquier instantánea automatizada ya existente para el clúster. No puede deshabilitar las instantáneas automatizadas para los tipos de nodos RA3. Puede establecer un periodo de retención automatizado para el tipo de nodo RA3 de 1 a 35 días.
Solo Amazon Redshift puede eliminar una instantánea automatizada; por lo que no se pueden eliminar de forma manual. Amazon Redshift elimina las instantáneas automatizadas al final del periodo de retención de la instantánea, cuando usted desactiva las instantáneas automatizadas para el clúster o cuando elimina el clúster. Amazon Redshift retiene la última instantánea automatizada hasta que usted desactiva las instantáneas automatizadas o elimina el clúster.
Si desea conservar una instantánea automatizada por un período más extenso, puede crear una copia de esta como una instantánea manual. La instantánea automatizada se conserva hasta que expire el periodo de retención, pero la instantánea manual correspondiente se conservará hasta que el usuario la elimine manualmente o hasta el final del periodo de retención.
Programación de instantáneas automatizadas
Para controlar con precisión cuándo se realizan las instantáneas, puede crear una programación de instantáneas y asociarla a uno o varios clústeres. Cuando modifica una programación de instantáneas, esta se modifica para todos los clústeres asociados. Si un clúster no tiene una programación de instantáneas asociada, utiliza la programación de instantáneas automatizadas predeterminada.
Una programación de instantáneas es un conjunto de reglas de programación. Puede definir una regla de programación sencilla basada en un intervalo específico, como cada 8 horas o cada 12 horas. También puede añadir reglas para realizar instantáneas determinados días de la semana, a horas específicas o durante periodos específicos. Las reglas se pueden definir también con expresiones cron de tipo Linux.
Formato de la programación de instantáneas
En la consola de Amazon Redshift, puede crear una programación de instantáneas. A continuación, puede asociar una programación a un clúster para activar la creación de una instantánea del sistema. Una programación se puede asociar con varios clústeres y se pueden crear varias definiciones cron en una programación para activar una instantánea.
Puede definir una programación para sus instantáneas con la sintaxis cron. La definición de estas programaciones utiliza una sintaxis cron
Las expresiones cron modificadas de Amazon Redshift tienen 3 campos obligatorios, que están separados por un espacio en blanco.
Sintaxis
cron(
Minutes
Hours
Day-of-month
Month
Day-of-week
Year
)
Campos | Valores | Caracteres comodín |
---|---|---|
Minutos |
0–59 |
, - * / |
Horas |
0–23 |
, - * / |
Día del mes |
1–31 |
, - * ? / L W |
Mes |
1–12 o ENE-DIC |
, - * / |
Día de la semana |
1–7 o DOM-SÁB |
, - * ? L # |
Año |
1970-2199 |
, - * / |
Caracteres comodín
-
El carácter comodín , (coma) incluye valores adicionales. En el campo
Day-of-week
,MON,WED,FRI
incluiría lunes, miércoles y viernes. El total de valores está limitado a 24 por campo. -
El carácter comodín - (guion) especifica los intervalos. En el campo
Hour
, 1–15 incluiría desde la 1 hasta las 15 horas del día especificado. -
El * (asterisco) incluye todos los valores del campo. En el campo
Hours
, * incluiría cada hora. -
El comodín / (barra inclinada) especifica incrementos. En el campo
Hours
, puede escribir1/10
para especificar cada 10 horas, empezando por la primera hora del día (por ejemplo, 01:00, 11:00 y 21:00). -
El comodín ? (signo de interrogación) especifica uno u otro. En el campo
Day-of-month
puede escribir 7 y si no le importa qué día de la semana era el séptimo, podría escribir ? en el campo Day-of-week. -
El comodín L en los campos
Day-of-month
oDay-of-week
especifica el último día del mes o de la semana. -
El comodín W en el campo
Day-of-month
especifica un día de la semana. En el campoDay-of-month
,3W
especifica el día más cercano al tercer día de semana del mes. -
El comodín # en el campo Día de la semana especifica una instancia concreta del día de la semana de un mes. Por ejemplo, 3#2 sería el segundo martes del mes: el número 3 hace referencia al martes, ya que es el tercer día de la semana en el calendario anglosajón, mientras que 2 hace referencia al segundo día de ese tipo dentro de un mes.
nota
Si utiliza un carácter '#', solo puede definir una expresión en el campo Día de la semana. Por ejemplo, “3#1,6#3” no es válido porque se interpreta como dos expresiones.
Límites
-
No se pueden especificar los campos
Day-of-month
yDay-of-week
en la misma expresión Cron. Si especifica un valor en uno de los campos, debe utilizar un ? (signo de interrogación) en el otro. -
Las programaciones de instantáneas no admiten las siguientes frecuencias:
-
Instantáneas programadas con una frecuencia superior a una por hora.
-
Instantáneas programadas con una frecuencia inferior a una por día (24 horas).
Si tiene programaciones solapadas que programan instantáneas en un periodo de una hora, se produce un error de validación.
-
Cuando cree una programación, puede utilizar las siguientes cadenas Cron de ejemplo.
Minutos | Horas | Día de la semana | Significado |
---|---|---|---|
0 |
14-20/1 |
TUE |
Cada hora entre las dos y las ocho de la tarde del martes. |
0 |
21 |
MON-FRI |
Todas las noches a las 21 h de lunes a viernes. |
30 |
0/6 |
SAT-SUN |
Cada seis horas el sábado y el domingo empezando 30 minutos después de la medianoche (00:30) de ese día. Esto produce una instantánea a las [00:30, 06:30, 12:30 y 18:30] todos los días. |
30 |
12/4 |
* |
Cada cuatro horas a partir de las 12:30 todos los días. Esto se resuelve en [12:30, 16:30, 20:30]. |
Por ejemplo, para ejecutar una programación diaria cada dos horas empezando a las 15:15 (lo que se resuelve en [15:15, 17:15, 19:15, 21:15, 23:15]), especifique:
cron(15 15/2 *)
Puede crear varias definiciones de programación cron en una programación. Por ejemplo, el siguiente comando de la AWS CLI contiene dos programaciones cron en una sola programación.
create-snapshot-schedule --schedule-identifier "my-test" --schedule-definition "cron(0 17 SAT,SUN)" "cron(0 9,17 MON-FRI)"
Instantáneas manuales
También puede tomar una instantánea manual en cualquier momento. De manera predeterminada, las instantáneas manuales se conservarán de forma indefinida incluso después de que elimine el clúster. Puede especificar el periodo de retención en el momento de crear una instantánea manual o puede cambiar el periodo de retención modificando la instantánea. Para obtener más información acerca de cómo cambiar el periodo de retención, consulte Modificación del periodo de retención de instantáneas manuales.
Si se elimina una instantánea, no puede comenzar ninguna operación nueva que haga referencia a esa instantánea. Sin embargo, si hay una operación de restauración en proceso, esta se ejecutará hasta su finalización.
Amazon Redshift tiene una cuota que limita el número total de instantáneas manuales que puede crear. Esta cuota se aplica por cuenta de AWS y por región de AWS. La cuota predeterminada se muestra en Cuotas y límites de Amazon Redshift.
Almacenamiento de instantáneas
Dado que las instantáneas acumulan gastos de almacenamiento, es importante que las elimine cuando ya no las necesite. Amazon Redshift elimina las instantáneas automatizadas y manuales al final de sus respectivos periodos de retención. También puede eliminar las instantáneas manuales mediante la AWS Management Console o con el comando de la CLI batch-delete-cluster-snapshots.
Puede cambiar el periodo de retención para una instantánea manual modificando la configuración de la instantánea manual.
Para obtener información sobre la cantidad de almacenamiento que consumen las instantáneas, utilice la consola de Amazon Redshift o el comando de la CLI describe-storage.
Exclusión de tablas de instantáneas
De manera predeterminada, todas las tablas permanentes definidas por el usuario se incluyen en las instantáneas. Si no es necesario crear un backup para una tabla, como una tabla provisional, puede reducir de forma significativa el tiempo necesario para crear instantáneas y restaurar a partir de instantáneas. También se reduce el espacio de almacenamiento en Amazon S3 mediante el uso de una tabla sin backup. Para crear una tabla sin backup, incluya el parámetro BACKUP NO cuando cree la tabla. Para obtener más información, consulte CREATE TABLE y CREATE TABLE AS en la Guía para desarrolladores de bases de datos de Amazon Redshift.