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 oferece suporte à 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 Valkey e Redis OSS de código aberto e podem ser carregados com a versão ou as ferramentas apropriadas. Você pode exportar um snapshot usando o console do MemoryDB, a AWS CLI ou a API do MemoryDB.
Exportar um snapshot pode ser útil se você precisar executar um cluster em outra região da AWS. Você pode exportar seus dados em uma região da AWS, copiar o arquivo .rdb para a nova região da AWS e, em seguida, usar esse arquivo .rdb para propagar o novo cluster em vez de aguardar até que o novo cluster seja preenchido com o 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 da 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 poder exportar um snapshot para um bucket do Amazon S3, é necessário ter um bucket do Amazon S3 na mesma região da AWS que o 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 de API CopySnapshot.
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 (política do IAM) para controlar quem pode usar oCopySnapshot
da 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 no Guia do usuário do .
Tópicos
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
-
Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
Escolha Criar bucket.
-
Em Create a Bucket - Select a Bucket Name and Region, faça o seguinte:
-
Em Nome do bucket, digite um nome para o bucket do Amazon S3.
-
Na lista Região, escolha uma região da AWS para o seu bucket do Amazon S3. Essa região da AWS deve ser a mesma região da AWS do snapshot do MemoryDB que você deseja exportar.
-
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
Regiões da AWS adicionadas antes de 20 de março de 2019 são habilitadas por padrão. É possível começar a trabalhar nessas regiões da AWS 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.
Conceder acesso ao seu bucket do S3 em uma região da AWS
Para criar as permissões adequadas em um bucket do Amazon S3 em uma região da AWS, siga as seguintes etapas.
Para conceder acesso ao MemoryDB a um bucket do S3
-
Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
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.
-
Escolha a guia Permissões e, em Permissões, escolha Política de bucket.
-
Atualize a política para conceder ao MemoryDB as permissões necessárias para realizar operações:
Adicione
[ "Service" : "
aregion-full-name
.memorydb-snapshot.amazonaws.com" ]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 do MemoryDB, a CLI da AWS ou a API do 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 região da AWS que o snapshot do MemoryDB.
Exportar um snapshot do MemoryDB para um bucket do Amazon S3
-
Faça login no AWS Management Console e abra o console do MemoryDB em https://console.aws.amazon.com/memorydb/
. -
Para ver uma lista dos seus snapshots, no painel de navegação esquerdo, escolha Snapshots.
-
Na lista de snapshots, escolha o botão de opções à esquerda do nome snapshot que você deseja exportar.
-
Escolha Copiar.
-
Em Criar uma cópia do backup?, faça o seguinte:
-
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ê inserirmy-exported-snapshot
, o MemoryDB criarámy-exported-snapshot-0001.rdb
. -
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 do S3 de destino deve ser um bucket do Amazon S3 na região da AWS do backup 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.
-
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 quiser copiar o snapshot para outra região da AWS, 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ê inserirmy-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.O valor de
--target-bucket
deve ser um bucket do Amazon S3 na região da 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.
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-namemy-exported-snapshot
\ --target-bucketmy-s3-bucket
Para Windows:
aws memorydb copy-snapshot ^ --source-snapshot-name
automatic.my-primary-2021-06-27-03-15
^ --target-snapshot-namemy-exported-snapshot
^ --target-bucketmy-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 quiser copiar seu snapshot para outra região da AWS, 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ê inserirmy-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.O valor de
TargetBucket
deve ser um bucket do Amazon S3 na região da 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.
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ê deseja copiar o snapshot para outra região da AWS, use o recurso de cópia do Amazon S3 para copiar o snapshot exportado para o bucket do Amazon S3 em outra região da AWS. Para obter mais informações, consulte Cópia de objetos no Guia do usuário do Amazon Simple Storage Service.