

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

# Gestione del failover Multi-AZ per i cluster EMR utilizzando Application Recovery Controller
<a name="multi-az-failover-spark-emr-clusters-arc"></a>

*Aarti Rajput, Ashish Bhatt, Neeti Mishra e Nidhi Sharma, Amazon Web Services*

## Riepilogo
<a name="multi-az-failover-spark-emr-clusters-arc-summary"></a>

Questo modello offre una strategia di disaster recovery efficiente per i carichi di lavoro di Amazon EMR per contribuire a garantire un'elevata disponibilità e coerenza dei dati su più zone di disponibilità all'interno di un'unica. Regione AWS Il design utilizza [Amazon Application Recovery Controller](https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html) e un [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) per gestire le operazioni di failover e la distribuzione del traffico per un cluster EMR basato su Apache Spark. 

In condizioni standard, la zona di disponibilità principale ospita un cluster EMR attivo e un'applicazione con funzionalità complete read/write . Se una zona di disponibilità si guasta inaspettatamente, il traffico viene reindirizzato automaticamente alla zona di disponibilità secondaria, dove viene avviato un nuovo cluster EMR. Entrambe le zone di disponibilità accedono a un bucket Amazon Simple Storage Service (Amazon S3) condiviso tramite endpoint [gateway dedicati](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html), che garantiscono una gestione coerente dei dati. Questo approccio riduce al minimo i tempi di inattività e consente il ripristino rapido dei carichi di lavoro critici relativi ai Big Data durante i guasti delle zone di disponibilità. La soluzione è utile in settori come la finanza o la vendita al dettaglio, dove l'analisi in tempo reale è fondamentale.

## Prerequisiti e limitazioni
<a name="multi-az-failover-spark-emr-clusters-arc-prereqs"></a>

**Prerequisiti**
+ Un attivo [Account AWS](https://aws.amazon.com/resources/create-account/)
+ [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html) su Amazon Elastic Compute Cloud (Amazon) EC2
+ Accesso dal nodo master del cluster EMR ad Amazon S3.
+ AWS Infrastruttura Multi-AZ

**Limitazioni**
+ Alcune Servizi AWS non sono disponibili in tutte Regioni AWS. Per la disponibilità per regione, vedi [Servizi AWS per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta la pagina [Endpoint e quote del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e scegli il link relativo al servizio.

**Versioni del prodotto**
+ [Amazon EMR 6.x e versioni successive](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html)

## Architecture
<a name="multi-az-failover-spark-emr-clusters-arc-architecture"></a>

**Stack tecnologico Target**
+ Cluster Amazon EMR
+ Amazon Application Recovery Controller
+ Application Load Balancer
+ Bucket Amazon S3
+ Endpoint gateway per Amazon S3

**Architettura di destinazione**

![\[Architettura per un meccanismo di ripristino automatizzato con Application Recovery Controller.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/e5ecdb66-0eef-4a6a-8367-982a55104748/images/e982d580-13db-4bdd-9f6b-6400d7c31c01.png)


Questa architettura fornisce la resilienza delle applicazioni utilizzando più zone di disponibilità e implementando un meccanismo di ripristino automatico tramite Application Recovery Controller.

1. L'Application Load Balancer indirizza il traffico verso l'ambiente Amazon EMR attivo, che in genere è il cluster EMR primario nella zona di disponibilità principale.

1. Il cluster EMR attivo elabora le richieste delle applicazioni e si connette ad Amazon S3 tramite l'endpoint gateway Amazon S3 dedicato per le operazioni di lettura e scrittura.

1. Amazon S3 funge da archivio centrale di dati ed è potenzialmente utilizzato come checkpoint o come storage condiviso tra cluster EMR. I cluster EMR mantengono la coerenza dei dati quando scrivono direttamente su Amazon S3 tramite il protocollo `s3://` e l'EMR File System ([EMRFS](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-fs.html)). 

1. Application Recovery Controller monitora continuamente lo stato della zona di disponibilità principale e gestisce automaticamente le operazioni di failover quando necessario.

1. Se l'Application Recovery Controller rileva un errore nel cluster EMR primario, esegue le seguenti azioni:
   + Avvia il processo di failover sul cluster EMR secondario nella zona di disponibilità 2.
   + Aggiorna le configurazioni di routing per indirizzare il traffico verso il cluster secondario.

## Tools (Strumenti)
<a name="multi-az-failover-spark-emr-clusters-arc-tools"></a>

**Servizi AWS**
+ [Amazon Application Recovery Controller](https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html) ti**** aiuta a gestire e coordinare il ripristino delle tue applicazioni su tutte Regioni AWS le zone di disponibilità. Questo servizio semplifica il processo e migliora l'affidabilità del ripristino delle applicazioni riducendo i passaggi manuali richiesti dagli strumenti e dai processi tradizionali.
+ [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) opera a livello di applicazione, che è il settimo livello del modello Open Systems Interconnection (OSI). Distribuisce il traffico delle applicazioni in entrata su più destinazioni, ad esempio EC2 istanze, in più zone di disponibilità. Ciò aumenta la disponibilità dell'applicazione.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) è uno strumento open source che consente di interagire Servizi AWS tramite comandi nella shell della riga di comando.
+ [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html) è una piattaforma di big data che fornisce elaborazione dati, analisi interattiva e apprendimento automatico per framework open source come Apache Spark, Apache Hive e Presto.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) offre una semplice interfaccia di servizio Web che puoi utilizzare per archiviare e recuperare qualsiasi quantità di dati, in qualsiasi momento e da qualsiasi luogo. Utilizzando questo servizio, puoi creare facilmente applicazioni che utilizzano lo storage nativo del cloud.
+ Gli [endpoint gateway per Amazon](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) S3 sono gateway specificati nella tabella di routing per accedere ad Amazon S3 dal tuo cloud privato virtuale (VPC) sulla rete. AWS 

## Best practice
<a name="multi-az-failover-spark-emr-clusters-arc-best-practices"></a>
+ Segui le [AWS best practice per la sicurezza, l'identità e la conformità](https://aws.amazon.com/architecture/security-identity-compliance/?cards-all.sort-by=%5b…%5d.sort-order=desc&awsf.content-type=*all&awsf.methodology=*all) per garantire un'architettura solida e sicura.
+ Allinea l'architettura con il [AWS Well-Architected](https://aws.amazon.com/architecture/well-architected/) Framework.
+ Usa Amazon S3 Access Grants per gestire l'accesso dal tuo cluster EMR basato su Spark ad Amazon S3. Per maggiori dettagli, consulta il post del blog [Usa Amazon EMR con S3 Access Grants per scalare l'accesso Spark ad Amazon S3](https://aws.amazon.com/blogs/big-data/use-amazon-emr-with-s3-access-grants-to-scale-spark-access-to-amazon-s3/).
+ [Migliora le prestazioni di Spark con Amazon](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-s3-performance.html) S3.

## Epiche
<a name="multi-az-failover-spark-emr-clusters-arc-epics"></a>

### Configurare l'ambiente
<a name="set-up-your-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Accedi alla Console di gestione AWS. | Accedere alla [Console di gestione AWS](https://console.aws.amazon.com/) come utente IAM. Per istruzioni, consulta la [AWS documentazione](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-iam-user-sign-in-tutorial.html). | AWS DevOps | 
| Configura il AWS CLI. **** | Installa AWS CLI o aggiornalo alla versione più recente in modo da poter interagire con Servizi AWS in Console di gestione AWS. Per istruzioni, consulta la [AWS CLI documentazione](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). | AWS DevOps | 

### Implementa un'applicazione Spark sul tuo cluster EMR
<a name="deploy-a-spark-application-on-your-emr-cluster"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un bucket S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/multi-az-failover-spark-emr-clusters-arc.html) | AWS DevOps | 
| Crea un cluster EMR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/multi-az-failover-spark-emr-clusters-arc.html) | AWS DevOps | 
| Configurare le impostazioni di sicurezza per il cluster EMR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/multi-az-failover-spark-emr-clusters-arc.html) | AWS DevOps | 
| Connect al cluster EMR. | Connect al nodo master del cluster EMR tramite SSH utilizzando la key pair fornita.Assicurati che il file key pair sia presente nella stessa directory dell'applicazione.Esegui i seguenti comandi per impostare le autorizzazioni corrette per la key pair e stabilire la connessione SSH:<pre>chmod 400 <key-pair-name><br />ssh -i ./<key-pair-name> hadoop@<master-node-public-dns></pre> | AWS DevOps | 
| Distribuisci l'applicazione Spark. | Dopo aver stabilito la connessione SSH, ti troverai nella console Hadoop.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/multi-az-failover-spark-emr-clusters-arc.html) | AWS DevOps | 
| Monitora l'applicazione Spark. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/multi-az-failover-spark-emr-clusters-arc.html) | AWS DevOps | 

### Sposta il traffico verso un'altra zona di disponibilità
<a name="shift-traffic-to-another-availability-zone"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un Application Load Balancer. | Configura il gruppo target che indirizza il traffico tra i nodi master di Amazon EMR distribuiti su due zone di disponibilità all'interno di una. Regione AWSPer istruzioni, consulta [Creare un gruppo target per il tuo Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-target-group.html) nella documentazione di Elastic Load Balancing. | AWS DevOps | 
| Configura lo spostamento zonale in Application Recovery Controller. | In questo passaggio, utilizzerai la [funzionalità di spostamento zonale](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.html) in Application Recovery Controller per spostare il traffico verso un'altra zona di disponibilità.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/multi-az-failover-spark-emr-clusters-arc.html)Per utilizzare il AWS CLI, consulta [Esempi di utilizzo di AWS CLI with zonal shift](https://docs.aws.amazon.com/r53recovery/latest/dg/getting-started-cli-zonalshift.html) nella documentazione di Application Recovery Controller. | AWS DevOps | 
| Verifica la configurazione e l'avanzamento dei turni zonali. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/multi-az-failover-spark-emr-clusters-arc.html) | AWS DevOps | 

## Risorse correlate
<a name="multi-az-failover-spark-emr-clusters-arc-resources"></a>
+ AWS CLI comandi:
  + [create-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/emr/create-cluster.html)
  + [describe-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/emr/describe-cluster.html)
  + [arc-zonal-shift](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/arc-zonal-shift/index.html)
+ [Configurazione dei tipi di istanze del cluster Amazon EMR e delle best practice per le istanze Spot](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances-guidelines.html) (documentazione Amazon EMR)
+ [Le migliori pratiche di sicurezza in IAM (documentazione IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html))
+ [Usa i profili di istanza](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) (documentazione IAM)
+ [Usa zonal shift e zonal autoshift per ripristinare le applicazioni in ARC (documentazione dell'Application Recovery](https://docs.aws.amazon.com/r53recovery/latest/dg/multi-az.html) Controller)