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

Criado por Sarat Chandra Pothula (AWS) e Aditya Ambati (AWS)

Repositório de códigos: aws-efs-crossregion-datasync

Ambiente: PoC ou piloto

Tecnologias: infraestrutura; armazenamento e backup

Serviços da AWS: AWS CDK; AWS DataSync; Amazon EFS

Resumo

Essa solução fornece uma estrutura robusta para sincronização de dados eficiente e segura entre instâncias do Amazon Elastic File System (Amazon EFS) em diferentes regiões da AWS. Essa abordagem é escalável e fornece replicação de dados controlada entre regiões. Essa solução pode aprimorar suas estratégias de recuperação de desastres e redundância de dados.

Ao usar o AWS Cloud Development Kit (AWS CDK), esse padrão é usado como uma 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). Esse IaC fornece um processo de implantação repetível e controlado por versão que está totalmente alinhado às melhores práticas da AWS.

Pré-requisitos e limitações

Pré-requisitos

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 o Amazon Simple Storage Service (Amazon S3) e o Amazon FSx for Lustre. No entanto, essa solução requer modificações para sincronizar dados com esses outros serviços.

Arquitetura

Diagrama de arquitetura para replicar dados em um sistema de arquivos EFS em uma região diferente

Essa solução implanta as seguintes pilhas de CDK da AWS:

  • Pilha Amazon VPC — Essa pilha configura recursos de nuvem privada virtual (VPC), incluindo sub-redes, um gateway de internet e um gateway NAT nas regiões primária e secundária da AWS.

  • 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 VPCs.

  • Pilha Amazon EC2 — Essa pilha lança instâncias EC2 nas regiões primária e secundária. Essas instâncias são configuradas para montar o sistema de arquivos Amazon EFS, o que lhes permite acessar o 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 endpoints para 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.

  • O Amazon Elastic Compute Cloud (Amazon EC2) oferece capacidade computacional 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

TarefaDescriçãoHabilidades 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.

No repositório clonado, navegue até o src/infa diretório. No Launcher.ts arquivo, PRIMARY_AWS_REGION atualize os SECONDARY_AWS_REGION valores e. Use os códigos de região correspondentes.

const primaryRegion = { account: account, region: '<PRIMARY_AWS_REGION>' }; const secondaryRegion = { account: account, region: '<SECONDARY_AWS_REGION>' };
AWS DevOps

Faça o bootstrap do ambiente.

Digite o comando 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 a seguir para ver uma lista das pilhas de CDK da AWS no aplicativo.

cdk ls
AWS DevOps

Sintetize as pilhas de CDK da AWS.

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 o aplicativo AWS CDK.

Insira o comando a seguir para implantar todas as pilhas em sua conta da AWS, sem exigir aprovação manual para nenhuma alteração.

cdk deploy --all --require-approval never
AWS DevOps
TarefaDescriçãoHabilidades necessárias

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

  1. Usando o Session Manager, um recurso do AWS Systems Manager, faça login na instância EC2 na região principal. Para obter instruções, consulte Conecte-se à sua instância Linux com o AWS Systems Manager Session Manager.

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

    cd /mnt/efs
AWS DevOps

Crie um arquivo temporário.

Insira o comando 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>

O comando retorna o ARN da execução da tarefa no formato a seguir.

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 instância do EC2 na região secundária.

  1. Usando o Session Manager, um recurso do AWS Systems Manager, faça login na instância EC2 na região secundária. Para obter instruções, consulte Conecte-se à sua instância Linux com o AWS Systems Manager Session Manager.

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

    cd /mnt/efs
AWS DevOps

Valide a replicação.

Insira o comando a seguir para verificar se o arquivo temporário existe no sistema de arquivos do Amazon EFS.

ls -lrt tmptst.dat
AWS DevOps

Recursos relacionados

Documentação da AWS

Outros recursos da AWS