

# Clonar entre contas com o AWS RAM e Amazon Aurora
<a name="Aurora.Managing.Clone.Cross-Account"></a>

Ao usar o AWS Resource Access Manager (AWS RAM) com o Amazon Aurora, você pode compartilhar clusters e clones de banco de dados do Aurora que pertencem a sua conta da AWS com outra conta da AWS ou organização. Essa *clonagem entre contas* do que a criação e a restauração de um snapshot de banco de dados. Você pode criar um clone a partir de um de seus clusters de banco de dados do Aurora e compartilhar o clone. Ou você pode compartilhar seu cluster de banco de dados do Aurora com outra conta da AWS e deixar o titular da conta criar o clone. A abordagem escolhida depende de seu caso de uso.

Por exemplo, talvez seja necessário compartilhar regularmente um clone do banco de dados financeiro com a equipe de auditoria interna de sua organização. Nesse caso, sua equipe de auditoria tem o própria conta da AWS para as aplicações que ela usa. Você pode dar permissão à conta da AWS da equipe de auditoria para acessar seu cluster de banco de dados do Aurora e cloná-lo conforme necessário. 

Por outro lado, se um fornecedor externo auditar seus dados financeiros, talvez você mesmo prefira criar o clone. Em seguida, conceda acesso somente ao clone para o fornecedor externo.

Você também pode usar a clonagem entre contas para oferecer suporte a muitos dos mesmos casos de uso para clonagem dentro da mesma conta da AWS, como desenvolvimento e teste. Por exemplo, sua organização pode usar diferentes contas da AWSpara produção, desenvolvimento, teste etc. Para obter mais informações, consulte [Visão geral da clonagem do Aurora](Aurora.Managing.Clone.md#Aurora.Clone.Overview). 

Assim, recomenda-se compartilhar um clone com outra conta da AWSou permitir que outra conta da AWS crie clones de seus clusters de banco de dados do Aurora. Em ambos os casos, comece usando o AWS RAM para criar um objeto de compartilhamento. Para obter informações completas sobre o compartilhamento de recursos da AWS entre contas da AWS, consulte o [Manual do usuário do AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/). 

A criação de um clone entre contas requer ações na conta da AWS que tem o cluster original e na conta da AWS que cria o clone. Primeiro, o proprietário do cluster original modifica o cluster para permitir que uma ou mais outras contas o clonem. Se qualquer uma das contas estiver em uma organização da AWSdiferente, a AWS gerará um convite de compartilhamento. A outra conta deve aceitar o convite antes de prosseguir. Depois, cada conta autorizada pode clonar o cluster. Durante todo esse processo, o cluster é identificado por seu nome de recurso da Amazon (ARN) exclusivo. 

Como acontece com a clonagem dentro da mesma conta da AWS, espaço de armazenamento adicional será usado somente se as alterações forem feitas nos dados pelo original ou pelo clone. Então as cobranças de armazenamento serão aplicadas nesse momento. Se o cluster de origem for excluído, os custos de armazenamento serão igualmente distribuídos entre os clusters clonados restantes. 

**Topics**
+ [

## Limitações da clonagem entre contas
](#Aurora.Managing.Clone.CrossAccount.Limitations)
+ [

## Permissão para que outras contas da AWS clonem seu cluster
](#Aurora.Managing.Clone.CrossAccount.yours)
+ [

## Clonar um cluster que pertence a outra conta da AWS
](#Aurora.Managing.Clone.CrossAccount.theirs)

## Limitações da clonagem entre contas
<a name="Aurora.Managing.Clone.CrossAccount.Limitations"></a>

 A clonagem entre contas do Aurora tem as seguintes limitações: 
+ Não é possível clonar um cluster Aurora Serverless v1 entre contas da AWS.
+ Não é possível visualizar nem aceitar convites para recursos compartilhados com o Console de gerenciamento da AWS. Use a AWS CLI, a API do Amazon RDS ou o console do AWS RAM para exibir e aceitar convites para recursos compartilhados.
+ É possível criar apenas um clone de um recurso compartilhado com sua Conta da AWS. Isso se aplica independentemente de o recurso compartilhado ser um cluster de banco de dados original do Aurora ou um clone criado anteriormente.
+ É possível criar um clone apenas de um clone que tenha sido compartilhado com sua conta da AWS.
+ Você não pode compartilhar recursos (clones ou clusters de banco de dados do Aurora) que foram compartilhados com sua conta da AWS.
+ Não é possível criar mais de 15 clones entre contas em qualquer cluster de banco de dados do Aurora. 
+  Cada um desses 15 clones deve pertencer a uma conta da AWS. Ou seja, é possível criar apenas um clone entre contas de um cluster em qualquer conta da AWS. 
+  Depois de clonar um cluster, o cluster original e o respectivo clone são considerados os mesmos a fim de impor limites em clones entre contas. Você não pode criar clones entre contas do cluster original e do cluster clonado dentro da mesma conta da AWS. O número total de clones entre contas para o cluster original e qualquer um de seus clones não pode ser superior a 15. 
+ Não é possível compartilhar um cluster de banco de dados do Aurora com outras contas da AWS, a menos que o cluster esteja em estado `ACTIVE`. 
+ Não é possível renomear um cluster de banco de dados do Aurora que tenha sido compartilhado com outras contas da AWS. 
+  Não é possível criar um clone entre contas de um cluster que é criptografado com a chave padrão do RDS. 
+ Não é possível criar clones não criptografados em uma conta da AWS em clusters de banco de dados do Aurora criptografados compartilhados por outra conta da AWS. O proprietário do cluster deve conceder permissão de acesso à do cluster de fonte AWS KMS key. No entanto, é possível usar uma chave diferente ao criar o clone. 

## Permissão para que outras contas da AWS clonem seu cluster
<a name="Aurora.Managing.Clone.CrossAccount.yours"></a>

 Para permitir que outras contas da AWS clonem um cluster de sua propriedade, use o AWS RAM para definir a permissão de compartilhamento. Fazer isso também envia um convite para cada conta que está em uma organização da AWS diferente. 

 Para ver os procedimentos necessários para compartilhar recursos de sua propriedade no console do AWS RAM, consulte [Sharing resources owned by you](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html) (Compartilhar recursos de sua propriedade) no *Manual do usuário do AWS RAM*. 

**Topics**
+ [

### Concessão de permissão para que outras contas da AWS clonem seu cluster
](#Aurora.Managing.Clone.CrossAccount.granting)
+ [

### Verificar se um cluster de sua propriedade está compartilhado com outras contas da AWS
](#Aurora.Managing.Clone.CrossAccount.confirming)

### Concessão de permissão para que outras contas da AWS clonem seu cluster
<a name="Aurora.Managing.Clone.CrossAccount.granting"></a>

 Se o cluster que você está compartilhando estiver criptografado, também será necessário compartilhar a AWS KMS key do cluster. Você pode permitir que os usuários ou as funções do AWS Identity and Access Management (IAM) de uma conta da AWS usem uma chave do KMS em conta distinta. 

Para fazê-lo, primeiro adicione a conta externa (usuário raiz) à política de chave do KMS por meio do AWS KMS. Você não adiciona os usuários ou perfis individuais à política de chaves, somente a conta externa que os possui. Você só pode compartilhar a chave do KMS que criar, não a chave de serviço padrão do RDS. Para obter informações sobre o controle de acesso para chaves do KMS, consulte [Autenticação e controle de acesso para o AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html). 

#### Console
<a name="Aurora.Managing.Clone.CrossAccount.granting.console"></a>

**Para conceder permissão para clonar o cluster**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  No painel de navegação, escolha **Databases (Bancos de dados)**. 

1.  Escolha o cluster de banco de dados que deseja compartilhar para ver a página **Details (Detalhes)** e escolha a guia **Connectivity & security (Conectividade e segurança)**. 

1.  Na seção **Compartilhar cluster de banco de dados com outras contas da AWS**, insira o ID numérico da conta da AWS que deseja autorizar para clonar esse cluster. Para IDs de conta na mesma organização, você pode começar digitando na caixa e escolher a opção no menu. 
**Importante**  
 Em alguns casos, convém não ter uma conta na mesma organização da AWS que sua conta para clonar um cluster. Nesses casos, por motivos de segurança, o console não relata que possui esse ID de conta ou se a conta existe.   
Tome cuidado ao inserir números de conta que não estão na mesma organização da AWS que sua conta da AWS. Verifique imediatamente se você compartilhou com a conta desejada. 

1.  Na página de confirmação, verifique se o ID da conta especificado está correto. Insira `share` na caixa de confirmação para confirmar. 

    Na página **Details** (Detalhes), uma entrada exibe o ID da conta da AWS especificado em **Accounts that this DB cluster is shared with** (Contas com as quais esse cluster de banco de dados está compartilhado). A coluna **Status** mostra inicialmente o status **Pending (Pendente)**. 

1.  Entre em contato com o proprietário da outra conta da AWS ou faça login nessa conta, se for proprietário das duas. Instrua o proprietário da outra conta a aceitar o convite de compartilhamento e clonar o cluster de banco de dados, conforme descrito a seguir. 

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.granting.cli"></a>

**Para conceder permissão para clonar o cluster**

1.  Colete as informações para os parâmetros obrigatórios. Você precisa do ARN do cluster e do ID numérico da outra conta da AWS. 

1.  Execute o comando da CLI do AWS RAM [https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html). 

   Para Linux, macOS ou Unix:

   ```
   aws ram create-resource-share --name descriptive_name \
     --region region \
     --resource-arns cluster_arn \
     --principals other_account_ids
   ```

   Para Windows:

   ```
   aws ram create-resource-share --name descriptive_name ^
     --region region ^
     --resource-arns cluster_arn ^
     --principals other_account_ids
   ```

    Para incluir vários IDs de conta para o parâmetro `--principals`, separe os IDs de cada uma com espaços. Para especificar se os IDs de conta permitidos podem estar fora da sua organização da AWS, inclua o parâmetro `--allow-external-principals` ou `--no-allow-external-principals` para `create-resource-share`. 

#### AWS RAMAPI do
<a name="Aurora.Managing.Clone.CrossAccount.granting.api"></a>

**Para conceder permissão para clonar o cluster**

1.  Colete as informações para os parâmetros obrigatórios. Você precisa do ARN do cluster e do ID numérico da outra conta da AWS. 

1.  Chame a operação de API do AWS RAM [CreateResourceShare](https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) e especifique os seguintes valores: 
   +  Especifique o ID de uma ou mais contas da AWS como o parâmetro `principals`. 
   +  Especifique o ARN de um ou mais clusters de banco de dados do Aurora como o parâmetro `resourceArns`. 
   +  Especifique se os IDs de conta permitidos podem estar fora de sua organização da AWS, incluindo um valor booliano para o parâmetro `allowExternalPrincipals`. 

#### Recriar um cluster que usa a chave padrão do RDS
<a name="Aurora.Managing.Clone.CrossAccount.granting.defaultkey"></a>

Se o cluster criptografado que você planeja compartilhar usar a chave padrão do RDS, recrie o cluster. Para isso, crie um snapshot manual do seu cluster de banco de dados, use uma AWS KMS key e restaure o cluster como um novo. Então, compartilhe o novo cluster. Para realizar esse processo, execute as seguintes etapas:

**Para recriar um cluster criptografado que usa a chave padrão do RDS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  No painel de navegação, selecione **Snapshots**. 

1.  Escolha seu snapshot. 

1.  Em **Actions (Ações)**, escolha **Copy Snapshot (Copiar snapshot)** e **Enable encryption (Ativar criptografia)**. 

1.  Em **AWS KMS key**, escolha a nova chave de criptografia que deseja usar. 

1.  Restaure o snapshot copiado. Para fazer isso, siga o procedimento em [Restauração de um snapshot de um cluster de banco de dados](aurora-restore-snapshot.md). A nova instância de banco de dados usará a nova chave de criptografia. 

1.  (Opcional) Exclua o cluster de banco de dados antigo se não precisar mais dele. Para fazer isso, siga o procedimento em [Excluir um snapshot de cluster de banco de dados](aurora-delete-snapshot.md#DeleteDBClusterSnapshot). Antes de fazer isso, confirme se o novo cluster tem todos os dados necessários e se seu aplicativo consegue acessá-lo. 

### Verificar se um cluster de sua propriedade está compartilhado com outras contas da AWS
<a name="Aurora.Managing.Clone.CrossAccount.confirming"></a>

 Você pode verificar se outros usuários têm permissão para compartilhar um cluster. Fazer isso pode ajudá-lo a entender se o cluster está se aproximando do limite de número máximo de clones entre contas. 

 Para ver os procedimentos necessários para compartilhar recursos usando o console do AWS RAM, consulte [Sharing resources owned by you](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html) (Compartilhar recursos de sua propriedade) no *Manual do usuário do AWS RAM*. 

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.confirming.cli"></a>

**Para descobrir se um cluster seu está compartilhado com outras contas da AWS**
+  Execute o comando da CLI do AWS RAM [https://docs.aws.amazon.com/cli/latest/reference/ram/list-principals.html](https://docs.aws.amazon.com/cli/latest/reference/ram/list-principals.html) usando o ID da conta como o proprietário do recurso e o ARN do cluster como o ARN do recurso. Você pode ver todos os compartilhamentos com o seguinte comando. Os resultados indicam quais contas da AWS têm permissão para clonar o cluster. 

  ```
  aws ram list-principals \
      --resource-arns your_cluster_arn \
      --principals your_aws_id
  ```

#### AWS RAMAPI do
<a name="Aurora.Managing.Clone.CrossAccount.confirming.api"></a>

**Para descobrir se um cluster seu está compartilhado com outras contas da AWS**
+  Chame a operação de API do AWS RAM [ListPrincipals](https://docs.aws.amazon.com/ram/latest/APIReference/API_ListPrincipals.html). Use o ID da conta como o proprietário do recurso e o ARN do cluster como o ARN do recurso. 

## Clonar um cluster que pertence a outra conta da AWS
<a name="Aurora.Managing.Clone.CrossAccount.theirs"></a>

 Para clonar um cluster que é de propriedade de outra conta da AWS, use o AWS RAM para obter permissão para fazer o clone. Depois de obter a permissão necessária, utilize o procedimento padrão para clonar um cluster do Aurora. 

 Também é possível verificar se um cluster seu é um clone de um cluster de propriedade de outra conta da AWS. 

 Para ver os procedimentos necessários para trabalhar com recursos de propriedade de outros no console do AWS RAM, consulte [Accessing resources shared with you](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html) (Acesso aos recursos compartilhados com você) no *Manual do usuário do AWS RAM*. 

**Topics**
+ [

### Visualizar convites para clonar clusters quer pertencem a outras contas da AWS
](#Aurora.Managing.Clone.CrossAccount.viewing)
+ [

### Aceitação de convites para compartilhar clusters de propriedade de outras contas da AWS
](#Aurora.Managing.Clone.CrossAccount.accepting)
+ [

### Clonar um cluster do Aurora de propriedade de outra conta da AWS
](#Aurora.Managing.Clone.CrossAccount.cloning)
+ [

### Verificação de se um cluster de banco de dados é um clone entre contas
](#Aurora.Managing.Clone.CrossAccount.checking)

### Visualizar convites para clonar clusters quer pertencem a outras contas da AWS
<a name="Aurora.Managing.Clone.CrossAccount.viewing"></a>

 Para trabalhar com convites para clonar clusters de propriedade de contas da AWS em outras organizações da AWS, use a AWS CLI, o console do AWS RAM ou a API do AWS RAM. No momento, não é possível realizar esse procedimento usando o console do Amazon RDS. 

 Para ver os procedimentos necessários para trabalhar com convites no console do AWS RAM, consulte [Accessing resources shared with you](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html) (Acesso aos recursos compartilhados com você) no *Manual do usuário do AWS RAM*. 

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.viewing.cli"></a>

**Para ver convites para clonar clusters de propriedade de outras contas da AWS**

1.  Execute o comando da CLI do AWS RAM [https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html](https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html). 

   ```
   aws ram get-resource-share-invitations --region region_name
   ```

    Os resultados do comando anterior mostram todos os convites para clonar clusters, incluindo aqueles que você já aceitou ou rejeitou. 

1.  (Opcional) Filtre a lista para ver apenas os convites que precisam de alguma ação da sua parte. Para fazer isso, adicione o parâmetro `--query 'resourceShareInvitations[?status==`PENDING`]'`. 

#### AWS RAMAPI do
<a name="Aurora.Managing.Clone.CrossAccount.viewing.api"></a>

**Para ver convites para clonar clusters de propriedade de outras contas da AWS**

1.  Chame a operação da API do AWS RAM [https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html). Essa operação retorna todos esses convites, incluindo aqueles que você já aceitou ou rejeitou. 

1.  (Opcional) Encontre apenas os convites que precisam de alguma ação da sua parte procurando no campo de retorno `resourceShareAssociations` o valor de `status` como `PENDING`. 

### Aceitação de convites para compartilhar clusters de propriedade de outras contas da AWS
<a name="Aurora.Managing.Clone.CrossAccount.accepting"></a>

 Você pode aceitar convites para compartilhar clusters de propriedade de outras contas da AWS que estão em organizações da AWS diferentes. Para trabalhar com esses convites, use a AWS CLI, o AWS RAM ou as APIs do RDS, do console do AWS RAM. No momento, não é possível realizar esse procedimento usando o console do RDS. 

 Para ver os procedimentos necessários para trabalhar com convites no console do AWS RAM, consulte [Accessing resources shared with you](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html) (Acesso aos recursos compartilhados com você) no *Manual do usuário do AWS RAM*. 

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.accepting.cli"></a>

**Para aceitar um convite para compartilhar um cluster de outra conta da AWS**

1.  Encontre o ARN do convite executando o comando da CLI do AWS RAM [https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html](https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html), conforme mostrado antes. 

1.  Aceite o convite chamando o comando da CLI do AWS RAM [https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html](https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html), conforme mostrado a seguir. 

   Para Linux, macOS ou Unix:

   ```
   aws ram accept-resource-share-invitation \
     --resource-share-invitation-arn invitation_arn \
     --region region
   ```

   Para Windows:

   ```
   aws ram accept-resource-share-invitation ^
     --resource-share-invitation-arn invitation_arn ^
     --region region
   ```

#### AWS RAM e API do RDS
<a name="Aurora.Managing.Clone.CrossAccount.accepting.api"></a>

**Para aceitar convites para compartilhar o cluster de alguém**

1.  Encontre o ARN do convite chamando a operação de API do AWS RAM [https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html), conforme mostrado antes. 

1.  Transmita esse ARN como o parâmetro `resourceShareInvitationArn` para a operação de API do RDS [AcceptResourceShareInvitation](https://docs.aws.amazon.com/ram/latest/APIReference/API_AcceptResourceShareInvitation.html). 

### Clonar um cluster do Aurora de propriedade de outra conta da AWS
<a name="Aurora.Managing.Clone.CrossAccount.cloning"></a>

 Depois de aceitar o convite da conta da AWS que tem o cluster de banco de dados, conforme mostrado antes, você pode clonar o cluster. 

#### Console
<a name="Aurora.Managing.Clone.CrossAccount.cloning.console"></a>

**Para clonar um cluster do Aurora de propriedade de outra conta da AWS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  No painel de navegação, escolha **Databases (Bancos de dados)**. 

    Na parte posterior da lista de bancos de dados, você deve ver um ou mais itens com o valor de **Role (Função)** igual a `Shared from account #account_id`. Por motivos de segurança, você pode ver apenas informações limitadas sobre os clusters originais. As propriedades que podem ser vistas são aquelas como mecanismo de banco de dados e versão que devem ser iguais aos do cluster clonado. 

1.  Escolha o cluster que você pretende clonar. 

1.  Em **Actions (Ações)**, escolha **Create alias (Criar alias)**. 

1.  Siga o procedimento descrito em [Console](Aurora.Managing.Clone.md#Aurora.Managing.Clone.Console) para terminar de configurar o cluster clonado. 

1. Conforme necessário, ative a criptografia para o cluster clonado. Se o cluster que estiver sendo clonado for criptografado, você deverá ativar a criptografia para o cluster clonado. A conta da AWS que compartilhou o cluster com você também deve compartilhar a chave do KMS que foi usada para criptografar o cluster. Você pode usar a mesma chave do KMS para criptografar o clone ou a sua própria chave do KMS. Não é possível criar um clone entre contas de um cluster que é criptografado com a chave do KMS padrão. 

    A conta proprietária da chave de criptografia deve conceder permissão para usar a chave para a conta de destino usando uma política de chave. Esse processo é semelhante a como os snapshots criptografados são compartilhados, usando uma política de chave que concede permissão para a conta de destino usar a chave. 

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.cloning.cli"></a>

**Para clonar um cluster do Aurora de propriedade de outra conta da AWS**

1.  Aceite o convite da conta da AWS que tem o cluster de banco de dados, conforme mostrado antes. 

1.  Clone o cluster especificando o ARN completo do cluster de origem no parâmetro `source-db-cluster-identifier` do comando da CLI do RDS [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html), conforme mostrado a seguir. 

    Se o ARN transmitido como o `source-db-cluster-identifier` não tiver sido compartilhado, o mesmo erro será retornado como se o cluster especificado não existisse. 

   Para Linux, macOS ou Unix:

   ```
   aws rds restore-db-cluster-to-point-in-time \
     --source-db-cluster-identifier=arn:aws:rds:arn_details \
     --db-cluster-identifier=new_cluster_id \
     --restore-type=copy-on-write \
     --use-latest-restorable-time
   ```

   Para Windows:

   ```
   aws rds restore-db-cluster-to-point-in-time ^
     --source-db-cluster-identifier=arn:aws:rds:arn_details ^
     --db-cluster-identifier=new_cluster_id ^
     --restore-type=copy-on-write ^
     --use-latest-restorable-time
   ```

1.  Se o cluster que está sendo clonado for criptografado, criptografe o cluster clonado incluindo um parâmetro `kms-key-id`. Esse valor de `kms-key-id` pode ser igual ao usado para criptografar o cluster de banco de dados original ou sua própria chave do KMS. Sua conta deve ter permissão para usar essa chave de criptografia. 

   Para Linux, macOS ou Unix:

   ```
   aws rds restore-db-cluster-to-point-in-time \
     --source-db-cluster-identifier=arn:aws:rds:arn_details \
     --db-cluster-identifier=new_cluster_id \
     --restore-type=copy-on-write \
     --use-latest-restorable-time \
     --kms-key-id=arn:aws:kms:arn_details
   ```

   Para Windows:

   ```
   aws rds restore-db-cluster-to-point-in-time ^
     --source-db-cluster-identifier=arn:aws:rds:arn_details ^
     --db-cluster-identifier=new_cluster_id ^
     --restore-type=copy-on-write ^
     --use-latest-restorable-time ^
     --kms-key-id=arn:aws:kms:arn_details
   ```

    A conta proprietária da chave de criptografia deve conceder permissão para usar a chave para a conta de destino usando uma política de chave. Esse processo é semelhante a como os snapshots criptografados são compartilhados, usando uma política de chave que concede permissão para a conta de destino usar a chave. Veja a seguir um exemplo de uma política de chave. 

------
#### [ JSON ]

****  

   ```
   {
       "Id": "key-policy-1",
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Allow use of the key",
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::111122223333:user/KeyUser",
                       "arn:aws:iam::111122223333:root"
                   ]
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:DescribeKey"
               ],
               "Resource": "*"
           },
           {
               "Sid": "Allow attachment of persistent resources",
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::111122223333:user/KeyUser",
                       "arn:aws:iam::111122223333:root"
                   ]
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": true
                   }
               }
           }
       ]
   }
   ```

------

**nota**  
O comando [restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html) da AWS CLI restaura o cluster de banco de dados, não as instâncias de banco de dados para esse cluster de banco de dados. Para criar instâncias de banco de dados para o cluster de banco de dados restaurado, chame o comando [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html). Especifique o identificador do cluster de banco de dados restaurado em `--db-cluster-identifier`.   
Você pode criar instâncias de banco de dados somente após o comando `restore-db-cluster-to-point-in-time` tiver sido concluído e o cluster de banco de dados estiver disponível.

#### API do RDS
<a name="Aurora.Managing.Clone.CrossAccount.cloning.api"></a>

**Para clonar um cluster do Aurora de propriedade de outra conta da AWS**

1.  Aceite o convite da conta da AWS que tem o cluster de banco de dados, conforme mostrado antes. 

1.  Clone o cluster especificando o ARN completo do cluster de origem no parâmetro `SourceDBClusterIdentifier` da operação de API do RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html). 

    Se o ARN transmitido como o `SourceDBClusterIdentifier` não tiver sido compartilhado, o mesmo erro será retornado como se o cluster especificado não existisse. 

1.  Se o cluster que está sendo clonado for criptografado, inclua um parâmetro `KmsKeyId` para criptografar o cluster clonado. Esse valor de `kms-key-id` pode ser igual ao usado para criptografar o cluster de banco de dados original ou sua própria chave do KMS. Sua conta deve ter permissão para usar essa chave de criptografia. 

    Ao clonar um volume, a conta de destino deve ter permissão para usar a chave de criptografia usada para criptografar o cluster de origem. O Aurora criptografa o novo cluster clonado com a chave de criptografia especificada em `KmsKeyId`. 

    A conta proprietária da chave de criptografia deve conceder permissão para usar a chave para a conta de destino usando uma política de chave. Esse processo é semelhante a como os snapshots criptografados são compartilhados, usando uma política de chave que concede permissão para a conta de destino usar a chave. Veja a seguir um exemplo de uma política de chave. 

------
#### [ JSON ]

****  

   ```
   {
       "Id": "key-policy-1",
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Allow use of the key",
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::111122223333:user/KeyUser",
                       "arn:aws:iam::111122223333:root"
                   ]
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:DescribeKey"
               ],
               "Resource": "*"
           },
           {
               "Sid": "Allow attachment of persistent resources",
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::111122223333:user/KeyUser",
                       "arn:aws:iam::111122223333:root"
                   ]
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": true
                   }
               }
           }
       ]
   }
   ```

------

**nota**  
A operação de API [RestoreDBClusterToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html) do RDS restaura o cluster de banco de dados, não as instâncias de banco de dados desse cluster. Para criar instâncias primárias para o cluster de banco de dados, chame a operação de API [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) do RDS. Especifique o identificador do cluster de banco de dados restaurado em `DBClusterIdentifier`. É possível criar instâncias de banco de dados somente após a operação `RestoreDBClusterToPointInTime` ter sido concluída e o cluster de banco de dados estar disponível.

### Verificação de se um cluster de banco de dados é um clone entre contas
<a name="Aurora.Managing.Clone.CrossAccount.checking"></a>

 O objeto `DBClusters` identifica se cada cluster é um clone entre contas. Você pode ver os clusters que têm permissão para clonar usando a opção `include-shared` ao executar o comando da CLI do RDS [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html). No entanto, não é possível ver a maioria dos detalhes de configuração desses clusters. 

#### AWS CLI
<a name="Aurora.Managing.Clone.CrossAccount.checking.cli"></a>

**Para verificar se um cluster de banco de dados é um clone entre contas**
+  Chame o comando da CLI do RDS [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html). 

   O exemplo a seguir mostra como clusters de banco de dados de clones entre contas reais ou em potencial aparecem na saída `describe-db-clusters`. Para os clusters existentes de propriedade da sua conta da AWS, o campo `CrossAccountClone` indica se o cluster é um clone de um cluster de banco de dados que é de propriedade de outra conta da AWS. 

   Em alguns casos, uma entrada pode ter um número de conta da AWS diferente do seu no campo `DBClusterArn`. Nesse caso, essa entrada representa um cluster que é de propriedade de outra conta da AWS e que você pode clonar. Essas entradas têm alguns campos diferentes de `DBClusterArn`. Ao criar o cluster clonado, especifique os mesmos valores de `StorageEncrypted`, `Engine` e `EngineVersion` do cluster original. 

  ```
  $aws rds describe-db-clusters --include-shared --region us-east-1
  {
    "DBClusters": [
        {
            "EarliestRestorableTime": "2023-02-01T21:17:54.106Z",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0",
            "CrossAccountClone": false,
  ...
        },
        {
            "EarliestRestorableTime": "2023-02-09T16:01:07.398Z",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0",
            "CrossAccountClone": true,
  ...
        },
        {
            "StorageEncrypted": false,
            "DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0
    ]
  }
  ```

#### API do RDS
<a name="Aurora.Managing.Clone.CrossAccount.checking.api"></a>

**Para verificar se um cluster de banco de dados é um clone entre contas**
+  Chame a operação de API do RDS [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html). 

   Para os clusters existentes de propriedade da sua conta da AWS, o campo `CrossAccountClone` indica se o cluster é um clone de um cluster de banco de dados que é de propriedade de outra conta da AWS. As entradas com um número de conta da AWS diferente no campo `DBClusterArn` representam clusters que você pode clonar e que são de propriedade de outras contas da AWS. Essas entradas têm alguns campos diferentes de `DBClusterArn`. Ao criar o cluster clonado, especifique os mesmos valores de `StorageEncrypted`, `Engine` e `EngineVersion` do cluster original. 

   O exemplo a seguir mostra um valor de retorno que demonstra clusters clonados reais e em potencial. 

  ```
  {
    "DBClusters": [
        {
            "EarliestRestorableTime": "2023-02-01T21:17:54.106Z",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0",
            "CrossAccountClone": false,
  ...
        },
        {
            "EarliestRestorableTime": "2023-02-09T16:01:07.398Z",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0",
            "CrossAccountClone": true,
  ...
        },
        {
            "StorageEncrypted": false,
            "DBClusterArn": "arn:aws:rds:us-east-1:12345678:cluster:cluster-abcdefgh",
            "Engine": "aurora-mysql",
            "EngineVersion": "8.0.mysql_aurora.3.02.0"
        }
    ]
  }
  ```