View a markdown version of this page

Sincronize dados entre sistemas de arquivos Amazon EFS em diferentes regiões da AWS usando a AWS DataSync - Recomendações da AWS

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

Sarat Chandra Pothula e Aditya Ambati, Amazon Web Services

Resumo

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

Pré-requisitos

  • Uma conta AWS ativa

  • AWS Command Line Interface (AWS CLI), versão 2.9.11 ou versões posteriores, instalada e configurada

  • AWS CDK, versão 2.114.1 ou versões posteriores, instalado e inicializado

  • NodeJS, versão 20.8.0 ou versões posteriores, instalado

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 do Amazon EFS.

  • Essa solução é compatível somente com o Amazon EFS. DataSync oferece suporte a outros serviços da AWS, 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

Diagrama da arquitetura para replicar dados para um sistema de arquivos do EFS em outra região.

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

Serviços da AWS

  • O AWS Cloud Development Kit (AWS CDK) é uma estrutura de desenvolvimento de software que ajuda você a definir e provisionar a infraestrutura da Nuvem AWS em código.

  • DataSyncA AWS é 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) 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) ajuda você a criar e configurar sistemas de arquivos compartilhados na Nuvem AWS.

  • A Amazon Virtual Private Cloud (Amazon VPC) 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.

Práticas recomendadas

Siga as melhores práticas descritas em Melhores práticas para usar o AWS CDK TypeScript para criar projetos de IaC.

Épicos

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

git clone https://github.com/aws-samples/aws-efs-crossregion-datasync.git
AWS DevOps

Instale as dependências do npm.

Insira o comando da a seguir.

npm ci
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 correspondentes.

const primaryRegion = { account: account, region: '<PRIMARY_AWS_REGION>' }; const secondaryRegion = { account: account, region: '<SECONDARY_AWS_REGION>' };
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.

cdk bootstrap <aws_account>/<aws_region>

Para obter mais informações, consulte Inicialização 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.

cdk ls
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.

cdk synth
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.

cdk deploy --all --require-approval never
AWS DevOps
TarefaDescriptionHabilidades necessárias

Faça login na EC2 instância na região principal.

  1. Usando o Session Manager, um recurso do AWS Systems Manager, faça login na EC2 instância na região principal. Para obter instruções, consulte Connect to your Linux instance with AWS Systems Manager Session Manager.

  2. Altere o diretório para o caminho de montagem do Amazon EFS.

    cd /mnt/efs
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.

sudo dd if=/dev/zero \ of=tmptst.dat \ bs=1G \ seek=5 \ count=0 ls -lrt tmptst.dat
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.

aws datasync start-task-execution \ --task-arn <ARN-task>

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.

aws datasync describe-task-execution \ --task-execution-arn <ARN-task-execution>

A DataSync tarefa é concluída quandoPrepareStatus,TransferStatus, e VerifyStatus todas têm o valorSUCCESS.

AWS DevOps

Faça login na EC2 instância na região secundária.

  1. Usando o Session Manager, um recurso do AWS Systems Manager, faça login na EC2 instância na região secundária. Para obter instruções, consulte Connect to your Linux instance with AWS Systems Manager Session Manager.

  2. Altere o diretório para o caminho de montagem do Amazon EFS.

    cd /mnt/efs
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.

ls -lrt tmptst.dat
AWS DevOps

Recursos relacionados

Documentação da AWS

Outros recursos da AWS