

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á.

# Automatização do failover e do failback entre regiões usando o DR Orchestrator Framework
<a name="automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework"></a>

*Jitendra Kumar, Pavithra Balasubramanian e Oliver Francis, Amazon Web Services*

## Resumo
<a name="automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework-summary"></a>

Este padrão descreve como usar o [DR Orchestrator Framework](https://docs.aws.amazon.com/prescriptive-guidance/latest/automate-dr-solution-relational-database/dr-orchestrator-framework-overview.html) para a orquestração e a automatização das etapas manuais e propensas a erros, que são necessárias para realizar a recuperação de desastres entre regiões da Amazon Web Services (AWS). O padrão abrange os seguintes bancos de dados:
+ Amazon Relational Database Service (Amazon RDS) para MySQL, Amazon RDS para PostgreSQL ou Amazon RDS para MariaDB
+ Edição compatível com MySQL do Amazon Aurora ou Edição compatível com PostgreSQL do Amazon Aurora (usando um arquivo centralizado)
+ Amazon ElastiCache (Redis OSS)

A fim de demonstrar o funcionamento do DR Orchestrator Framework, você deve criar duas instâncias ou dois clusters de banco de dados. O primário está no Região da AWS `us-east-1`, e o secundário está dentro`us-west-2`. Para criar esses recursos, você usa os AWS CloudFormation modelos na `App-Stack` pasta do GitHub repositório [aws-cross-region-dr-databases](https://github.com/aws-samples/aws-cross-region-dr-databases).

## Pré-requisitos e limitações
<a name="automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework-prereqs"></a>

**Pré-requisitos gerais**
+ Estrutura do DR Orchestrator implantada tanto no primário quanto no secundário Regiões da AWS
+ Dois buckets do [Amazon Simple Storage Service](https://aws.amazon.com/s3/)
+ Uma [nuvem privada virtual (VPC)](https://aws.amazon.com/vpc/) com duas sub-redes e um grupo de segurança AWS 

**Pré-requisitos específicos por mecanismo**
+ **Amazon Aurora** — Pelo menos um banco de dados global do Aurora deve estar disponível em dois. Regiões da AWS Você pode usar `us-east-1` como região primária e `us-west-2` como região secundária.
+ **Amazon ElastiCache (Redis OSS)** — Um armazenamento de dados ElastiCache global deve estar disponível em dois. Regiões da AWS Você pode `use us-east-1` como região primária e `us-west-2` como região secundária.

**Limitações do Amazon RDS**
+ O DR Orchestrator Framework não verifica o atraso de replicação antes de executar um failover ou failback. O atraso de replicação deve ser verificado manualmente.
+ Esta solução foi testada usando uma instância de banco de dados primário com uma réplica de leitura. Se você desejar usar mais de uma réplica de leitura, teste a solução minuciosamente antes de implementá-la em um ambiente de produção.

**Limitações do Aurora**
+ A disponibilidade e a compatibilidade de recursos variam entre versões específicas de cada mecanismo de banco de dados e entre Regiões da AWS. Para obter mais informações sobre a disponibilidade de recursos e regiões para a replicação entre regiões, consulte [Cross-Region read replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RDS_Fea_Regions_DB-eng.Feature.CrossRegionReadReplicas.html).
+ Os bancos de dados globais do Aurora têm requisitos de configuração específicos para as classes de instância de banco de dados Aurora suportadas e o número máximo de. Regiões da AWS Para obter mais informações, consulte [Configuration requirements of an Amazon Aurora Global Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.configuration.requirements).
+ Esta solução foi testada usando uma instância de banco de dados primário com uma réplica de leitura. Se você desejar usar mais de uma réplica de leitura, teste a solução minuciosamente antes de implementá-la em um ambiente de produção.

**ElastiCache Limitações **
+ Para obter informações sobre a disponibilidade regional para o armazenamento de dados global e os requisitos ElastiCache de configuração, consulte [Pré-requisitos e](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastores-Getting-Started.html) limitações na documentação. ElastiCache 

**Versões de produtos** do **Amazon RDS**

O Amazon RDS é compatível com as seguintes versões de mecanismos:
+ **MySQL**: o Amazon RDS oferece suporte a instâncias de banco de dados que executam as seguintes versões do mecanismo [MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html): MySQL 8.0 e MySQL 5.7.
+ **PostgreSQL**: para obter informações sobre as versões compatíveis do Amazon RDS para PostgreSQL, consulte [Available PostgreSQL database versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions).
+ **MariaDB**: o Amazon RDS oferece suporte a instâncias de banco de dados que executam as seguintes versões do mecanismo [MariaDB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html):
  + MariaDB 10.11
  + MariaDB 10.6
  + MariaDB 10.5

**Versões de produtos do Aurora**
+ A transição do Amazon Aurora Global Database requer o Aurora compatível com MySQL com compatibilidade para o mecanismo MySQL 5.7, versão 2.09.1 ou versões posteriores

  Para obter mais informações, consulte [Limitations of Amazon Aurora global databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations).

**ElastiCache Versões do produto (Redis OSS)**

A Amazon ElastiCache (Redis OSS) oferece suporte às seguintes versões do Redis:
+ Redis 7.1 (aprimorado)
+ Redis 7.0 (aprimorado)
+ Redis 6.2 (aprimorado)
+ Redis 6.0 (aprimorado)
+ Redis 5.0.6 (aprimorado)

Para obter mais informações, consulte [Versões suportadas ElastiCache (Redis OSS).](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastores-Getting-Started.html)

## Arquitetura
<a name="automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework-architecture"></a>

**Arquitetura do** **Amazon RDS**

A arquitetura do Amazon RDS inclui os seguintes recursos:
+ A instância de banco de dados primária do Amazon RDS criada na região primária (`us-east-1`) com read/write acesso para clientes
+ Uma réplica de leitura do Amazon RDS, criada na região secundária (`us-west-2`), com acesso somente de leitura para clientes
+ O Framework DR Orchestrator implantado tanto na região primária quanto na região secundária

![\[Diagrama da arquitetura do RDS distribuída em duas regiões em uma única conta da AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8d39561f-924e-4b3e-8175-c5c3cab163bd/images/ad217033-600c-40da-929c-b9f9aecb4c2c.png)


O diagrama mostra o seguinte:

1. Replicação assíncrona entre a instância primária e a instância secundária

1. Acesso de leitura e de gravação para clientes na região primária

1. Acesso somente de leitura para clientes na região secundária

**Arquitetura do Aurora**

A arquitetura do Amazon Aurora inclui os seguintes recursos:
+ O cluster de banco de dados principal do Aurora criado na região primária (`us-east-1`) com um endpoint de gravação ativo
+ Um cluster de banco de dados do Aurora criado na região secundária (`us-west-2`) com um endpoint de gravação inativo
+ O Framework DR Orchestrator implantado tanto na região primária quanto na região secundária

![\[Diagrama da implantação do Aurora em duas regiões em uma única conta da AWS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8d39561f-924e-4b3e-8175-c5c3cab163bd/images/524ec002-5aa7-47b2-8c8d-6d1a3b535e9e.png)


O diagrama mostra o seguinte:

1. Replicação assíncrona entre o cluster primário e o cluster secundário

1. O cluster de banco de dados primário com um endpoint de gravação ativo

1. O cluster de banco de dados secundário com um endpoint de gravação inativo

**ElastiCache Arquitetura (Redis OSS)**

A arquitetura Amazon ElastiCache (Redis OSS) inclui os seguintes recursos:
+ Um armazenamento de dados global ElastiCache (Redis OSS) criado com dois clusters:

  1. O cluster primário na região primária (`us-east-1`)

  1. O cluster secundário na região secundária (`us-west-2`)
+ Um link da Amazon entre regiões com criptografia TLS 1.2 entre os dois clusters
+ O Framework DR Orchestrator implantado tanto na região primária quanto na região secundária

![\[Diagrama de uma ElastiCache implantação em duas regiões com o link entre regiões da Amazon.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8d39561f-924e-4b3e-8175-c5c3cab163bd/images/cf6620a0-dd42-4042-8dc2-012bf514ffc0.png)


**Automação e escala**

O DR Orchestrator Framework é escalável e oferece suporte ao failover ou failback de mais de um banco de dados em paralelo. AWS 

Você pode usar o seguinte código de carga útil para fazer o failover de vários AWS bancos de dados em sua conta. Neste exemplo, três AWS bancos de dados (dois bancos de dados globais, como o Aurora compatível com MySQL ou o Aurora PostgreSQL, e uma instância do Amazon RDS for MySQL) fazem o failover para a região de recuperação de desastres:

```
{
  "StatePayload": [
    {
      "layer": 1,
      "resources": [
        {
          "resourceType": "PlannedFailoverAurora",
          "resourceName": "Switchover (planned failover) of Amazon Aurora global databases (MySQL)",
          "parameters": {
            "GlobalClusterIdentifier": "!Import dr-globaldb-cluster-mysql-global-identifier",
            "DBClusterIdentifier": "!Import dr-globaldb-cluster-mysql-cluster-identifier" 
          }
        },
        {
          "resourceType": "PlannedFailoverAurora",
          "resourceName": "Switchover (planned failover) of Amazon Aurora global databases (PostgreSQL)",
          "parameters": {
            "GlobalClusterIdentifier": "!Import dr-globaldb-cluster-postgres-global-identifier",
            "DBClusterIdentifier": "!Import dr-globaldb-cluster-postgres-cluster-identifier" 
          }
        },
        {
          "resourceType": "PromoteRDSReadReplica",
          "resourceName": "Promote RDS for MySQL Read Replica",
          "parameters": {
            "RDSInstanceIdentifier": "!Import rds-mysql-instance-identifier",
            "TargetClusterIdentifier": "!Import rds-mysql-instance-global-arn"
          }
        }         
      ]
    }
  ]
}
```

## Ferramentas
<a name="automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework-tools"></a>

**AWS serviços**
+ O [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) é um mecanismo de banco de dados relacional totalmente gerenciado criado para a nuvem e compatível com o MySQL e o PostgreSQL.
+  ElastiCacheA [Amazon](https://docs.aws.amazon.com/elasticache/) ajuda você a configurar, gerenciar e escalar ambientes distribuídos de cache na memória no Nuvem AWS. Esse padrão usa Amazon ElastiCache (Redis OSS).
+ O [AWS Lambda](https://aws.amazon.com/lambda/) é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado. Nesse padrão, as funções Lambda são usadas AWS Step Functions para executar as etapas.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS. Este padrão é compatível com Amazon RDS para MySQL, Amazon RDS para PostgreSQL e Amazon RDS para MariaDB.
+ [AWS SDK para Python (Boto3)](https://aws.amazon.com/sdk-for-python/)ajuda você a integrar seu aplicativo, biblioteca ou script Python com o. Serviços da AWS Nesse padrão, o Boto3 APIs é usado para se comunicar com as instâncias do banco de dados ou bancos de dados globais.
+ [AWS Step Functions](https://aws.amazon.com/step-functions/)é um serviço de orquestração sem servidor que ajuda você a combinar AWS Lambda funções e outras Serviços da AWS para criar aplicativos essenciais para os negócios. Neste padrão, máquinas de estado do Step Functions são usadas para realizar a orquestração e executar o failover e o failback entre regiões das instâncias de banco de dados ou de bancos de dados globais.

**Repositório de código**

O código desse padrão está disponível no repositório [aws-cross-region-dr-databases](https://github.com/aws-samples/aws-cross-region-dr-databases/tree/main/App-Stack) em. GitHub

## Épicos
<a name="automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework-epics"></a>

### Instalação do DR Orchestrator Framework
<a name="install-dr-orchestrator-framework"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clone o GitHub repositório. | Para clonar o repositório, execute o seguinte comando:<pre>git clone https://github.com/aws-samples/aws-cross-region-dr-databases.git</pre> | AWS DevOps, administrador da AWS | 
| Empacote o código das funções do Lambda em um arquivo .zip. | Crie os arquivos de compactação das funções do Lambda para incluir as dependências do DR Orchestrator Framework:<pre>cd <YOUR-LOCAL-GIT-FOLDER>/DR-Orchestration-artifacts<br /><br />bash scripts/deploy-orchestrator-sh.sh</pre> | Administrador da AWS | 
| Crie os buckets do S3. | Os buckets do S3 são necessários para armazenar o DR Orchestrator Framework juntamente com a configuração mais recente. Crie dois buckets do S3, sendo um na região primária (`us-east-1`) e outro na região secundária (`us-west-2`):[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.html)Substitua `xxxxxx` por um valor com randomização para tornar os nomes dos buckets exclusivos. | Administrador da AWS | 
| Crie sub-redes e grupos de segurança. | Tanto na região primária (`us-east-1`) quanto na região secundária (`us-west-2`), crie duas sub-redes e um grupo de segurança para a implantação da função do Lambda em sua VPC:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.html) | Administrador da AWS | 
| Atualize os arquivos de parâmetros do DR Orchestrator. | Na pasta `<YOUR-LOCAL-GIT-FOLDER>/DR-Orchestration-artifacts/cloudformation`, atualize os seguintes arquivos de parâmetros do DR Orchestrator:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.html)Use os seguintes valores de parâmetro, substituindo `x` e `y` pelos nomes dos seus recursos:<pre>[<br />    {<br />         "ParameterKey": "TemplateStoreS3BucketName",<br />         "ParameterValue": "dr-orchestrator-xxxxxx-us-east-1"<br />    },<br />    {<br />        "ParameterKey": "TemplateVPCId",<br />        "ParameterValue": "vpc-xxxxxx"<br />    },<br />    {<br />        "ParameterKey": "TemplateLambdaSubnetID1",<br />        "ParameterValue": "subnet-xxxxxx"<br />    },<br />    {<br />        "ParameterKey": "TemplateLambdaSubnetID2",<br />        "ParameterValue": "subnet-yyyyyy"<br />    },<br />    {<br />        "ParameterKey": "TemplateLambdaSecurityGroupID",<br />        "ParameterValue": "sg-xxxxxxxxxx"<br />    }<br /> ]</pre> | Administrador da AWS | 
| Faça o upload do código do DR Orchestrator Framework para o bucket do S3. | O código estará mais seguro em um bucket do S3 do que no diretório local. Faça o upload do diretório `DR-Orchestration-artifacts`, incluindo todos os arquivos e as subpastas, nos buckets do S3.Para fazer o upload do código, execute as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.html) | Administrador da AWS | 
| Faça a implantação do DR Orchestrator Framework na região primária. | Para implantar o DR Orchestrator Framework na região primária (`us-east-1`), execute os seguintes comandos:<pre>cd <YOUR-LOCAL-GIT-FOLDER>/DR-Orchestration-artifacts/cloudformation<br /><br />aws cloudformation deploy \<br />--region us-east-1 \<br />--stack-name dr-orchestrator \<br />--template-file Orchestrator-Deployer.yaml \<br />--parameter-overrides file://Orchestrator-Deployer-parameters-us-east-1.json \<br />--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM CAPABILITY_IAM \<br />--disable-rollback</pre> | Administrador da AWS | 
| Faça a implantação do DR Orchestrator Framework na região secundária. | Na região secundária (`us-west-2`), execute os seguintes comandos: <pre>cd <YOUR-LOCAL-GIT-FOLDER>/DR-Orchestration-artifacts/cloudformation<br /><br />aws cloudformation deploy \<br />--region us-west-2 \<br />--stack-name dr-orchestrator \<br />--template-file Orchestrator-Deployer.yaml \<br />--parameter-overrides file://Orchestrator-Deployer-parameters-us-west-2.json \<br />--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM CAPABILITY_IAM \<br />--disable-rollback</pre> | Administrador da AWS | 
| Verificar a implantação. | Se o CloudFormation comando for executado com êxito, ele retornará a seguinte saída:<pre>Successfully created/updated stack - dr-orchestrator</pre>Como alternativa, você pode navegar até o CloudFormation console e verificar o status da `dr-orchestrator` pilha.  | Administrador da AWS | 

### Criação das instâncias ou dos clusters de banco de dados
<a name="create-the-database-instances-or-clusters"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie as sub-redes e os grupos de segurança do banco de dados. | Na sua VPC, crie duas sub-redes e um grupo de segurança para a instância de banco de dados ou para o banco de dados global em ambas as regiões, primária (`us-east-1`) e secundária (`us-west-2`):[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.html) | Administrador da AWS | 
| Atualize o arquivo de parâmetros da instância ou do cluster de banco de dados primário. | Na pasta `<YOUR LOCAL GIT FOLDER>/App-Stack`, atualize o arquivo de parâmetros para a região primária.**Amazon RDS**No arquivo `RDS-MySQL-parameter-us-east-1.json`, atualize `SubnetIds` e `DBSecurityGroup` com os nomes dos recursos que você criou:<pre>{<br />  "Parameters": {<br />    "SubnetIds": "subnet-xxxxxx,subnet-xxxxxx",<br />    "DBSecurityGroup": "sg-xxxxxxxxxx",<br />    "MySqlGlobalIdentifier":"rds-mysql-instance",<br />    "InitialDatabaseName": "mysqldb",<br />    "DBPortNumber": "3789",<br />    "PrimaryRegion": "us-east-1",<br />    "SecondaryRegion": "us-west-2",<br />    "KMSKeyAliasName": "rds/rds-mysql-instance-KmsKeyId"<br />  }<br />}<br /></pre>**Amazon Aurora** No arquivo `Aurora-MySQL-parameter-us-east-1.json`, atualize `SubnetIds` e `DBSecurityGroup` com os nomes dos recursos que você criou:<pre>{<br />  "Parameters": {<br />    "SubnetIds": "subnet1-xxxxxx,subnet2-xxxxxx",<br />    "DBSecurityGroup": "sg-xxxxxxxxxx",<br />    "GlobalClusterIdentifier":"dr-globaldb-cluster-mysql",<br />    "DBClusterName":"dbcluster-01",<br />    "SourceDBClusterName":"dbcluster-02",<br />    "DBPortNumber": "3787",<br />    "DBInstanceClass":"db.r5.large",<br />    "InitialDatabaseName": "sampledb",<br />    "PrimaryRegion": "us-east-1",<br />    "SecondaryRegion": "us-west-2",<br />    "KMSKeyAliasName": "rds/dr-globaldb-cluster-mysql-KmsKeyId"<br />  }<br />}</pre>**Amazon ElastiCache (Redis OSS)**No arquivo `ElastiCache-parameter-us-east-1.json`, atualize `SubnetIds` e `DBSecurityGroup` com os nomes dos recursos que você criou.<pre>{<br />  "Parameters": {<br />    "CacheNodeType": "cache.m5.large",<br />    "DBSecurityGroup": "sg-xxxxxxxxxx",<br />    "SubnetIds": "subnet-xxxxxx,subnet-xxxxxx",<br />    "EngineVersion": "5.0.6",<br />    "GlobalReplicationGroupIdSuffix": "demo-redis-global-datastore",<br />    "NumReplicas": "1",<br />    "NumShards": "1",<br />    "ReplicationGroupId": "demo-redis-cluster",<br />    "DBPortNumber": "3788",<br />    "TransitEncryption": "true",<br />    "KMSKeyAliasName": "elasticache/demo-redis-global-datastore-KmsKeyId",<br />    "PrimaryRegion": "us-east-1",<br />    "SecondaryRegion": "us-west-2"<br />  }<br />}</pre> | Administrador da AWS | 
| Implante a instância ou o cluster de banco de dados na região primária. | Para implantar a instância ou o cluster na região primária (`us-east-1`), execute os comandos, apresentados a seguir, de acordo com o mecanismo de banco de dados que você está usando.**Amazon RDS**<pre>cd <YOUR-LOCAL-GIT-FOLDER>/App-Stack<br /><br />aws cloudformation deploy \<br />--region us-east-1 \<br />--stack-name rds-mysql-app-stack \<br />--template-file RDS-MySQL-Primary.yaml \<br />--parameter-overrides file://RDS-MySQL-parameter-us-east-1.json \<br />--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM CAPABILITY_IAM \<br />--disable-rollback</pre>**Amazon Aurora**<pre>cd <YOUR-LOCAL-GIT-FOLDER>/App-Stack<br /><br />aws cloudformation deploy \<br />--region us-east-1 \<br />--stack-name aurora-mysql-app-stack \<br />--template-file Aurora-MySQL-Primary.yaml \<br />--parameter-overrides file://Aurora-MySQL-parameter-us-east-1.json \<br />--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM CAPABILITY_IAM \<br />--disable-rollback</pre>**Amazon ElastiCache (Redis OSS)**<pre>cd <YOUR-LOCAL-GIT-FOLDER>/App-Stack<br /><br />aws cloudformation deploy \<br />--region us-east-1 --stack-name elasticache-ds-app-stack \<br />--template-file ElastiCache-Primary.yaml \<br />--parameter-overrides file://ElastiCache-parameter-us-east-1.json \<br />--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM CAPABILITY_IAM \<br />--disable-rollback<br /></pre>Verifique se os CloudFormation recursos foram implantados com êxito. | Administrador da AWS | 
| Atualize o arquivo de parâmetros da instância ou do cluster de banco de dados secundário. | Na pasta `<YOUR LOCAL GIT FOLDER>/App-Stack`, atualize o arquivo de parâmetros para a região secundária.**Amazon RDS**No arquivo `RDS-MySQL-parameter-us-west-2.json`, atualize `SubnetIDs` e `DBSecurityGroup` com os nomes dos recursos que você criou. Atualize o `PrimaryRegionKMSKeyArn` com o valor de `MySQLKmsKeyId` obtido da seção **Saídas** da CloudFormation pilha para a instância de banco de dados primária:<pre>{<br />  "Parameters": {<br />    "SubnetIds": "subnet-aaaaaaaaa,subnet-bbbbbbbbb",<br />    "DBSecurityGroup": "sg-cccccccccc",<br />    "MySqlGlobalIdentifier":"rds-mysql-instance",<br />    "InitialDatabaseName": "mysqldb",<br />    "DBPortNumber": "3789",<br />    "PrimaryRegion": "us-east-1",<br />    "SecondaryRegion": "us-west-2",<br />    "KMSKeyAliasName": "rds/rds-mysql-instance-KmsKeyId",<br />    "PrimaryRegionKMSKeyArn":"arn:aws:kms:us-east-1:xxxxxxxxx:key/mrk-xxxxxxxxxxxxxxxxxxxxx"<br />  }<br />} </pre>**Amazon Aurora**No arquivo `Aurora-MySQL-parameter-us-west-2.json`, atualize `SubnetIDs` e `DBSecurityGroup` com os nomes dos recursos que você criou. Atualize o `PrimaryRegionKMSKeyArn` com o valor de `AuroraKmsKeyId` obtido da seção **Saídas** da CloudFormation pilha para a instância de banco de dados primária:<pre>{<br />  "Parameters": {<br />    "SubnetIds": "subnet1-aaaaaaaaa,subnet2-bbbbbbbbb",<br />    "DBSecurityGroup": "sg-cccccccccc",<br />    "GlobalClusterIdentifier":"dr-globaldb-cluster-mysql",<br />    "DBClusterName":"dbcluster-01",<br />    "SourceDBClusterName":"dbcluster-02",<br />    "DBPortNumber": "3787",<br />    "DBInstanceClass":"db.r5.large",<br />    "InitialDatabaseName": "sampledb",<br />    "PrimaryRegion": "us-east-1",<br />    "SecondaryRegion": "us-west-2",<br />    "KMSKeyAliasName": "rds/dr-globaldb-cluster-mysql-KmsKeyId"<br />  }<br />}</pre>**Amazon ElastiCache (Redis OSS)**No arquivo `ElastiCache-parameter-us-west-2.json`, atualize `SubnetIDs` e `DBSecurityGroup` com os nomes dos recursos que você criou. Atualize o `PrimaryRegionKMSKeyArn` com o valor de `ElastiCacheKmsKeyId` obtido da seção **Saídas** da CloudFormation pilha para a instância de banco de dados primária:<pre>{<br />  "Parameters": {<br />    "CacheNodeType": "cache.m5.large",<br />    "DBSecurityGroup": "sg-cccccccccc",<br />    "SubnetIds": "subnet-aaaaaaaaa,subnet-bbbbbbbbb",<br />    "EngineVersion": "5.0.6",<br />    "GlobalReplicationGroupIdSuffix": "demo-redis-global-datastore",<br />    "NumReplicas": "1",<br />    "NumShards": "1",<br />    "ReplicationGroupId": "demo-redis-cluster",<br />    "DBPortNumber": "3788",<br />    "TransitEncryption": "true",<br />    "KMSKeyAliasName": "elasticache/demo-redis-global-datastore-KmsKeyId",<br />    "PrimaryRegion": "us-east-1",<br />    "SecondaryRegion": "us-west-2"<br />  }<br />}</pre> | Administrador da AWS | 
| Implante a instância ou o cluster de banco de dados na região secundária. | Execute os comandos apresentados a seguir, de acordo com o seu mecanismo de banco de dados.**Amazon RDS**<pre>cd <YOUR-LOCAL-GIT-FOLDER>/App-Stack<br /><br />aws cloudformation deploy \<br />--region us-west-2 \<br />--stack-name rds-mysql-app-stack \<br />--template-file RDS-MySQL-DR.yaml \<br />--parameter-overrides file://RDS-MySQL-parameter-us-west-2.json \<br />--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM CAPABILITY_IAM \<br />--disable-rollback</pre>**Amazon Aurora**<pre>cd <YOUR-LOCAL-GIT-FOLDER>/App-Stack<br /><br />aws cloudformation deploy \<br />--region us-west-2 \<br />--stack-name aurora-mysql-app-stack \<br />--template-file Aurora-MySQL-DR.yaml \<br />--parameter-overrides file://Aurora-MySQL-parameter-us-west-2.json \<br />--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM CAPABILITY_IAM \<br />--disable-rollback</pre>**Amazon ElastiCache (Redis OSS)**<pre>cd <YOUR-LOCAL-GIT-FOLDER>/App-Stack<br /><br />aws cloudformation deploy \<br />--region us-west-2 \<br />--stack-name elasticache-ds-app-stack \<br />--template-file ElastiCache-DR.yaml \<br />--parameter-overrides file://ElastiCache-parameter-us-west-2.json \<br />--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM CAPABILITY_IAM \<br />--disable-rollback</pre>Verifique se os CloudFormation recursos foram implantados com êxito. | Administrador da AWS | 

## Recursos relacionados
<a name="automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework-resources"></a>
+ [Estratégia de recuperação de desastres para bancos de dados em AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-disaster-recovery/welcome.html) (estratégia de orientação AWS prescritiva)
+ [Automatize sua solução de DR para bancos de dados relacionais em AWS(guia](https://docs.aws.amazon.com/prescriptive-guidance/latest/automate-dr-solution-relational-database/dr-orchestrator-framework-overview.html) de orientação AWS prescritiva)
+ [Usar bancos de dados globais do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html)
+ [Replicação Regiões da AWS usando datastores globais](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html)
+ [Automatize sua solução de DR para bancos de dados relacionais em AWS(guia](https://docs.aws.amazon.com/prescriptive-guidance/latest/automate-dr-solution-relational-database/introduction.html) de orientação AWS prescritiva)