

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

# Sincronize dados entre sistemas de arquivos Amazon EFS em diferentes regiões da AWS usando a AWS DataSync
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync"></a>

*Sarat Chandra Pothula e Aditya Ambati, Amazon Web Services*

## Resumo
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-summary"></a>

Esta solução fornece uma estrutura robusta para a sincronização eficiente e segura de dados entre instâncias do Amazon Elastic File System (Amazon EFS) em diferentes regiões da AWS. Esta abordagem é escalável e oferece replicação de dados entre regiões com controle total. Com esta solução, é possível fortalecer suas estratégias de redundância de dados e recuperação de desastres.

Ao usar o AWS Cloud Development Kit (AWS CDK), este padrão adota a abordagem de infraestrutura como código (IaC) para implantar os recursos da solução. O aplicativo AWS CDK implanta os recursos essenciais da AWS, DataSync Amazon EFS, Amazon Virtual Private Cloud (Amazon VPC) e Amazon Elastic Compute Cloud (Amazon). EC2 Esta IaC fornece um processo de implantação repetível e controlado por versão, totalmente alinhado às práticas recomendadas da AWS.

## Pré-requisitos e limitações
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ AWS Command Line Interface (AWS CLI), versão 2.9.11 ou versões posteriores, [instalada](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) e [configurada](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ AWS CDK, versão 2.114.1 ou versões posteriores, [instalado](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install) e [inicializado](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_bootstrap)
+ NodeJS, versão 20.8.0 ou versões posteriores, [instalado](https://nodejs.org/en/download)

**Limitações**
+ A solução herda limitações do DataSync Amazon EFS, como taxas de transferência de dados, limitações de tamanho e disponibilidade regional. Para obter mais informações, consulte Cotas [da AWS e DataSync cotas](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-limits.html) do [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/limits.html).
+ Essa solução é compatível somente com o Amazon EFS. DataSync oferece suporte a [outros serviços da AWS](https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html), como Amazon Simple Storage Service (Amazon S3) e FSx Amazon for Lustre. No entanto, a solução precisa ser adaptada para permitir a sincronização de dados com outros serviços da AWS.

## Arquitetura
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-architecture"></a>

![\[Diagrama da arquitetura para replicar dados para um sistema de arquivos do EFS em outra região.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/e28ba6c2-ab8b-4812-932e-f038106d5496/images/18b35ae9-a22e-43e7-b7a3-30e40321c44e.png)


Esta solução implanta as seguintes pilhas do AWS CDK:
+ **Pilha da Amazon VPC**: esta pilha configura os recursos da nuvem privada virtual (VPC), incluindo sub-redes, um gateway da internet e um gateway NAT, tanto na região da AWS principal quanto na secundária.
+ **Pilha Amazon EFS** — Essa pilha implanta sistemas de arquivos Amazon EFS nas regiões primária e secundária e os conecta às suas respectivas regiões. VPCs
+ **Amazon EC2 stack** — Essa pilha inicia EC2 instâncias nas regiões primária e secundária. Essas instâncias são configuradas para montar o sistema de arquivos do Amazon EFS, garantindo acesso ao armazenamento compartilhado.
+ **DataSync pilha de localização** — Essa pilha usa uma construção personalizada chamada `DataSyncLocationConstruct` para criar recursos de DataSync localização nas regiões primária e secundária. Esses recursos definem os endpoints para a sincronização de dados.
+ **DataSync pilha de tarefas** — Essa pilha usa uma construção personalizada chamada `DataSyncTaskConstruct` para criar uma DataSync tarefa na região primária. Essa tarefa está configurada para sincronizar dados entre as regiões primária e secundária usando os locais de DataSync origem e destino.

## Ferramentas
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-tools"></a>

**Serviços da AWS**
+ O [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) é uma estrutura de desenvolvimento de software que ajuda você a definir e provisionar a infraestrutura da Nuvem AWS em código.
+  DataSyncA [AWS](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html) é um serviço on-line de transferência e descoberta de dados que ajuda você a mover arquivos ou dados de objetos de, para e entre os serviços de armazenamento da AWS.
+ [A Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) ajuda você a criar e configurar sistemas de arquivos compartilhados na Nuvem AWS.
+ A [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda a iniciar recursos da AWS em uma rede virtual definida por você. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

**Repositório de código**

O código desse padrão está disponível no repositório do GitHub [Amazon EFS Cross-Region DataSync Project](https://github.com/aws-samples/aws-efs-crossregion-datasync/tree/main).

## Práticas recomendadas
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-best-practices"></a>

Siga as melhores práticas descritas em [Melhores práticas para usar o AWS CDK TypeScript para criar projetos de IaC](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/introduction.html).

## Épicos
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-epics"></a>

### Implantação da aplicação do AWS CDK
<a name="deploy-the-aws-cdk-app"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clone o repositório do projeto. | Insira o comando a seguir para clonar o repositório do [Amazon EFS Cross-Region DataSync Project](https://github.com/aws-samples/aws-efs-crossregion-datasync/tree/main).<pre>git clone https://github.com/aws-samples/aws-efs-crossregion-datasync.git</pre> | AWS DevOps | 
| Instale as dependências do npm. | Insira o comando da a seguir.<pre>npm ci</pre> | AWS DevOps | 
| Escolha as regiões primária e secundária. | Acesse o repositório clonado e navegue até o diretório `src/infa`. No arquivo `Launcher.ts`, atualize os valores de `PRIMARY_AWS_REGION` e `SECONDARY_AWS_REGION`. Use os [códigos das regiões](https://docs.aws.amazon.com/general/latest/gr/datasync.html#datasync-region) correspondentes.<pre>const primaryRegion = { account: account, region: '<PRIMARY_AWS_REGION>' };<br />const secondaryRegion = { account: account, region: '<SECONDARY_AWS_REGION>' };</pre> | AWS DevOps | 
| Inicialize o ambiente do . | Digite o comando apresentado a seguir para inicializar a conta da AWS e a região da AWS que você deseja usar.<pre>cdk bootstrap <aws_account>/<aws_region></pre>Para obter mais informações, consulte [Inicialização](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) na documentação do AWS CDK. | AWS DevOps | 
| Liste as pilhas do AWS CDK. | Digite o comando apresentado a seguir para visualizar a lista de pilhas do AWS CDK na aplicação.<pre>cdk ls</pre> | AWS DevOps | 
| Sintetize as pilhas do AWS CDK. | Insira o comando a seguir para produzir um CloudFormation modelo da AWS para cada pilha definida no aplicativo AWS CDK.<pre>cdk synth</pre> | AWS DevOps | 
| Implante a aplicação do AWS CDK. | Digite o comando apresentado a seguir para implantar todas as pilhas na conta da AWS, sem precisar de aprovação manual para quaisquer alterações.<pre>cdk deploy --all --require-approval never</pre> | AWS DevOps | 

### Validação da implantação
<a name="validate-the-deployment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça login na EC2 instância na região principal. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync.html) | AWS DevOps | 
| Criar um arquivo temporário. | Digite o comando apresentado a seguir para criar um arquivo temporário no caminho de montagem do Amazon EFS.<pre>sudo dd if=/dev/zero \<br />of=tmptst.dat \<br />bs=1G \<br />seek=5 \<br />count=0<br /><br />ls -lrt tmptst.dat</pre> | AWS DevOps | 
| Inicie a DataSync tarefa. | Insira o comando a seguir para replicar o arquivo temporário da região primária para a região secundária, onde `<ARN-task>` está o Amazon Resource Name (ARN) da DataSync sua tarefa.<pre>aws datasync start-task-execution \<br />    --task-arn <ARN-task></pre>Este comando fornece o ARN da execução da tarefa no formato abaixo.`arn:aws:datasync:<region>:<account-ID>:task/task-execution/<exec-ID>` | AWS DevOps | 
| Verifique o status da transferência de dados. | Digite o comando a seguir para descrever a tarefa de DataSync execução, onde `<ARN-task-execution>` está o ARN da execução da tarefa.<pre>aws datasync describe-task-execution \<br />    --task-execution-arn <ARN-task-execution></pre>A DataSync tarefa é concluída quando`PrepareStatus`,`TransferStatus`, e `VerifyStatus` todas têm o valor`SUCCESS`. | AWS DevOps | 
| Faça login na EC2 instância na região secundária. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync.html) | AWS DevOps | 
| Valide a replicação. | Insira o comando apresentado a seguir para confirmar que o arquivo temporário está presente no sistema de arquivos do Amazon EFS.<pre>ls -lrt<br />tmptst.dat</pre> | AWS DevOps | 

## Recursos relacionados
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-resources"></a>

**Documentação da AWS**
+ [Referência da API do AWS CDK](https://docs.aws.amazon.com/cdk/api/v2/python/modules.html)
+ [Configurando DataSync transferências da AWS com o Amazon EFS](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html)
+ [Solução de problemas com DataSync transferências da AWS](https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html)

**Outros recursos da AWS**
+ [AWS DataSync FAQs](https://aws.amazon.com/datasync/faqs/)