

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

# Architetto per la EC2 capacità di Amazon ECS
<a name="launch-type-ec2"></a>

Usa la EC2 capacità per carichi di lavoro di grandi dimensioni che devono essere ottimizzati in termini di prezzo.

Quando si considera come modellare le definizioni delle attività e i servizi utilizzando EC2, si consiglia di considerare quali processi devono essere eseguiti insieme e come è possibile ridimensionare ciascun componente.

Ad esempio, immagina un'applicazione che comprende i seguenti componenti:
+ Un servizio frontend che visualizza le informazioni su una pagina Web
+ Un servizio di backend che fornisce il servizio di APIs frontend
+ Un datastore

Per questo esempio, crea definizioni di attività che raggruppino i container utilizzati per scopi comuni. Dividi i diversi componenti in definizioni di attività multiple. Il seguente esempio di cluster presenta tre istanze di container su cui vengono eseguiti tre container per i servizi frontend, due container per i servizi backend e un container per i servizi di datastore. 

Puoi raggruppare i container correlati in una definizione di attività, ad esempio i container collegati che devono essere eseguiti contemporaneamente. Ad esempio, aggiungi un container per lo streaming dei log al servizio frontend, includendolo nella stessa definizione di attività.

Una volta configurate, dalle definizioni di attività puoi creare dei servizi per mantenere la disponibilità dei tuoi processi desiderati. Per ulteriori informazioni, consulta [Creazione di un'implementazione di aggiornamenti continui di Amazon ECS](create-service-console-v2.md). Nei servizi, puoi associare i container mediante i bilanciatori del carico di Elastic Load Balancing. Per ulteriori informazioni, consulta [Usa il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS](service-load-balancing.md). Quando le tue esigenze relative alle applicazioni cambiano, puoi aggiornare i tuoi servizi per incrementare o ridurre il numero di attività desiderate. In alternativa, puoi aggiornare i servizi per implementare versioni più recenti dei container nelle attività. Per ulteriori informazioni, consulta [Aggiornamento di un servizio Amazon ECS](update-service-console-v2.md).

![\[Esempio di architettura di applicazione con tre istanze. L'istanza 1 dispone di un container di servizi frontend e un container di servizi di database. L'istanza 2 e l'istanza 3 dispongono di un container di servizi front-end e di un container di servizi backend.\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/images/application.png)


# Comportamento di estrazione dell'immagine del contenitore per EC2 istanze esterne su Amazon ECS
<a name="pull-behavior"></a>

Il tempo impiegato da un container per l'avvio varia in base alla sua immagine sottostante. Ad esempio, un'immagine più grande (versioni complete di Debian, Ubuntu e Amazon1/2) potrebbe richiedere più tempo per l'avvio per la presenza di più servizi in esecuzione nei container rispetto alle rispettive versioni minori (di Debian, Ubuntu e Amazon) o alle immagini di base più piccole (Alpine).

Quando l'agente Amazon ECS avvia un'attività, estrae l'immagine Docker dal registro remoto e memorizza nella cache una copia locale. Quando utilizzi un nuovo tag di immagine per ogni versione dell'applicazione, questo comportamento non è necessario. 

Il parametro dell'agente `ECS_IMAGE_PULL_BEHAVIOR` determina il comportamento di estrazione dell'immagine. Sono disponibili le seguenti opzioni:
+ `ECS_IMAGE_PULL_BEHAVIOR`: `default`

  L'immagine verrà estratta da remoto. Se l'estrazione fallisce, viene utilizzata l'immagine memorizzata nella cache dell'istanza.
+ `ECS_IMAGE_PULL_BEHAVIOR`: `always`

  L'immagine verrà estratta da remoto. Se l'estrazione ha esito negativo, lo ha anche l'operazione.

Per accelerare l'implementazione, imposta il parametro dell'agente Amazon ECS su uno dei seguenti valori: 
+ `ECS_IMAGE_PULL_BEHAVIOR`: `once`

  L'immagine viene estratta in remoto solo se non è stata estratta da un'attività precedente nella stessa istanza di container o se l'immagine memorizzata nella cache è stata rimossa dal processo di pulizia dell'immagine automatizzato. In caso contrario, viene utilizzata l'immagine memorizzata nella cache dell'istanza. In questo modo si ha la garanzia che non vengano eseguite estrazioni di immagini non necessarie. 
+ `ECS_IMAGE_PULL_BEHAVIOR`: `prefer-cached`

  L'immagine viene estratta da remoto se non esiste un'immagine memorizzata nella cache. In caso contrario, viene utilizzata l'immagine memorizzata nella cache dell'istanza. La pulizia automatizzata dell'immagine è disattivata per il container, per avere la certezza che l'immagine memorizzata nella cache non venga rimossa. 

L'impostazione del parametro `ECS_IMAGE_PULL_BEHAVIOR` su uno dei valori precedenti può far risparmiare tempo perché l'agente Amazon ECS utilizza l'immagine scaricata esistente. Per immagini Docker più grandi, il download per il trasferimento dalla rete potrebbe richiedere 10-20 secondi.