Sincronizza i dati tra i file system Amazon EFS in diverse regioni AWS utilizzando AWS DataSync - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Sincronizza i dati tra i file system Amazon EFS in diverse regioni AWS utilizzando AWS DataSync

Creato da Sarat Chandra Pothula (AWS) e Aditya Ambati (AWS)

Archivio di codici: aws-efs-crossregion-datasync

Ambiente: PoC o pilota

Tecnologie: infrastruttura; archiviazione e backup

Servizi AWS: CDK AWS; AWS DataSync; Amazon EFS

Riepilogo

Questa soluzione fornisce un framework robusto per una sincronizzazione dei dati efficiente e sicura tra istanze Amazon Elastic File System (Amazon EFS) in diverse regioni AWS. Questo approccio è scalabile e fornisce una replica dei dati controllata in più regioni. Questa soluzione può migliorare le strategie di disaster recovery e ridondanza dei dati.

Utilizzando l'AWS Cloud Development Kit (AWS CDK), questo modello utilizza un approccio infrastructure-as code (IaC) per distribuire le risorse della soluzione. L'applicazione AWS CDK distribuisce le risorse essenziali di AWS, DataSync Amazon EFS, Amazon Virtual Private Cloud (Amazon VPC) e Amazon Elastic Compute Cloud (Amazon EC2). Questo IaC fornisce un processo di distribuzione ripetibile e controllato dalla versione, completamente allineato con le best practice di AWS.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

  • La soluzione eredita limitazioni da DataSync Amazon EFS, come velocità di trasferimento dati, limiti di dimensione e disponibilità regionale. Per ulteriori informazioni, consulta le DataSync quote AWS e le quote Amazon EFS.

  • Questa soluzione supporta solo Amazon EFS. DataSync supporta altri servizi AWS, come Amazon Simple Storage Service (Amazon S3) e Amazon FSx for Lustre. Tuttavia, questa soluzione richiede modifiche per sincronizzare i dati con questi altri servizi.

Architettura

Diagramma dell'architettura per la replica dei dati su un file system EFS in una regione diversa

Questa soluzione implementa i seguenti stack CDK AWS:

  • Stack Amazon VPC: questo stack configura risorse di cloud privato virtuale (VPC), tra cui sottoreti, un gateway Internet e un gateway NAT nelle regioni AWS primarie e secondarie.

  • Stack Amazon EFS: questo stack distribuisce i file system Amazon EFS nelle regioni primarie e secondarie e li collega ai rispettivi VPC.

  • Stack Amazon EC2: questo stack avvia istanze EC2 nelle regioni primarie e secondarie. Queste istanze sono configurate per montare il file system Amazon EFS, che consente loro di accedere allo storage condiviso.

  • DataSync location stack: questo stack utilizza un costrutto personalizzato chiamato DataSyncLocationConstruct a creare risorse di DataSync localizzazione nelle regioni primarie e secondarie. Queste risorse definiscono gli endpoint per la sincronizzazione dei dati.

  • DataSync stack di attività: questo stack utilizza un costrutto personalizzato chiamato DataSyncTaskConstruct per creare un' DataSync attività nella regione principale. Questa attività è configurata per sincronizzare i dati tra le regioni primarie e secondarie utilizzando le posizioni di DataSync origine e di destinazione.

Strumenti

Servizi AWS

Archivio di codice

Il codice per questo modello è disponibile nel repository GitHub Amazon EFS Cross-Region DataSync Project.

Best practice

Segui le best practice descritte in Best practice per l'utilizzo del CDK AWS per TypeScript creare progetti IaC.

Epiche

AttivitàDescrizioneCompetenze richieste

Clona il repository del progetto.

Immetti il seguente comando per clonare il repository Amazon EFS Cross-Region DataSync Project.

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

Installa le dipendenze npm.

Inserire il seguente comando.

npm ci
AWS DevOps

Scegli le regioni primarie e secondarie.

Nel repository clonato, accedi alla directory. src/infa Nel Launcher.ts file, aggiorna i valori and. PRIMARY_AWS_REGION SECONDARY_AWS_REGION Usa i codici regionali corrispondenti.

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

Avvia l'ambiente.

Inserisci il seguente comando per avviare l'account AWS e la regione AWS che desideri utilizzare.

cdk bootstrap <aws_account>/<aws_region>

Per ulteriori informazioni, consulta Bootstrapping nella documentazione di AWS CDK.

AWS DevOps

Elenca gli stack CDK AWS.

Immetti il seguente comando per visualizzare un elenco degli stack CDK AWS nell'app.

cdk ls
AWS DevOps

Sintetizza gli stack CDK AWS.

Inserisci il seguente comando per creare un CloudFormation modello AWS per ogni stack definito nell'app AWS CDK.

cdk synth
AWS DevOps

Distribuisci l'app AWS CDK.

Inserisci il seguente comando per distribuire tutti gli stack nel tuo account AWS, senza richiedere l'approvazione manuale per eventuali modifiche.

cdk deploy --all --require-approval never
AWS DevOps
AttivitàDescrizioneCompetenze richieste

Accedi all'istanza EC2 nella regione principale.

  1. Utilizzando Session Manager, una funzionalità di AWS Systems Manager, accedi all'istanza EC2 nella regione principale. Per istruzioni, consulta Connect alla tua istanza Linux con AWS Systems Manager Session Manager.

  2. Cambia le directory nel percorso di montaggio di Amazon EFS.

    cd /mnt/efs
AWS DevOps

Crea un file temporaneo.

Immetti il seguente comando per creare un file temporaneo nel percorso di montaggio di Amazon EFS.

sudo dd if=/dev/zero \ of=tmptst.dat \ bs=1G \ seek=5 \ count=0 ls -lrt tmptst.dat
AWS DevOps

Avvia l' DataSync attività.

Inserisci il seguente comando per replicare il file temporaneo dalla regione principale alla regione secondaria, dove si <ARN-task> trova l'Amazon Resource Name (ARN) della DataSync tua attività.

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

Il comando restituisce l'ARN dell'esecuzione dell'attività nel formato seguente.

arn:aws:datasync:<region>:<account-ID>:task/task-execution/<exec-ID>

AWS DevOps

Controlla lo stato del trasferimento dei dati.

Immettere il comando seguente per descrivere l'attività di DataSync esecuzione, <ARN-task-execution> dov'è l'ARN dell'esecuzione dell'attività.

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

L' DataSync attività è completa quando PrepareStatusTransferStatus, e VerifyStatus tutte hanno il valoreSUCCESS.

AWS DevOps

Accedi all'istanza EC2 nella regione secondaria.

  1. Utilizzando Session Manager, una funzionalità di AWS Systems Manager, accedi all'istanza EC2 nella regione secondaria. Per istruzioni, consulta Connect alla tua istanza Linux con AWS Systems Manager Session Manager.

  2. Cambia le directory nel percorso di montaggio di Amazon EFS.

    cd /mnt/efs
AWS DevOps

Convalida la replica.

Inserisci il seguente comando per verificare che il file temporaneo esista nel file system Amazon EFS.

ls -lrt tmptst.dat
AWS DevOps

Risorse correlate

Documentazione AWS

Altre risorse AWS