

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
<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*

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

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
<a name="synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)
+ [https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install)
+ [NodeJS versione 20.8.0 o successiva, installata](https://nodejs.org/en/download)

**Limitazioni**
+ La soluzione eredita limitazioni da DataSync Amazon EFS, come velocità di trasferimento dei dati, limiti di dimensione e disponibilità regionale. Per ulteriori informazioni, consulta le [ DataSync quote AWS e le quote](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-limits.html) [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/limits.html).
+ Questa soluzione supporta solo Amazon EFS. DataSync supporta [altri servizi AWS](https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html), come Amazon Simple Storage Service (Amazon S3) e FSx Amazon for Lustre. Tuttavia, questa soluzione richiede modifiche per sincronizzare i dati con questi altri servizi.

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

![\[Diagramma dell'architettura per la replica dei dati su un file system EFS in una regione diversa\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/e28ba6c2-ab8b-4812-932e-f038106d5496/images/18b35ae9-a22e-43e7-b7a3-30e40321c44e.png)


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 alle rispettive. VPCs
+ **Amazon EC2 stack**: questo stack avvia EC2 istanze 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.

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

**Servizi AWS**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) è un framework di sviluppo software che aiuta a definire e fornire l'infrastruttura cloud AWS in codice.
+ [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html) è un servizio di trasferimento e scoperta di dati online che ti aiuta a spostare file o dati di oggetti da, verso e tra i servizi di storage AWS.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fornisce capacità di calcolo scalabile nel cloud AWS. Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) ti aiuta a creare e configurare file system condivisi nel cloud AWS.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare le risorse AWS in una rete virtuale che hai definito. Questa rete virtuale è simile a una rete tradizionale che gestiresti nel tuo data center, con i vantaggi dell'utilizzo dell'infrastruttura scalabile di AWS.

**Repository di codice**

Il codice per questo modello è disponibile nel repository GitHub [Amazon EFS Cross-Region DataSync Project](https://github.com/aws-samples/aws-efs-crossregion-datasync/tree/main).

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

Segui le best practice descritte nella sezione [Best practice per l'utilizzo del CDK AWS TypeScript per creare progetti IaC](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/introduction.html).

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

### Distribuisci l'app AWS CDK
<a name="deploy-the-aws-cdk-app"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il repository del progetto. | Immetti il seguente comando per clonare il repository [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 | 
| Installa le dipendenze npm. | Inserire il seguente comando.<pre>npm ci</pre> | 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](https://docs.aws.amazon.com/general/latest/gr/datasync.html#datasync-region) corrispondenti.<pre>const primaryRegion = { account: account, region: '<PRIMARY_AWS_REGION>' };<br />const secondaryRegion = { account: account, region: '<SECONDARY_AWS_REGION>' };</pre> | AWS DevOps | 
| Avvia l'ambiente. | Inserisci il seguente comando per avviare l'account AWS e la regione AWS che desideri utilizzare.<pre>cdk bootstrap <aws_account>/<aws_region></pre>Per ulteriori informazioni, consulta [Bootstrapping nella documentazione](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) di AWS CDK. | AWS DevOps | 
| Elenca gli stack CDK AWS. | Immetti il seguente comando per visualizzare un elenco degli stack CDK AWS nell'app.<pre>cdk ls</pre> | 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.<pre>cdk synth</pre> | 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.<pre>cdk deploy --all --require-approval never</pre> | AWS DevOps | 

### Convalida la distribuzione
<a name="validate-the-deployment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Accedi all' EC2 istanza nella regione principale. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync.html) | AWS DevOps | 
| Crea un file temporaneo. | Immetti il seguente comando per creare un file temporaneo nel percorso di montaggio di 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 | 
| 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à.<pre>aws datasync start-task-execution \<br />    --task-arn <ARN-task></pre>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à.<pre>aws datasync describe-task-execution \<br />    --task-execution-arn <ARN-task-execution></pre>L' DataSync attività è completa quando `PrepareStatus``TransferStatus`, e `VerifyStatus` tutte hanno il valore`SUCCESS`. | AWS DevOps | 
| Accedi all' EC2 istanza nella regione secondaria. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/synchronize-data-between-amazon-efs-file-systems-in-different-aws-regions-by-using-aws-datasync.html) | AWS DevOps | 
| Convalida la replica. | Inserisci il seguente comando per verificare che il file temporaneo esista nel file system Amazon EFS.<pre>ls -lrt<br />tmptst.dat</pre> | AWS DevOps | 

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

**Documentazione AWS**
+ [Riferimento all'API CDK AWS](https://docs.aws.amazon.com/cdk/api/v2/python/modules.html)
+ [Configurazione dei DataSync trasferimenti AWS con Amazon EFS](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html)
+ [Risoluzione dei problemi relativi ai DataSync trasferimenti AWS](https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html)

**Altre risorse AWS**
+ [AWS DataSync FAQs](https://aws.amazon.com/datasync/faqs/)