Cópia de snapshots de cluster do Amazon DocumentDB
No Amazon DocumentDB, é possível copiar snapshots manuais e automáticos na mesma conta Região da AWS ou para um Região da AWS diferente na mesma conta. Você também pode compartilhar snapshots pertencentes a outras Contas da AWS pessoas no mesmo Região da AWS. Não é possível copiar um snapshot de cluster entre Regiões da AWS e Conta da AWS em uma única etapa. Essas ações devem ser executadas individualmente.
Como alternativa à cópia, você também pode compartilhar snapshots manuais com outra Contas da AWS. Para ter mais informações, consulte Compartilhamento de snapshots de cluster do Amazon DocumentDB.
Copiar snapshots compartilhados
É possível copiar snapshots compartilhados com você por outras Contas da AWS. Se estiver copiando um snapshot criptografado que tenha sido compartilhado de outra Conta da AWS, você deverá ter acesso à chave de criptografia do AWS KMS usada para criptografar o snapshot.
Você só pode copiar um snapshot compartilhado, criptografado ou não, na mesma Região da AWS. Para ter mais informações, consulte Lidar com a criptografia.
Cópia de snapshots entre Regiões da AWS
Quando você copia um snapshot para uma Região da AWS diferente da Região da AWS do snapshot de origem, cada cópia é um snapshot completo. Uma cópia completa de snapshot contém todos os dados e metadados necessários para restaurar o cluster do Amazon DocumentDB.
Dependendo das Regiões da AWS envolvidas e da quantidade de dados a serem copiados, uma cópia de snapshot entre regiões pode levar horas para ser concluída. Em alguns casos, pode haver um grande número de solicitações de cópia de snapshot entre regiões de determinada Região da AWS de origem. Nesses casos, o Amazon DocumentDB pode colocar novas solicitações de cópia entre regiões da Região da AWS de origem em uma fila até que algumas cópias em andamento sejam concluídas. Nenhuma informação de progresso é exibida sobre solicitações de cópia enquanto elas estão na fila. As informações sobre o andamento são exibidas quando a cópia é iniciada.
Limitações
Algumas limitações ao copiar snapshots:
-
Se você excluir um snapshot de origem antes que o snapshot de destino fique disponível, a cópia do snapshot poderá falhar. Verifique se o snapshot de destino possui um status AVAILABLE
antes de excluir um snapshot de origem.
-
É possível ter até cinco solicitações de cópia de snapshot em andamento para uma única região de destino por conta.
-
Dependendo das regiões envolvidas e da quantidade de dados a serem copiados, uma cópia de snapshot entre regiões pode levar horas para ser concluída. Para ter mais informações, consulte Cópia de snapshots entre Regiões da AWS.
Lidar com a criptografia
É possível copiar um snapshot que foi criptografado usando uma chave de criptografia do AWS KMS. Se você copiar um snapshot criptografado, a cópia desse snapshot também deverá ser criptografada. Se copiar um snapshot criptografado dentro da mesma Região da AWS, é possível criptografar a cópia com a mesma chave de criptografia do AWS KMS que o snapshot original, ou poderá especificar uma chave de criptografia AWS KMS diferente. Se você copiar um snapshot criptografado entre regiões, não poderá usar a mesma chave de criptografia do AWS KMS para a cópia usada para o snapshot de origem, pois as chaves do AWS KMS são específicas da região. Em vez disso, você deve especificar uma chave do AWS KMS válida na região de destino Região da AWS.
O snapshot de origem permanece criptografado ao longo do processo de cópia. Para ter mais informações, consulte Proteção de dados no Amazon DocumentDB.
Para snapshots de cluster do Amazon DocumentDB, você não pode criptografar um snapshot de cluster não criptografado quando você copia o snapshot.
Considerações de grupos de parâmetros
Ao copiar um snapshot entre regiões, a cópia não inclui o grupo de parâmetros usado pelo cluster original do Amazon DocumentDB. Ao restaurar um snapshot para criar um cluster, esse cluster obtém o grupo de parâmetros padrão da Região da AWS na qual foi criado. Para dar ao novo cluster os mesmos parâmetros que o original, você deve fazer o seguinte:
Cópia de um snapshot de cluster
É possível copiar um cluster do Amazon DocumentDB usando o AWS Management Console ou AWS CLI, da seguinte forma.
- Using the AWS Management Console
-
Para fazer uma cópia de um snapshot de cluster usando o AWS Management Console, execute as etapas a seguir. Esse procedimento funciona para copiar snapshots de cluster criptografados ou não criptografados, na mesma Região da AWS ou entre regiões.
-
Faça login no AWS Management Console e abra o console do Amazon DocumentDB em https://console.aws.amazon.com/docdb.
-
No painel de navegação, escolha Snapshots e, em seguida, escolha o botão à esquerda do snapshot que você deseja copiar.
Caso não visualize o painel de navegação à esquerda da tela, selecione o ícone do menu () no canto superior esquerdo da página.
-
No menu Actions, escolha Copy.
-
Na página Fazer cópia do snapshot do cluster resultante, preencha a seção Configurações.
-
Região de destino: opcional. Para copiar o snapshot de cluster para outra Região da AWS, escolha essa Região da AWS como a Região de destino.
-
Identificador do novo snapshot: digite um nome para o novo snapshot.
Restrições de nomenclatura do snapshot de destino:
-
Não pode ser o nome de um snapshot existente.
-
O comprimento é de [1 a 63] letras, números ou hífens.
-
O primeiro caractere deve ser uma letra.
-
Não podem terminar com um hífen ou conter dois hífens consecutivos.
-
Deve ser exclusivo para todos os clusters no Amazon RDS, Amazon Neptune e Amazon DocumentDB por Conta da AWS, por região.
-
Copiar tags: para copiar as tags existentes no snapshot de origem para a sua cópia do snapshot, escolha Copiar tags.
-
Preencha a seção Criptografia em repouso.
-
Criptografia em repouso: se o snapshot não estiver criptografado, essas opções não estarão disponíveis para você, pois não é possível criar uma cópia criptografada a partir de um snapshot não criptografado. Se seu snapshot estiver criptografado, é possível alterar a AWS KMS key usado durante a criptografia em repouso.
Para obter mais informações sobre criptografia de cópias de snapshot, consulte Copiar criptografia de snapshot de cluster.
Para obter mais informações sobre criptografia em repouso, consulte Criptografar dados em repouso do Amazon DocumentDB.
-
Chave do AWS KMS: escolha uma das seguintes na lista suspensa:
-
(padrão) aws/rds: o número da conta e o ID de chave do AWS KMS estão listados após essa opção.
-
<some-key-name>: se você tiver criado uma chave, ela estará listada e disponível para você escolher.
-
Inserir o ARN da chave: na caixa ARN, insira nome do recurso da Amazon (ARN) para a chave do AWS KMS. O formato do ARN é arn:aws:kms:<region>:<accountID>:key/<key-id>
.
-
Para criar uma cópia do snapshot selecionado, escolha Copy snapshot (Copiar snapshot). Como alternativa, é possível escolher Cancelar para não criar uma cópia do snapshot.
- Using the AWS CLI
-
Para fazer uma cópia de um snapshot não criptografado de cluster usando o AWS CLI, use a operação copy-db-cluster-snapshot
com os parâmetros a seguir. Ao copiar o snapshot para outra Região da AWS, execute o comando na Região da AWS na qual o snapshot será copiado.
-
--source-db-cluster-snapshot-identifier
— Obrigatório. O identificador do snapshot de cluster a ser copiado. O snapshot do cluster deve existir e estar no estado disponível. Ao copiar o snapshot para outra Região da AWS, esse identificador deve estar no formato ARN da Região da AWS de origem. Esse parâmetro não diferencia maiúsculas de minúsculas.
-
--target-db-cluster-snapshot-identifier
— Obrigatório. O identificador do novo snapshot de cluster a ser criado a partir do snapshot de cluster de origem. Esse parâmetro não diferencia maiúsculas de minúsculas.
Restrições de nomenclatura do snapshot de destino:
-
Não pode ser o nome de um snapshot existente.
-
O comprimento é de [1 a 63] letras, números ou hífens.
-
O primeiro caractere deve ser uma letra.
-
Não podem terminar com um hífen ou conter dois hífens consecutivos.
-
Deve ser exclusivo para todos os clusters no Amazon RDS, Amazon Neptune e Amazon DocumentDB por Conta da AWS, por região.
-
--source-region
: se você estiver copiando o snapshot para outra Região da AWS, especifique a Região da AWS da qual o snapshot do cluster criptografado será copiado.
Se estiver copiando o snapshot para outra Região da AWS e não especificar --source-region
, deverá especificar o parâmetro pre-signed-url
em vez disso. O valor de pre-signed-url
deve ser um URL que contenha uma solicitação assinada do Signature versão 4 para que a ação CopyDBClusterSnapshot
seja chamada na Região da AWS de origem da qual o snapshot do cluster é copiado. Para saber mais sobre pre-signed-url
, consulte CopyDBClusterSnapshot.
-
--kms-key-id
: o identificador da chave do KMS da chave a ser usada para criptografar a cópia do snapshot do cluster.
Se estiver copiando um snapshot de cluster criptografado para outro Região da AWS, esse parâmetro será obrigatório. Você deve especificar uma chave do KMS para a Região da AWS de destino.
Se você estiver copiando um snapshot de cluster criptografado no mesmo Região da AWS, o parâmetro de chave AWS KMS é opcional. A cópia do snapshot do cluster é criptografada com a mesma chave AWS KMS que o snapshot do cluster de origem. Se quiser especificar uma nova chave de criptografia do AWS KMS a ser usada para criptografar a cópia, é possível fazer isso usando esse parâmetro.
-
--copy-tags
: opcional. As tags e os valores a serem copiados.
Para cancelar uma operação de cópia quando ela estiver em andamento, é possível excluir o snapshot do cluster de destino identificado por --target-db-cluster-snapshot-identifier
ou TargetDBClusterSnapshotIdentifier
enquanto ele estiver no status copiando.
Exemplo 1: copiar um snapshot não criptografado para a mesma região
O exemplo a seguir AWS CLI cria uma cópia de sample-cluster-snapshot
chamado sample-cluster-snapshot-copy
na mesma Região da AWS que o snapshot de origem. Quando a cópia é feita, todas as tags do snapshot original são copiadas para a cópia do snapshot.
Para Linux, macOS ou Unix:
aws docdb copy-db-cluster-snapshot \
--source-db-cluster-snapshot-identifier sample-cluster-snapshot \
--target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy \
--copy-tags
Para Windows:
aws docdb copy-db-cluster-snapshot ^
--source-db-cluster-snapshot-identifier sample-cluster-snapshot ^
--target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy ^
--copy-tags
A saída dessa operação é semelhante a seguinte.
{
"DBClusterSnapshot": {
"AvailabilityZones": [
"us-east-1a",
"us-east-1b",
"us-east-1c"
],
"DBClusterSnapshotIdentifier": "sample-cluster-snapshot-copy",
"DBClusterIdentifier": "sample-cluster",
"SnapshotCreateTime": "2020-03-27T08:40:24.805Z",
"Engine": "docdb",
"Status": "copying",
"Port": 0,
"VpcId": "vpc-abcd0123",
"ClusterCreateTime": "2020-01-10T22:13:38.261Z",
"MasterUsername": "master-user",
"EngineVersion": "4.0.0",
"SnapshotType": "manual",
"PercentProgress": 0,
"StorageEncrypted": true,
"KmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/sample-key-id",
"DBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot-copy",
"SourceDBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot"
}
}
Exemplo 2: copiar um snapshot não criptografado em Regiões da AWS
O exemplo a seguir AWS CLI cria uma cópia de sample-cluster-snapshot
, que tem o ARN arn:aws:rds:us-east-1:123456789012:cluster-snapshot:sample-cluster-snapshot
. Essa cópia é chamada de sample-cluster-snapshot-copy
e está no Região da AWS em que o comando é executado.
Para Linux, macOS ou Unix:
aws docdb copy-db-cluster-snapshot \
--source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:sample-cluster-snapshot \
--target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy
Para Windows:
aws docdb copy-db-cluster-snapshot ^
--source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:sample-cluster-snapshot ^
--target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy
A saída dessa operação é semelhante a seguinte.
{
"DBClusterSnapshot": {
"AvailabilityZones": [
"us-east-1a",
"us-east-1b",
"us-east-1c"
],
"DBClusterSnapshotIdentifier": "sample-cluster-snapshot-copy",
"DBClusterIdentifier": "sample-cluster",
"SnapshotCreateTime": "2020-04-29T16:45:51.239Z",
"Engine": "docdb",
"AllocatedStorage": 0,
"Status": "copying",
"Port": 0,
"VpcId": "vpc-abc0123",
"ClusterCreateTime": "2020-04-28T16:43:00.294Z",
"MasterUsername": "master-user",
"EngineVersion": "4.0.0",
"LicenseModel": "docdb",
"SnapshotType": "manual",
"PercentProgress": 0,
"StorageEncrypted": false,
"DBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot-copy",
"SourceDBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot",
}
}
Exemplo 3: copiar um snapshot criptografado entre Regiões da AWS
O exemplo a seguir AWS CLI cria uma cópia de sample-cluster-snapshot
da região us-west-2 para a região us-east-1. Este comando é chamado na região us-east-1.
Para Linux, macOS ou Unix:
aws docdb copy-db-cluster-snapshot \
--source-db-cluster-snapshot-identifier arn:aws:rds:us-west-2:123456789012:cluster-snapshot:sample-cluster-snapshot \
--target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy \
--source-region us-west-2 \
--kms-key-id sample-us-east-1-key
Para Windows:
aws docdb copy-db-cluster-snapshot ^
--source-db-cluster-snapshot-identifier arn:aws:rds:us-west-2:123456789012:cluster-snapshot:sample-cluster-snapshot ^
--target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy ^
--source-region us-west-2 ^
--kms-key-id sample-us-east-1-key
A saída dessa operação é semelhante a seguinte.
{
"DBClusterSnapshot": {
"AvailabilityZones": [],
"DBClusterSnapshotIdentifier": "sample-cluster-snapshot-copy",
"DBClusterIdentifier": "ayhu-xrsc-test-ap-southeast-1-small-cluster-kms",
"SnapshotCreateTime": "2020-04-29T16:45:53.159Z",
"Engine": "docdb",
"AllocatedStorage": 0,
"Status": "copying",
"Port": 0,
"ClusterCreateTime": "2020-04-28T16:43:07.129Z",
"MasterUsername": "chimera",
"EngineVersion": "4.0.0",
"LicenseModel": "docdb",
"SnapshotType": "manual",
"PercentProgress": 0,
"StorageEncrypted": true,
"KmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/sample-key-id",
"DBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot-copy",
"SourceDBClusterSnapshotArn": "arn:aws:rds:us-west-2:111122223333:cluster-snapshot:sample-cluster-snapshot",
}
}