Exportación de instantáneas - Amazon MemoryDB para Redis

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.

Exportación de instantáneas

MemoryDB para Redis permite exportar su instantánea de MemoryDB a un bucket de Amazon Simple Storage Service (Amazon S3), lo que facilita el acceso a la instantánea desde fuera de MemoryDB. Las instantáneas de MemoryDB exportadas son totalmente compatibles con Redis de código abierto y se pueden cargar con la versión o las herramientas de Redis adecuadas. Puede exportar una instantánea mediante la consola de MemoryDB AWS CLI, la o la API de MemoryDB.

Exportar una instantánea puede resultar útil si necesita lanzar un clúster en otra región. AWS Puede exportar sus datos a una AWS región, copiar el archivo.rdb a la nueva AWS región y, a continuación, usar ese archivo.rdb para iniciar el nuevo clúster en lugar de esperar a que el nuevo clúster se llene debido al uso. Para obtener información acerca de la propagación de datos en un nuevo clúster, consulte Inicialización de un nuevo clúster con una instantánea creada externamente. Otro motivo por el que es posible que desee exportar los datos de su clúster es para usar el archivo .rdb para el procesamiento sin conexión.

importante
  • La instantánea de MemoryDB y el bucket de Amazon S3 en el que desea copiarla deben estar en la misma AWS región.

    Aunque las instantáneas copiadas en un bucket de Amazon S3 se encuentran cifradas, recomendamos encarecidamente que no conceda a otras personas acceso al bucket de Amazon S3 en el que desea almacenar las instantáneas.

  • La exportación de una instantánea a Amazon S3 no se admite en clústeres que utilizan la organización de datos en niveles. Para obtener más información, consulte Organización de datos en niveles.

Para poder exportar una instantánea a un bucket de Amazon S3, debe tener un bucket de Amazon S3 en la misma AWS región que la instantánea. Conceda a MemoryDB acceso al bucket. Los primeros dos pasos muestran cómo realizar esto último.

aviso

Los escenarios siguientes exponen sus datos de forma no deseada.

  • Cuando otra persona tiene acceso al bucket de Amazon S3 al que exportó su instantánea.

    Para controlar el acceso a sus instantáneas, solo permita el acceso al bucket de Amazon S3 a aquellos usuarios que desee que tengan acceso a sus datos. A fin de obtener información sobre la administración del acceso a un bucket de Amazon S3, consulte Administración del acceso en la Guía para desarrolladores de Amazon S3.

  • Cuando otra persona tenga permisos para usar la operación de la CopySnapshot API.

    Los usuarios o grupos que tienen permisos para utilizar la operación de la API CopySnapshot pueden crear sus propios buckets de Amazon S3 y copiar las instantáneas en ellos. Para controlar el acceso a tus instantáneas, usa una política AWS Identity and Access Management (IAM) para controlar quién puede usar la CopySnapshot API. Para obtener más información acerca del uso de IAM para controlar el uso de las operaciones de la API de MemoryDB, consulte Administración de identidades y accesos en MemoryDB para Redis en la Guía del usuario de MemoryDB.

Paso 1: Crear un bucket de Amazon S3

El siguiente procedimiento utiliza la consola de Amazon S3 para crear un bucket de Amazon S3 al que se exporta y en el que se almacena la instantánea de MemoryDB.

Creación de un bucket de Amazon S3
  1. Inicie sesión en la consola de Amazon S3 AWS Management Console y ábrala en https://console.aws.amazon.com/s3/.

  2. Seleccione la opción Crear bucket.

  3. En Create a Bucket - Select a Bucket Name and Region, haga lo siguiente:

    1. En Bucket Name (Nombre del bucket), escriba un nombre para el bucket de Amazon S3.

    2. En la lista de regiones, selecciona una AWS región para tu bucket de Amazon S3. Esta AWS región debe ser la misma AWS región que la instantánea de MemoryDB que desea exportar.

    3. Seleccione Crear.

Para obtener más información sobre la creación de un bucket de Amazon S3, consulte la sección de Creación de un bucket en la Guía del usuario de Amazon Simple Storage Service.

Paso 2: conceder acceso a MemoryDB a su bucket de Amazon S3

AWS Las regiones introducidas antes del 20 de marzo de 2019 están habilitadas de forma predeterminada. Puede empezar a trabajar en estas AWS regiones de forma inmediata. Las regiones introducidas después del 20 de marzo de 2019 están deshabilitadas de forma predeterminada. Debe habilitar o suscribirse a estas regiones antes de poder utilizarlas, tal y como se describe en Administración de regiones de AWS.

Conceda a MemoryDB acceso a su bucket de S3 en una región AWS

Para crear los permisos adecuados en un bucket de Amazon S3 en una AWS región, siga estos pasos.

Para conceder a MemoryDB acceso a un bucket de S3
  1. Inicie sesión en la consola de Amazon S3 AWS Management Console y ábrala en https://console.aws.amazon.com/s3/.

  2. Elija el nombre del bucket de Amazon S3 en el que desea copiar la instantánea. Este debe ser el bucket de S3 que creó en Paso 1: Crear un bucket de Amazon S3.

  3. Elija la pestaña Permisos y en Permisos, elija Política de buckets.

  4. Actualice la política para conceder a MemoryDB los permisos necesarios para realizar operaciones:

    • Agregue [ "Service" : "region-full-name.memorydb-snapshot.amazonaws.com" ] a Principal.

    • Agregue los siguientes permisos necesarios para exportar una instantánea al bucket de Amazon S3.

      • "s3:PutObject"

      • "s3:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

      • "s3:ListMultipartUploadParts"

      • "s3:ListBucketMultipartUploads"

    A continuación, se muestra un ejemplo del aspecto que tendría la política actualizada.

    { "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "aws-region.memorydb-snapshot.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/*" ] } ] }

Paso 3: exportar una instantánea de MemoryDB

Ya ha creado el bucket de S3 y ha concedido permisos de MemoryDB para acceder a él. Cambie la propiedad del objeto de S3 a una ACL habilitada (se prefiere el propietario del bucket). A continuación, puede utilizar la consola de MemoryDB, la AWS CLI o la API de MemoryDB para exportarle la instantánea. En el siguiente procedimiento se da por sentado que dispone de los siguientes permisos adicionales de IAM específicos de S3.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" }] }

El siguiente proceso usa la consola de MemoryDB para exportar una instantánea a un bucket de Amazon S3 para que pueda tener acceso a ella desde fuera de MemoryDB. El bucket de Amazon S3 debe estar en la misma AWS región que la instantánea de MemoryDB.

Para exportar una instantánea de MemoryDB a un bucket de Amazon S3
  1. Inicie sesión en la consola de MemoryDB for Redis AWS Management Console y ábrala en https://console.aws.amazon.com/memorydb/.

  2. Para ver una lista de las instantáneas, en el panel de navegación izquierdo, elija Instantáneas.

  3. En la lista de instantáneas, elija el botón de opción situado a la izquierda de la instantánea que desea exportar.

  4. Elija Copiar.

  5. En Create a Copy of the Backup? (¿Desea crear una copia del backup?), haga lo siguiente:

    1. En el cuadro Nuevo nombre de instantánea, especifique un nombre para la nueva instantánea.

      El nombre debe tener entre 1 y 1 000 caracteres y debe admitir la codificación UTF-8.

      MemoryDB agrega una partición y .rdb al valor que especifique aquí. Por ejemplo, si especifica my-exported-snapshot, MemoryDB creará my-exported-snapshot-0001.rdb.

    2. Desde la lista Ubicación de S3 de destino, elija el nombre del bucket de Amazon S3 al que desea copiar la instantánea (el bucket que creó en Paso 1: Crear un bucket de Amazon S3).

      La ubicación S3 de destino debe ser un depósito de Amazon S3 en la AWS región de la instantánea con los siguientes permisos para que el proceso de exportación se realice correctamente.

      • Acceso al objeto: Read (Lectura) y Write (Escritura).

      • Permisos de acceso: lectura.

      Para obtener más información, consulte Paso 2: conceder acceso a MemoryDB a su bucket de Amazon S3.

    3. Elija Copiar.

nota

Si su bucket de S3 no tiene los permisos necesarios para que MemoryDB pueda exportar una instantánea, recibirá uno de los mensajes de error siguientes. Vuelva a Paso 2: conceder acceso a MemoryDB a su bucket de Amazon S3 para agregar los permisos especificados e intente de nuevo exportar la instantánea.

  • No se han concedido permisos de LECTURA %s a MemoryDB en el bucket de S3.

    Solución: añada los permisos Read en el bucket.

  • No se han concedido permisos de ESCRITURA %s a MemoryDB en el bucket de S3.

    Solución: añada los permisos Write en el bucket.

  • No se han concedido permisos READ_ACP a MemoryDB %s en el bucket de S3.

    Solución: añada Read como permiso de acceso en el bucket.

Si desea copiar la instantánea en otra AWS región, utilice Amazon S3 para copiarla. Para obtener más información, consulte Copia de objetos en la Guía del usuario de Amazon Simple Storage Service.

Exporte la instantánea a un bucket de Amazon S3 con la operación de la CLI copy-snapshot con los siguientes parámetros:

Parámetros
  • --source-snapshot-name: nombre de la instantánea que se copiará.

  • --target-snapshot-name: nombre de la copia de la instantánea.

    El nombre debe tener entre 1 y 1 000 caracteres y debe admitir la codificación UTF-8.

    MemoryDB agrega un identificador de partición y .rdb al valor que ingrese aquí. Por ejemplo, si especifica my-exported-snapshot, MemoryDB creará my-exported-snapshot-0001.rdb.

  • --target-bucket: escriba el nombre del bucket de Amazon S3 donde desea exportar la instantánea. Se realizará una copia de la instantánea en el bucket especificado.

    --target-bucketDebe ser un bucket de Amazon S3 en la AWS región de la instantánea con los siguientes permisos para que el proceso de exportación se realice correctamente.

    • Acceso al objeto: Read (Lectura) y Write (Escritura).

    • Permisos de acceso: lectura.

    Para obtener más información, consulte Paso 2: conceder acceso a MemoryDB a su bucket de Amazon S3.

La operación siguiente copia una instantánea en my-s3-bucket.

Para Linux, macOS o Unix:

aws memorydb copy-snapshot \ --source-snapshot-name automatic.my-primary-2021-06-27-03-15 \ --target-snapshot-name my-exported-snapshot \ --target-bucket my-s3-bucket

Para Windows:

aws memorydb copy-snapshot ^ --source-snapshot-name automatic.my-primary-2021-06-27-03-15 ^ --target-snapshot-name my-exported-snapshot ^ --target-bucket my-s3-bucket
nota

Si su bucket de S3 no tiene los permisos necesarios para que MemoryDB pueda exportar una instantánea, recibirá uno de los mensajes de error siguientes. Vuelva a Paso 2: conceder acceso a MemoryDB a su bucket de Amazon S3 para agregar los permisos especificados e intente de nuevo exportar la instantánea.

  • No se han concedido permisos de LECTURA %s a MemoryDB en el bucket de S3.

    Solución: añada los permisos Read en el bucket.

  • No se han concedido permisos de ESCRITURA %s a MemoryDB en el bucket de S3.

    Solución: añada los permisos Write en el bucket.

  • No se han concedido permisos READ_ACP a MemoryDB %s en el bucket de S3.

    Solución: añada Read como permiso de acceso en el bucket.

Para obtener más información, consulte copy-snapshot en la Referencia de los comandos de AWS CLI .

Si desea copiar la instantánea a otra AWS región, utilice Amazon S3 copy. Para obtener más información, consulte Copia de objetos en la Guía del usuario de Amazon Simple Storage Service.

Exporte la instantánea a un bucket de Amazon S3 con la operación de la API CopySnapshot con los parámetros que se indican a continuación.

Parámetros
  • SourceSnapshotName: nombre de la instantánea que se copiará.

  • TargetSnapshotName: nombre de la copia de la instantánea.

    El nombre debe tener entre 1 y 1 000 caracteres y debe admitir la codificación UTF-8.

    MemoryDB agrega una partición y .rdb al valor que especifique aquí. Por ejemplo, si especifica my-exported-snapshot, obtendrá my-exported-snapshot-0001.rdb.

  • TargetBucket: escriba el nombre del bucket de Amazon S3 donde desea exportar la instantánea. Se realizará una copia de la instantánea en el bucket especificado.

    TargetBucketDebe ser un bucket de Amazon S3 en la AWS región de la instantánea con los siguientes permisos para que el proceso de exportación se realice correctamente.

    • Acceso al objeto: Read (Lectura) y Write (Escritura).

    • Permisos de acceso: lectura.

    Para obtener más información, consulte Paso 2: conceder acceso a MemoryDB a su bucket de Amazon S3.

El siguiente ejemplo hace una copia de una instantánea automática en el bucket my-s3-bucket de Amazon S3 .

https://memory-db.us-east-1.amazonaws.com/ ?Action=CopySnapshot &SourceSnapshotName=automatic.my-primary-2021-06-27-03-15 &TargetBucket=my-s3-bucket &TargetSnapshotName=my-snapshot-copy &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210801T220302Z &Version=2021-01-01 &X-Amz-Algorithm=Amazon4-HMAC-SHA256 &X-Amz-Date=20210801T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20210801T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
nota

Si su bucket de S3 no tiene los permisos necesarios para que MemoryDB pueda exportar una instantánea, recibirá uno de los mensajes de error siguientes. Vuelva a Paso 2: conceder acceso a MemoryDB a su bucket de Amazon S3 para agregar los permisos especificados e intente de nuevo exportar la instantánea.

  • No se han concedido permisos de LECTURA %s a MemoryDB en el bucket de S3.

    Solución: añada los permisos Read en el bucket.

  • No se han concedido permisos de ESCRITURA %s a MemoryDB en el bucket de S3.

    Solución: añada los permisos Write en el bucket.

  • No se han concedido permisos READ_ACP a MemoryDB %s en el bucket de S3.

    Solución: añada Read como permiso de acceso en el bucket.

Para obtener más información, consulte CopySnapshot.

Si desea copiar la instantánea a otra AWS región, utilice Amazon S3 copy para copiar la instantánea exportada al bucket de Amazon S3 de otra AWS región. Para obtener más información, consulte Copia de objetos en la Guía del usuario de Amazon Simple Storage Service.