Cómo funciona point-in-time la recuperación en Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo funciona point-in-time la recuperación en Amazon Keyspaces

En esta sección se proporciona información general sobre cómo funciona la point-in-time recuperación de Amazon Keyspaces (PITR). Para obtener más información sobre precios, consulte Precios de Amazon Keyspaces (para Apache Cassandra).

Habilitar la point-in-time recuperación (PITR)

Puede habilitar PITR mediante la consola o mediante programación.

Habilitación de PITR con la consola

La configuración de PITR para las tablas nuevas se puede administrar en la opción Configuración personalizada. De forma predeterminada, PITR está habilitada en las tablas nuevas creadas a través de la consola.

Para habilitar PITR para una tabla existente, realice los pasos siguientes.

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon Keyspaces en https://console.aws.amazon.com/keyspaces/home.

  2. En el panel de navegación, elija Tablas y seleccione la tabla que desee editar.

  3. En la pestaña Copias de seguridad, elija Editar.

  4. En la sección Editar la configuración point-in-time de recuperación, selecciona Habilitar la recuperación de P. oint-in-time

Puede deshabilitar PITR en una tabla en cualquier momento; para ello, realice los siguientes pasos.

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon Keyspaces en https://console.aws.amazon.com/keyspaces/home.

  2. En el panel de navegación, elija Tablas y seleccione la tabla que desee editar.

  3. En la pestaña Copias de seguridad, elija Editar.

  4. En la sección Editar la configuración de point-in-time recuperación, desactive la casilla Habilitar oint-in-time la recuperación de P.

importante

Al deshabilitar PITR se elimina de inmediato el historial de copias de seguridad, sin importar si vuelve a habilitar PITR en la tabla en el plazo de 35 días.

Para obtener información sobre cómo restaurar una tabla mediante la consola, consulte Restauración de una tabla a un momento dado (consola).

Habilitación de PITR con la AWS CLI

Puede administrar la configuración de PITR para las tablas con la API UpdateTable.

Al crear una nueva tabla con la AWS CLI, debe habilitar explícitamente PITR en la misma.

Para habilitar PITR al momento de crear una nueva tabla, puede utilizar el siguiente comando de la AWS CLI como ejemplo. El comando se ha dividido en líneas separadas para mejorar la legibilidad.

aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --point-in-time-recovery 'status=ENABLED'
nota

Si no se especifica ningún point-in-time valor de point-in-time recuperación, la recuperación está deshabilitada de forma predeterminada.

Para confirmar la configuración de point-in-time recuperación de una tabla, puede usar el siguiente AWS CLI comando.

aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'

Para habilitar PITR en una tabla existente mediante la AWS CLI, ejecute el siguiente comando.

aws keyspaces update-table --keyspace-name 'myKeyspace' --table-name 'myTable' --point-in-time-recovery 'status=ENABLED'

Para deshabilitar PITR en una tabla existente, ejecute el siguiente comando de la AWS CLI.

aws keyspaces update-table --keyspace-name 'myKeyspace' --table-name 'myTable' --point-in-time-recovery 'status=DISABLED'
importante

Al deshabilitar PITR se elimina de inmediato el historial de copias de seguridad, sin importar si vuelve a habilitar PITR en la tabla en un plazo de 35 días.

Habilitación de PITR con CQL

Puede administrar la configuración de PITR para las tablas mediante la propiedad personalizada point_in_time_recovery.

Al crear una nueva tabla con CQL, debe habilitar explícitamente PITR en la misma.

Para habilitar PITR al momento de crear una nueva tabla, puede utilizar el siguiente comando CQL como ejemplo.

CREATE TABLE "my_keyspace1"."my_table1"( "id" int, "name" ascii, "date" timestamp, PRIMARY KEY("id")) WITH CUSTOM_PROPERTIES = { 'capacity_mode':{'throughput_mode':'PAY_PER_REQUEST'}, 'point_in_time_recovery':{'status':'enabled'} }
nota

Si no se especifica ninguna point-in-time propiedad personalizada de point-in-time recuperación, la recuperación está deshabilitada de forma predeterminada.

Para habilitar PITR en una tabla existente mediante CQL, ejecute el siguiente comando CQL.

ALTER TABLE mykeyspace.mytable WITH custom_properties = {'point_in_time_recovery': {'status': 'enabled'}}

Para deshabilitar PITR en una tabla existente, ejecute el siguiente comando CQL.

ALTER TABLE mykeyspace.mytable WITH custom_properties = {'point_in_time_recovery': {'status': 'disabled'}}
importante

Al deshabilitar PITR se elimina de inmediato el historial de copias de seguridad, sin importar si vuelve a habilitar PITR en la tabla en un plazo de 35 días.

Para obtener más información, consulte CREATE TABLE y ALTER TABLE en la Referencia del lenguaje CQL. Para obtener información sobre cómo restaurar una tabla mediante CQL, consulte Restauración de una tabla a un momento dado con CQL.

Permisos necesarios para restaurar una tabla

Para restaurar correctamente una tabla, el usuario o rol de IAM necesita los siguientes permisos mínimos:

  • cassandra:Restore: la acción restaurar es necesaria para restaurar la tabla de destino.

  • cassandra:Select: la acción seleccionar es necesaria para leer desde la tabla de origen.

  • cassandra:TagResource: la acción etiquetar es opcional y solo se requiere si la operación de restauración añade etiquetas.

El siguiente es un ejemplo de una política que concede los permisos mínimos necesarios a un usuario para restaurar tablas en el espacio de claves mykeyspace.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Restore", "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/*", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

Es posible que se requieran permisos adicionales para restaurar una tabla en función de otras características seleccionadas. Por ejemplo, si la tabla de origen está cifrada en reposo con una clave administrada por el cliente, Amazon Keyspaces debe tener permisos para acceder a la clave administrada por el cliente de la tabla de origen a fin de restaurar correctamente la tabla. Para obtener más información, consulte Restauración de tablas cifradas con PITR.

Si utiliza políticas de IAM con claves de condición para restringir el tráfico entrante a orígenes específicos, debe asegurarse de que Amazon Keyspaces tenga permiso para realizar una operación de restauración en nombre de su entidad principal. Debe añadir una clave de condición aws:ViaAWSService a su política de IAM si su política restringe el tráfico entrante a cualquiera de los siguientes:

  • Puntos de conexión de VPC con aws:SourceVpce

  • Rangos IP con aws:SourceIp

  • VPC con aws:SourceVpc

La clave de condición aws:ViaAWSService permite el acceso cuando cualquier servicio de AWS realiza una solicitud empleando las credenciales de la entidad principal. Para obtener más información, consulte Elementos JSON de la política de IAM: Clave de condición en la Guía del usuario de IAM.

A continuación se muestra un ejemplo de política que restringe el tráfico de origen a una dirección IP específica y permite a Amazon Keyspaces restaurar una tabla en nombre de la entidad principal.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"CassandraAccessForCustomIp", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"false" }, "ForAnyValue:IpAddress":{ "aws:SourceIp":[ "123.45.167.89" ] } } }, { "Sid":"CassandraAccessForAwsService", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"true" } } } ] }

Para ver un ejemplo de política que utilice la clave de condición global de aws:ViaAWSService, consulte Políticas de puntos de conexión de VPC y recuperación de Amazon Keyspaces point-in-time (PITR).

Periodo de copias de seguridad continuas con PITR

La PITR de Amazon Keyspaces utiliza dos marcas de tiempo para mantener el periodo de disponibilidad de copias de seguridad restaurables de una tabla.

  • Hora para restauración más antigua: marca la hora de la copia de seguridad restaurable más antigua. La copia de seguridad restaurable más antigua se remonta hasta 35 días o hasta el momento en que se habilitó PITR, lo que sea más reciente. El periodo máximo de 35 días de copias de seguridad no se puede modificar.

  • Hora actual: la marca de tiempo de la última copia de seguridad restaurable es la hora actual. Si no se proporciona ninguna marca de tiempo durante una restauración, se utiliza la hora actual.

Cuando PITR está habilitada, puede restaurar a cualquier punto en el tiempo entre EarliestRestorableDateTime y CurrentTime. Solo puede restaurar los datos de una tabla a un momento en que la PITR estuviera habilitada.

Si deshabilita la PITR y más tarde la vuelve a habilitar, restablece la hora inicial de la primera copia de seguridad disponible a la hora en que se volvió a habilitar la PITR. Esto significa que al deshabilitar la PITR se elimina el historial de copias de seguridad.

nota

Las operaciones de lenguaje de definición de datos (DDL) en las tablas, al igual que los cambios de esquema, se realizan de forma asíncrona. Solo puede ver las operaciones completadas en los datos de su tabla restaurada, pero podría ver acciones adicionales en su tabla de origen si estaban en curso en el momento de la restauración. Para obtener una lista de las sentencias DDL, consulte Instrucciones DDL (lenguaje de definición de datos) en Amazon Keyspaces.

Una tabla no necesita estar activa para poder restaurarla. También puede restaurar tablas eliminadas si PITR estaba habilitado en la tabla eliminada y la eliminación se produjo dentro del periodo de copia de seguridad (o en los últimos 35 días).

nota

Si se crea una nueva tabla con el mismo nombre cualificado (por ejemplo, mykeyspace.mytable) que una tabla previamente eliminada, la tabla eliminada ya no se puede restaurar. Si intenta hacerlo desde la consola, aparece una advertencia.

Ajustes de restauración de PITR

Al restaurar una tabla mediante la PITR, Amazon Keyspaces restaura el esquema y los datos de su tabla de origen al estado basado en la marca de tiempo seleccionada (day:hour:minute:second) en una nueva tabla. La PITR no sobrescribe las tablas existentes.

Además del esquema y los datos de la tabla, la PITR restaura las custom_properties de la tabla de origen. A diferencia de los datos de la tabla, que se restauran en función de la marca de tiempo seleccionada entre la hora de restauración más antigua y la hora actual, las propiedades personalizadas siempre se restauran en función de la configuración de la tabla según la hora actual.

La configuración de la tabla restaurada coincide con la configuración de la tabla de origen con la marca de tiempo de cuando se inició la restauración. Si desea sobrescribir estos ajustes durante la restauración, puede hacerlo utilizando WITH custom_properties. Las propiedades personalizadas incluyen los siguientes ajustes.

  • Modo de capacidad de lectura/escritura

  • Ajustes de capacidad de rendimiento aprovisionada

  • Ajustes de PITR

Si la tabla está en modo de capacidad aprovisionada con el escalado automático activado, la operación de restauración también restaura la configuración de autoescalado de la tabla. Puede sobrescribirlos mediante el autoscaling_settings parámetro en CQL o autoScalingSpecification con la CLI. Para obtener más información sobre la configuración de escalado automático, consulteAdministre la capacidad de rendimiento automáticamente con el escalado automático de Amazon Keyspaces.

Cuando realiza una restauración de tabla completa, todos los valores de la tabla restaurada provienen de la configuración actual de la tabla de origen en el momento de la restauración.

Por ejemplo, suponga que el rendimiento aprovisionado de una tabla se acaba de reducir a 50 unidades de capacidad de lectura y 50 unidades de capacidad de escritura. A continuación, restaura el estado de la tabla a hace tres semanas. En ese momento, su rendimiento aprovisionado estaba establecido en 100 unidades de capacidad de lectura y 100 unidades de capacidad de escritura. En este caso, Amazon Keyspaces restaura los datos de su tabla a ese momento, pero utiliza la configuración de rendimiento aprovisionada actual (50 unidades de capacidad de lectura y 50 unidades de capacidad de escritura).

Los siguientes ajustes no se restauran y debe configurarlos manualmente para la nueva tabla.

  • Políticas de AWS Identity and Access Management (IAM)

  • CloudWatch Métricas y alarmas de Amazon

  • Etiquetas (se pueden añadir a la sentencia CQL RESTORE utilizando WITH TAGS)

Restauración de tablas cifradas con PITR

Al restaurar una tabla mediante la PITR, Amazon Keyspaces restaura la configuración de cifrado de su tabla de origen. Si la tabla estaba cifrada con una Clave propiedad de AWS (predeterminada), la tabla se restaura de manera automática con la misma configuración. Si la tabla que desea restaurar se cifró con una clave administrada por el cliente, es necesario que Amazon Keyspaces pueda acceder a la misma clave administrada por el cliente para restaurar los datos de la tabla.

Puede cambiar la configuración de cifrado de la tabla en el momento de la restauración. Para cambiar de una Clave propiedad de AWS a una clave administrada por el cliente, debe proporcionar una clave administrada por el cliente válida y accesible en el momento de la restauración.

Si desea cambiar de una clave administrada por el cliente a una Clave propiedad de AWS, confirme que Amazon Keyspaces tenga acceso a la clave administrada por el cliente de la tabla de origen para restaurar la tabla con una Clave propiedad de AWS. Para obtener más información sobre la configuración del cifrado en reposo de tablas, consulte Cifrado en reposo: Cómo funciona en Amazon Keyspaces.

nota

Si la tabla se eliminó porque Amazon Keyspaces perdió el acceso a su clave administrada por el cliente, debe asegurarse de que Amazon Keyspaces tenga acceso a la clave administrada por el cliente antes de intentar restaurar la tabla. Una tabla que se cifró con una clave administrada por el cliente no puede restaurarse si Amazon Keyspaces no tiene acceso a dicha clave. Para obtener más información, consulte Solución de problemas de acceso a claves en la Guía para desarrolladores de AWS Key Management Service.

Restauración de tablas multirregión con PITR

Puede restaurar una tabla multirregión con PITR. Para que la operación de restauración tenga éxito, tanto la tabla de origen como la de destino tienen que estar replicadas en las mismas Regiones de AWS.

Amazon Keyspaces restaura la configuración de la tabla de origen en cada una de las regiones replicadas que forman parte del espacio de claves. También puede anular los ajustes durante la operación de restauración. Para obtener más información sobre los ajustes que se pueden modificar durante la restauración, consulte Ajustes de restauración de PITR.

Para obtener más información sobre la réplica multirregión, consulte Cómo funciona la réplica multirregión en Amazon Keyspaces.

Tiempo de restauración de la tabla con PITR

El tiempo necesario para restaurar una tabla depende de múltiples factores y no siempre se correlaciona directamente con el tamaño de la tabla.

A continuación se exponen algunas consideraciones sobre tiempos de restauración.

  • Las copias de seguridad se restauran en una tabla nueva. Es posible que la demora para realizar todas las acciones destinadas a crear una tabla nueva e iniciar el proceso de restauración sea de hasta 20 minutos (aunque la tabla esté vacía).

  • El tiempo de restauración para tablas grandes con modelos de datos bien distribuidos puede ser de varias horas o más.

  • Si su tabla de origen contiene datos muy sesgados, el tiempo de restauración podría ser mayor. Por ejemplo, si la clave principal de su tabla utiliza el mes del año como clave de partición y todos sus datos son del mes de diciembre, tiene datos sesgados.

Una práctica recomendada a la hora de planificar la recuperación de desastres es documentar regularmente los tiempos promedio de finalización de la restauración y establecer cómo estos tiempos afectan a su objetivo general de tiempo de recuperación.

PITR e integración de Amazon Keyspaces con servicios de AWS.

Las siguientes operaciones de PITR se registran con AWS CloudTrail a fin de habilitar el monitoreo y la auditoría continuos.

  • Crear una nueva tabla con PITR habilitado o deshabilitado.

  • Habilitar o deshabilitar PITR en una tabla existente.

  • Restaurar una tabla activa o eliminada.

Para obtener más información, consulte Registrar llamadas a la API de Amazon Keyspaces con AWS CloudTrail.

Puede realizar las siguientes acciones de PITR con AWS CloudFormation.

  • Crear una nueva tabla con PITR habilitado o deshabilitado.

  • Habilitar o deshabilitar PITR en una tabla existente.

Para obtener más información, consulte Referencia de tipos de recursos de Cassandra en la Guía del usuario de AWS CloudFormation.