Exportação de um snapshot - Amazon MemoryDB para Redis

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exportação de um snapshot

O MemoryDB para Redis oferece suporte para a exportação do snapshot do MemoryDB para um bucket do Amazon Simple Storage Service (Amazon S3), que lhe dá acesso de fora do MemoryDB. Os snapshots exportados do MemoryDB são totalmente compatíveis com o Redis de código aberto e podem ser carregados com a versão ou as ferramentas apropriadas do Redis. Você pode exportar um snapshot usando o console MemoryDB AWS CLI, o ou a API MemoryDB.

A exportação de um snapshot pode ser útil se você precisar iniciar um cluster em outra AWS região. Você pode exportar seus dados em uma AWS região, copiar o arquivo.rdb para a nova AWS região e, em seguida, usar esse arquivo.rdb para semear o novo cluster em vez de esperar que o novo cluster seja preenchido por meio do uso. Para obter informações sobre como criar um novo cluster, consulte Propagação de um novo cluster com um snapshot criado externamente. Outra razão pela qual você pode querer exportar os dados do seu cluster é para usar o arquivo .rdb para processamento offline.

Importante
  • O snapshot do MemoryDB e o bucket do Amazon S3 para o qual você deseja copiá-lo devem estar na mesma região. AWS

    Embora os snapshots copiados para um bucket do Amazon S3 sejam criptografados, recomendamos que você não conceda acesso ao bucket do Amazon S3 no qual deseja armazená-los a outras pessoas.

  • A exportação de um snapshot para o Amazon S3 não é compatível com clusters que usam classificação de dados em níveis. Para ter mais informações, consulte Classificação de dados em níveis.

Antes de exportar um snapshot para um bucket do Amazon S3, você deve ter um bucket do Amazon S3 na AWS mesma região do snapshot. Conceder acesso do MemoryDB ao bucket. As duas primeiras etapas mostram como fazer isso.

Atenção

Os seguintes cenários expõem seus dados de maneiras que talvez você não queira:

  • Quando outra pessoa tiver acesso ao bucket do Amazon S3 para o qual você exportou o snapshot.

    Para controlar o acesso aos seus snapshots, permita acesso ao bucket do Amazon S3 somente àqueles que você deseja que acessem seus dados. Para obter informações sobre como gerenciar o acesso a um bucket do Amazon S3, consulte Gerenciamento do acesso, no Guia do desenvolvedor do Amazon S3.

  • Quando outra pessoa tem permissões para usar a operação CopySnapshot da API.

    Usuários ou grupos que possuem permissões para usar a operação CopySnapshot da API podem criar seus próprios buckets do Amazon S3 e copiar snapshots para eles. Para controlar o acesso aos seus snapshots, use uma política AWS Identity and Access Management (IAM) para controlar quem tem a capacidade de usar a CopySnapshot API. Para obter mais informações sobre como usar o IAM para controlar o uso de operações de API do MemoryDB, consulte Gerenciamento de identidade e acesso no MemoryDB para Redis no Guia do usuário do .

Etapa 1: Crie um bucket do Amazon S3

O procedimento a seguir usa o console do Amazon S3 para criar um bucket do Amazon S3 em que você exportará e armazenará seu snapshot do MemoryDB.

Como criar um bucket do Amazon S3
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Escolha Criar bucket.

  3. Em Create a Bucket - Select a Bucket Name and Region, faça o seguinte:

    1. Em Nome do bucket, digite um nome para o bucket do Amazon S3.

    2. Na lista de regiões, escolha uma AWS região para seu bucket do Amazon S3. Essa AWS região deve ser a mesma AWS região do snapshot do MemoryDB que você deseja exportar.

    3. Escolha Criar.

Para obter mais informações sobre como criar um bucket do Amazon S3, consulte Criação de um bucket, no Guia do usuário do Amazon Simple Storage Service.

Etapa 2: Conceder acesso do MemoryDB ao bucket do Amazon S3

AWS As regiões introduzidas antes de 20 de março de 2019 estão habilitadas por padrão. Você pode começar a trabalhar nessas AWS regiões imediatamente. Regiões adicionadas após 20 de março de 2019 são desabilitadas por padrão. Você deve habilitar ou escolher essas regiões para poder usá-las, conforme descrito em Gerenciamento de regiões da AWS.

Conceda acesso ao MemoryDB ao seu bucket do S3 em uma região AWS

Para criar as permissões adequadas em um bucket do Amazon S3 em uma AWS região, siga as etapas a seguir.

Para conceder acesso ao MemoryDB a um bucket do S3
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Escolha o nome do bucket do Amazon S3 para o qual você deseja copiar o snapshot. Esse deve ser o bucket do S3 que você criou em Etapa 1: Crie um bucket do Amazon S3.

  3. Escolha a guia Permissões e, em Permissões, escolha Política de bucket.

  4. Atualize a política para conceder ao MemoryDB as permissões necessárias para realizar operações:

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

    • Adicione as seguintes permissões necessárias para exportar um snapshot para o bucket do Amazon S3.

      • "s3:PutObject"

      • "s3:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

      • "s3:ListMultipartUploadParts"

      • "s3:ListBucketMultipartUploads"

    Veja a seguir um exemplo de como a política atualizada pode parecer.

    { "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/*" ] } ] }

Etapa 3: exportar um snapshot do MemoryDB

Agora você criou seu bucket do S3 e concedeu permissões ao MemoryDB para acessá-lo. Altere a propriedade do objeto do S3 para ACLs ativadas – preferencialmente o proprietário do bucket. Em seguida, você pode usar o console MemoryDB, a AWS CLI ou a API MemoryDB para exportar seu snapshot para ele. O seguinte pressupõe que você tenha as seguintes permissões do IAM específicas adicionais do 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:::*" }] }

O processo a seguir usa o console do MemoryDB para exportar um snapshot para um bucket do Amazon S3 para que você possa acessá-lo de fora do MemoryDB. O bucket do Amazon S3 deve estar na mesma AWS região do snapshot do MemoryDB.

Exportar um snapshot do MemoryDB para um bucket do Amazon S3
  1. Faça login AWS Management Console e abra o console MemoryDB for Redis em https://console.aws.amazon.com/memorydb/.

  2. Para ver uma lista dos seus snapshots, no painel de navegação esquerdo, escolha Snapshots.

  3. Na lista de snapshots, escolha o botão de opções à esquerda do nome snapshot que você deseja exportar.

  4. Escolha Copiar.

  5. Em Criar uma cópia do backup?, faça o seguinte:

    1. Na caixa Novo nome do snapshot, insira um nome para o snapshot.

      O nome deve ter entre 1 e 1.000 caracteres e pode ser codificado em UTF-8.

      O MemoryDB adiciona um fragmento identificador e .rdb ao valor que você inseriu aqui. Por exemplo, se você inserir my-exported-snapshot, o MemoryDB criará my-exported-snapshot-0001.rdb.

    2. Na lista Local do S3 de destino, escolha o nome do bucket do Amazon S3 para o qual você deseja copiar seu snapshot (o bucket que você criou em Etapa 1: Crie um bucket do Amazon S3).

      O local de destino do S3 deve ser um bucket do Amazon S3 na região AWS do snapshot com as seguintes permissões para que o processo de exportação seja bem-sucedido.

      • Acesso ao objeto: Ler e Escrever.

      • Permissões de acesso: Ler.

      Para ter mais informações, consulte Etapa 2: Conceder acesso do MemoryDB ao bucket do Amazon S3.

    3. Escolha Copiar.

nota

Se o seu bucket do S3 não tiver as permissões necessárias para que o MemoryDB exporte um snapshot para ele, você receberá uma das seguintes mensagens de erro. Retorne para Etapa 2: Conceder acesso do MemoryDB ao bucket do Amazon S3 a fim de adicionar as permissões especificadas e tente exportar o snapshot novamente.

  • O MemoryDB não recebeu permissão READ %s no bucket do S3.

    Solução: adicione permissões de Leitura no bucket.

  • O MemoryDB não recebeu permissões WRITE %s no bucket do S3.

    Solução: adicione permissões de Gravação no bucket.

  • O MemoryDB não recebeu permissões READ_ACP %s no bucket do S3.

    Solução: adicione permissão de acesso de Leitura no bucket.

Se você quiser copiar seu snapshot para outra AWS região, use o Amazon S3 para copiá-lo. Para obter mais informações, consulte Cópia de objetos no Guia do usuário do Amazon Simple Storage Service.

Exporte o snapshot para um bucket do Amazon S3 usando a operação copy-snapshot da CLI com os seguintes parâmetros:

Parâmetros
  • --source-snapshot-name: nome do snapshot a ser copiado.

  • --target-snapshot-name: nome da cópia do snapshot.

    O nome deve ter entre 1 e 1.000 caracteres e pode ser codificado em UTF-8.

    O MemoryDB adiciona um identificador de fragmento e .rdb ao valor que você inseriu aqui. Por exemplo, se você inserir my-exported-snapshot, o MemoryDB criará my-exported-snapshot-0001.rdb.

  • --target-bucket: nome do bucket do Amazon S3 no qual você deseja exportar o snapshot. Uma cópia do snapshot é feita no bucket especificado.

    --target-bucketDeve ser um bucket do Amazon S3 na AWS região do snapshot com as seguintes permissões para que o processo de exportação seja bem-sucedido.

    • Acesso ao objeto: Ler e Escrever.

    • Permissões de acesso: Ler.

    Para ter mais informações, consulte Etapa 2: Conceder acesso do MemoryDB ao bucket do Amazon S3.

A operação a seguir copia um snapshot para o my-s3-bucket.

Para Linux, macOS ou 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

Se o seu bucket do S3 não tiver as permissões necessárias para que o MemoryDB exporte um snapshot para ele, você receberá uma das seguintes mensagens de erro. Retorne para Etapa 2: Conceder acesso do MemoryDB ao bucket do Amazon S3 a fim de adicionar as permissões especificadas e tente exportar o snapshot novamente.

  • O MemoryDB não recebeu permissão READ %s no bucket do S3.

    Solução: adicione permissões de Leitura no bucket.

  • O MemoryDB não recebeu permissões WRITE %s no bucket do S3.

    Solução: adicione permissões de Gravação no bucket.

  • O MemoryDB não recebeu permissões READ_ACP %s no bucket do S3.

    Solução: adicione permissão de acesso de Leitura no bucket.

Para obter mais informações, consulte copy-snapshot na Referência de comandos da AWS CLI .

Se você quiser copiar seu snapshot para outra AWS região, use a cópia do Amazon S3. Para obter mais informações, consulte Cópia de objetos no Guia do usuário do Amazon Simple Storage Service.

Exporte o snapshot para um bucket do Amazon S3 usando a operação CopySnapshot da API com os seguintes parâmetros.

Parâmetros
  • SourceSnapshotName: nome do snapshot a ser copiado.

  • TargetSnapshotName: nome da cópia do snapshot.

    O nome deve ter entre 1 e 1.000 caracteres e pode ser codificado em UTF-8.

    O MemoryDB adiciona um fragmento identificador e .rdb ao valor que você inseriu aqui. Por exemplo, se você inserir my-exported-snapshot, receberá my-exported-snapshot-0001.rdb.

  • TargetBucket: nome do bucket do Amazon S3 no qual você deseja exportar o snapshot. Uma cópia do snapshot é feita no bucket especificado.

    TargetBucketDeve ser um bucket do Amazon S3 na AWS região do snapshot com as seguintes permissões para que o processo de exportação seja bem-sucedido.

    • Acesso ao objeto: Ler e Escrever.

    • Permissões de acesso: Ler.

    Para ter mais informações, consulte Etapa 2: Conceder acesso do MemoryDB ao bucket do Amazon S3.

O exemplo a seguir faz uma cópia de um snapshot automático para o my-s3-bucket do bucket do 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

Se o seu bucket do S3 não tiver as permissões necessárias para que o MemoryDB exporte um snapshot para ele, você receberá uma das seguintes mensagens de erro. Retorne para Etapa 2: Conceder acesso do MemoryDB ao bucket do Amazon S3 a fim de adicionar as permissões especificadas e tente exportar o snapshot novamente.

  • O MemoryDB não recebeu permissão READ %s no bucket do S3.

    Solução: adicione permissões de Leitura no bucket.

  • O MemoryDB não recebeu permissões WRITE %s no bucket do S3.

    Solução: adicione permissões de Gravação no bucket.

  • O MemoryDB não recebeu permissões READ_ACP %s no bucket do S3.

    Solução: adicione permissão de acesso de Leitura no bucket.

Para obter mais informações, consulte CopySnapshot.

Se você quiser copiar seu snapshot para outra AWS região, use a cópia do Amazon S3 para copiar o snapshot exportado para o bucket do Amazon S3 em outra região. AWS Para obter mais informações, consulte Cópia de objetos no Guia do usuário do Amazon Simple Storage Service.