Copiar um snapshot de banco de dados do Amazon RDS Custom para SQL Server
Com o RDS Custom para SQL Server, é possível copiar snapshots de banco de dados manuais ou backups automatizados. Depois de copiar um snapshot, a cópia é um snapshot manual. É possível fazer várias cópias de um backup automatizado ou um snapshot manual, mas cada cópia deve ter um identificador exclusivo.
Só é possível copiar um snapshot na mesma conta AWS em diferentes Regiões da AWS em que o RDS Custom para SQL Server está disponível. No momento, os seguintes operadores não são aceitos:
Copiar snapshots de banco de dados na mesma Região da AWS.
Copiar snapshots de banco de dados entre contas AWS.
O RDS Custom para SQL Server é compatível com cópia de snapshot incremental. Para ter mais informações, consulte Considerações sobre a cópia de snapshots incrementais.
Tópicos
Limitações
As seguintes limitações se aplicam à cópia de um snapshot de banco de dados para o RDS Custom para SQL Server:
-
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 tem o status
AVAILABLE
antes de excluir um snapshot de origem. -
Não é possível especificar um nome de grupo de opções nem copiar um grupo de opções em sua solicitação de cópia do snapshot de banco de dados.
-
Se você excluir qualquer recurso dependente da AWS do DB snapshot de banco de dados de origem antes ou durante o processo de cópia, sua solicitação de cópia do snapshot poderá falhar de forma assíncrona.
-
Se você excluir o arquivo de backup Service Master Key (SMK) da sua instância de banco de dados de origem armazenado no bucket do S3 gerenciado pelo RDS Custom em sua conta, a cópia do snapshot de banco de dados será bem-sucedida de forma assíncrona. No entanto, os recursos do SQL Server dependentes do SMK, como bancos de dados habilitados para TDE, apresentam problemas. Para ter mais informações, consulte Solucionar problemas do estado PENDING_RECOVERY para bancos de dados habilitados para TDE no RDS Custom para SQL Server.
-
Atualmente, não é possível copiar snapshots de banco de dados na mesma Região da AWS.
Atualmente, não é possível copiar snapshots de banco de dados entre contas AWS.
As limitações à cópia de um snapshot de banco de dados para Amazon RDS também se aplicam ao RDS Custom para SQL Server. Para ter mais informações, consulte Limitações.
Lidar com a criptografia
Todas as instâncias e snapshots de banco de dados do RDS Custom para SQL Server são criptografados com chaves do KMS. Só é possível copiar um snapshot criptografado em um snapshot criptografado, portanto, é necessário especificar uma chave do KMS válida na Região da AWS de destino para a solicitação de cópia do snapshot de banco de dados.
O snapshot de origem permanece criptografado ao longo do processo de cópia. O Amazon RDS usa criptografia envelopada para proteger os dados durante a operação de cópia com a chave do KMS da Região da AWS de destino especificada. Para obter mais informações, consulte Criptografia envelopada no Guia do desenvolvedor do AWS Key Management Service.
Cópia entre regiões
É possível copiar snapshots de banco de dados entre Regiões da AWS. No entanto, existem certas restrições e considerações para a cópia de snapshot entre regiões.
Autorizar o RDS a se comunicar entre Regiões da AWS para cópia de snapshots
Depois que uma solicitação de cópia de snapshot de banco de dados entre Regiões é processada com êxito, o RDS inicia a cópia. Uma solicitação de autorização para o RDS acessar o snapshot de origem é criada. Essa solicitação de autorização vincula o snapshot de banco de dados de origem ao snapshot de banco de dados de destino. Isso permite que o RDS copie apenas no snapshot de destino especificado.
O RDS verifica a autorização usando a permissão rds:CrossRegionCommunication
no perfil do IAM vinculado ao serviço. Se a cópia for autorizada, o RDS poderá se comunicar com a Região de origem e concluirá a operação de cópia.
O RDS não tem acesso a snapshots de banco de dados que não foram autorizados anteriormente por uma solicitação de CopyDBSnapshot. A autorização é revogada quando a cópia é concluída.
O RDS usa a função vinculada ao serviço para verificar a autorização na região de origem. A cópia falhará se você excluir o perfil vinculado ao serviço durante o processo de cópia.
Para ter mais informações, consulte Usar perfis vinculados ao serviço no Guia do usuário do AWS Identity and Access Management.
Uso de credenciais do AWS Security Token Service
Os tokens de sessão do endpoint global do AWS Security Token Service (AWS STS) são válidos apenas nas Regiões da AWS habilitadas por padrão (regiões comerciais). Se você usar credenciais da operação da API assumeRole
no AWS STS, use o endpoint regional se a região de origem for uma região de aceitação. Caso contrário, haverá falha na solicitação. Suas credenciais devem ser válidas nas duas regiões, o que é verdadeiro para regiões opcionais somente quando o endpoint regional do AWS STS é usado.
Para usar o endpoint global, certifique-se de que ele esteja ativado para ambas as regiões nas operações. Defina o endpoint global como Valid
em todas as Regiões da AWS nas configurações da conta AWS STS.
Para ter mais informações, consulte Gerenciar o AWS STS em uma Região da AWS no Guia do usuário do AWS Identity and Access Management.
Snapshots de instâncias de banco de dados criadas com versões personalizadas do mecanismo (CEV)
Para um snapshot de banco de dados de uma instância de banco de dados que use uma versão personalizada do mecanismo (CEV), o RDS associa a CEV ao snapshot de banco de dados. Para copiar um snapshot de banco de dados de origem associado a uma CEV entre Regiões da AWS, o RDS copia a CEV junto com o snapshot de banco de dados de origem na região de destino.
Se você estiver copiando vários snapshots de banco de dados associados à mesma CEV na mesma região de destino, a primeira solicitação de cópia copia a CEV associada. O processo de cópia das solicitações a seguir localiza a CEV inicialmente copiada e a associa às cópias do snapshot de banco de dados a seguir. A cópia de CEV existente deve estar no estado AVAILABLE
para ser associada às cópias do snapshot de banco de dados.
Para copiar um snapshot de banco de dados associado a uma CEV, a política do IAM do solicitante deve ter as permissões para autorizar tanto a cópia do snapshot de banco de dados quanto a cópia da CEV associada. As seguintes permissões são necessárias na política do IAM do solicitante para permitir a cópia associada da CEV:
-
rds:CopyCustomDBEngineVersion
: a entidade principal do IAM do solicitante precisa ter a permissão para copiar a CEV de origem na região de destino junto com o snapshot de banco de dados de origem. A solicitação de cópia do snapshot falhará devido a erros de autorização se a entidade principal do IAM do solicitante não estiver autorizada a copiar a CEV de origem. -
ec2:CreateTags
: a AMI do EC2 subjacente da CEV de origem é copiada na região de destino como parte da cópia da CEV. O RDS Custom tenta marcar a AMI com a tagAWSRDSCustom
antes de copiar a AMI. A entidade principal do IAM do solicitante deve ter permissão para criar a tag na AMI subjacente à CEV de origem na região de origem.
Para ter mais informações sobre permissões de cópia da CEV, consulte Conceder as permissões necessárias à sua entidade principal do IAM.
Conceder as permissões necessárias à sua entidade principal do IAM
Verifique se você tem acesso suficiente para copiar um snapshot de banco de dados do RDS Custom para SQL Server. O perfil ou o usuário do IAM (conhecido como a entidade principal do IAM) para copiar um snapshot de banco de dados usando o console ou a CLI deve ter uma das seguintes políticas para a criação bem-sucedida de uma instância de banco de dados:
-
A política
AdministratorAccess
ou, -
A política do
AmazonRDSFullAccess
mostra as seguintes permissões adicionais:s3:CreateBucket s3:GetBucketPolicy s3:PutBucketPolicy kms:CreateGrant kms:DescribeKey ec2:CreateTags
O RDS Custom usa essas permissões durante a cópia do snapshot entre Regiões da AWS. Essas permissões configuram recursos em sua conta que são necessários para operações do RDS Custom. Para ter mais informações sobre a permissão kms:CreateGrant
, consulte Gerenciamento de AWS KMS key.
O exemplo de política JSON a seguir concede as permissões necessárias além da política AmazonRDSFullAccess
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateS3BucketAndReadWriteBucketPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::do-not-delete-rds-custom-*" }, { "Sid": "CreateKmsGrant", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "CreateEc2Tags", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "*" } ] }
nota
As permissões listadas não devem ser restritas por políticas de controle de serviço (SCPs), limites de permissão nem políticas de sessão associadas à entidade principal do IAM.
Se você usar condições com chaves de contexto na política do IAM do solicitante, determinadas condições poderão fazer com que a solicitação falhe. Para ter mais informações sobre dificuldades comuns causadas pelas condições da política do IAM, consulte Solicitações de cópia de snapshot de banco de dados entre regiões.
Copiar um snapshot de banco de dados
Use o procedimento a seguir para copiar um snapshot de banco de dados. Para cada conta da AWS, é possível copiar até 20 snapshots de banco de dados ao mesmo tempo de uma Região da AWS em outra. Se copiar um snapshot de banco de dados para outra Região da AWS, você criará um snapshot de banco de dados manual que será retido nessa Região da AWS. Copiar um snapshot de banco de dados fora da Região da AWS de origem resultará em cobranças de transferência de dados do Amazon RDS. Para obter mais informações sobre a definição de preço da transferência de dados, consulte Definição de preço do Amazon RDS
Depois que a cópia do snapshot de banco de dados tiver sido criada na nova Região da AWS, ela se comportará da mesma forma como todos os outros snapshots de banco de dados nessa Região da AWS.
É possível copiar um snapshot de banco de dados usando o AWS Management Console, a AWS CLI ou a API do Amazon RDS.