

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

# Usa il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS
<a name="service-load-balancing"></a>

È possibile scegliere di configurare il servizio per l'utilizzo del bilanciamento del carico elastico per l'implementazione uniforme del traffico fra le attività nel servizio.

**Nota**  
Quando si utilizzano set di processi, tutti i processi del set devono essere configurati per utilizzare Elastic Load Balancing o non utilizzare Elastic Load Balancing. 

I servizi Amazon ECS ospitati su AWS Fargate supportano Application Load Balancer, Network Load Balancer e Gateway Load Balancer. Utilizzare la tabella seguente per ottenere maggiori informazioni sul tipo bilanciatore del carico da utilizzare.


| Tipo di bilanciatore del carico | Utilizzare in questi casi | 
| --- | --- | 
|  Application Load Balancer  | Traffico di routing HTTP/HTTPS (o livello 7).Gli Application Load Balancer offrono diverse funzionalità che li rendono particolarmente appropriati per l'uso con i servizi Amazon ECS: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/service-load-balancing.html) | 
| Network Load Balancer | Instradare il traffico TCP o UDP (o livello 4). | 
| Gateway Load Balancer | Instradare il traffico TCP o UDP (o livello 4). Usare le appliance virtuali, come firewall, sistemi di prevenzione e rilevamento delle intrusioni, e sistemi di ispezione approfondita dei pacchetti. | 

È consigliabile utilizzare gli Application Load Balancer per i tuoi servizi Amazon ECS, in modo da sfruttare queste funzioni recenti, a meno che il servizio non richieda una funzionalità disponibile solo con i Network Load Balancer o Gateway Load Balancer. Per ulteriori informazioni sull'Elastic Load Balancing e le differenze tra questi tipi di load balancer, consulta la [Guida per l'utente di Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).

Con il load balancer paghi solo in base all'uso effettivo. Per ulteriori informazioni, consultare [Prezzi di Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/pricing/). 

# Ottimizzare i parametri di controllo dell’integrità del bilanciatore del carico per Amazon ECS
<a name="load-balancer-healthcheck"></a>

I bilanciatori del carico instradano le richieste solamente sui target integri all'interno delle zone di disponibilità per il bilanciatore del carico. Ogni destinazione è registrata in un gruppo di destinazione. Il bilanciatore del carico controlla l'integrità di ogni destinazione, utilizzando le impostazioni di controllo dell'integrità del gruppo di destinazione. Dopo aver registrato una destinazione, deve superare un controllo dell'integrità per essere considerata integra. Amazon ECS monitora il bilanciatore del carico. Il bilanciatore del carico invia periodicamente controlli dell'integrità al container di Amazon ECS. L'agente Amazon ECS monitora e attende che il bilanciatore del carico riferisca sull'integrità del container. Ciò avviene prima di considerare il container in uno stato integro.

Due parametri di controllo dell'integrità del bilanciamento del carico elastico influiscono sulla velocità di implementazione:
+ Intervallo del controllo dell'integrità: determina il periodo di tempo approssimativo, in secondi, tra i controlli dell'integrità di un singolo container. Per impostazione predefinita, il bilanciatore del carico effettua i controlli ogni 30 secondi.

  Questo parametro è nominato:
  + `HealthCheckIntervalSeconds` nell'API di bilanciamento del carico elastico
  + **Intervallo** sulla console Amazon EC2
+ Numero di soglia di integrità: determina il numero di controlli dell'integrità consecutivi superati necessari prima di considerare integro un container non integro. Per impostazione predefinita, il bilanciatore del carico richiede il superamento di cinque controlli di integrità prima di segnalare che il container di destinazione è integro.

  Questo parametro è nominato:
  + `HealthyThresholdCount` nell'API di bilanciamento del carico elastico
  + **Soglia di integrità** sulla console Amazon EC2

**Importante:** per le destinazioni appena registrate, è necessario un solo controllo dell'integrità riuscito per considerare la destinazione integra, indipendentemente dall'impostazione del conteggio delle soglie di integrità. Il numero delle soglie di integrità si applica solo quando una destinazione passa da uno stato non integro a uno stato integro.

Con le impostazioni predefinite, se una destinazione diventa non integra e viene ripristinata, il tempo totale per determinare l'integrità di un container è di due minuti e 30 secondi (`30 seconds * 5 = 150 seconds`).

È possibile accelerare il processo di controllo dell'integrità se il servizio si avvia e si stabilizza in meno di 10 secondi. Per accelerare il processo, ridurre l'intervallo del controllo dell'integrità e il numero delle soglie di integrità.
+ `HealthCheckIntervalSeconds` (nome dell'API di bilanciamento del carico elastico) o **Intervallo** (nome della console Amazon EC2): 5
+ `HealthyThresholdCount` (nome dell'API di bilanciamento del carico elastico) o **Soglia di integrità** (nome della console Amazon EC2): 2

Con questa impostazione, il processo di controllo dell'integrità richiede 10 secondi rispetto all'impostazione predefinita di due minuti e 30 secondi.

Per ulteriori informazioni sui parametri del controllo dell'integrità del bilanciamento del carico elastico, consultare [Health checks for your target groups](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) nella *Guida per l'utente del bilanciamento del carico elastico*.

# Ottimizzazione dei parametri di svuotamento della connessione del bilanciatore del carico per Amazon ECS
<a name="load-balancer-connection-draining"></a>

Per consentire l'ottimizzazione, i client mantengono una connessione keep-alive al servizio container. Ciò consente alle richieste successive di quel client di riutilizzare la connessione esistente. Quando si desidera interrompere il traffico verso un container, si invia una notifica al bilanciatore del carico. Il bilanciatore del carico controlla periodicamente se il client ha chiuso la connessione keep-alive. Amazon ECS monitora il bilanciatore del carico e attende che il bilanciatore del carico segnali che la connessione keep-alive è chiusa (la destinazione è in uno stato `UNUSED`).

La quantità di tempo che il bilanciatore del carico attende per spostare la destinazione verso lo stato `UNUSED` corrisponde al ritardo di annullamento della registrazione. È possibile configurare il seguente parametro del bilanciatore del carico per velocizzare le implementazioni.
+ `deregistration_delay.timeout_seconds`: 300 (impostazione predefinita)

Se si dispone di un servizio con un tempo di risposta inferiore a 1 secondo, impostare il parametro sul valore seguente per fare in modo che il bilanciatore del carico attenda solo 5 secondi prima di interrompere la connessione tra il client e il servizio di backend: 
+ `deregistration_delay.timeout_seconds`: 5 

**Nota**  
Non impostare il valore su 5 secondi quando si dispone di un servizio con richieste di lunga durata, come caricamenti lenti di file o connessioni in streaming.

## Reattività SIGTERM
<a name="sigterm"></a>

Amazon ECS invia innanzitutto un segnale di arresto all'attività per notificare che l'applicazione deve essere completata e chiusa. Questo segnale può essere definito nell'immagine del contenitore con l'istruzione STOPSIGNAL e verrà impostato automaticamente su SIGTERM. Poi, Amazon ECS invia un messaggio SIGKILL. Quando le applicazioni ignorano il SIGTERM, il servizio Amazon ECS deve attendere l'invio del segnale SIGKILL per terminare il processo. 

La quantità di tempo che Amazon ECS attende per inviare il messaggio SIGKILL è determinata dalla seguente opzione dell'agente di Amazon ECS:
+ `ECS_CONTAINER_STOP_TIMEOUT`: 30 (impostazione predefinita)

  Per ulteriori informazioni sul parametro Container Agent, consulta [Amazon ECS Container Agent](https://github.com/aws/amazon-ecs-agent/blob/master/README.md) on GitHub.

Per accelerare il periodo di attesa, impostare il parametro dell'agente Amazon ECS sul valore seguente:
+ `ECS_CONTAINER_STOP_TIMEOUT`: 2

  Se l'applicazione impiega più di 1 secondo, moltiplicare il valore per 2 e usare quel numero come valore.

In questo caso, Amazon ECS attende 2 secondi che il container si arresti, quindi invia un messaggio SIGKILL quando l'applicazione non si ferma.

È anche possibile modificare il codice dell'applicazione per intercettare il segnale SIGTERM e reagire ad esso. Di seguito è riportato un esempio in JavaScript: 

```
process.on('SIGTERM', function() { 
  server.close(); 
})
```

Questo codice fa sì che il server HTTP smetta di ascoltare eventuali nuove richieste, finisca di rispondere a tutte le richieste in corso e quindi il processo Node.js termina perché il ciclo di eventi non ha nulla da fare. Pertanto, se impiega solo 500 ms per completare le richieste in corso, termina in anticipo senza dover attendere il timeout di arresto e ricevere un SIGKILL. 

# Utilizzo di un Application Load Balancer per Amazon ECS
<a name="alb"></a>

Un Application Load Balancer seleziona il routing a livello di applicazione (HTTP/HTTPS), supporta il routing in base al percorso e può instradare le richieste a una o più porte su ogni istanza di container nel cluster. Gli Application Load Balancer supportano la mappatura dinamica delle porte dell'host. Ad esempio, se la tua definizione del container del processo specifica la porta 80 per una porta di container NGINX e la porta 0 per la porta dell'host, quest'ultima viene selezionata in modo dinamico nell'intervallo di porte temporaneo dell'istanza di container (ad esempio da 32768 a 61000 nell'AMI ottimizzata per Amazon ECS più recente). Una volta avviata l'attività, il container NGINX viene registrato nell'Application Load Balancer come combinazione di ID istanza e porta, mentre il traffico viene instradato all'ID istanza e alla porta corrispondenti a tale container. Con la mappatura dinamica possono essere presenti più attività di un unico servizio sulla stessa istanza di container. Per ulteriori informazioni, consultare la [Guida per l'utente per Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/).

Per informazioni sulle best practice per impostare i parametri per velocizzare le implementazioni, consultare:
+ [Ottimizzare i parametri di controllo dell’integrità del bilanciatore del carico per Amazon ECS](load-balancer-healthcheck.md)
+ [Ottimizzazione dei parametri di svuotamento della connessione del bilanciatore del carico per Amazon ECS](load-balancer-connection-draining.md)

Quando si utilizzano gli Application Load Balancer con Amazon ECS, tenere presenti le considerazioni seguenti:
+ Amazon ECS richiede il ruolo IAM collegato al servizio, che fornisce le autorizzazioni necessarie per eseguire e annullare la registrazione delle destinazioni nel tuo load balancer al momento dell'avvio e dell'arresto dei processi. Per ulteriori informazioni, consulta [Uso di ruoli collegati ai servizi per Amazon ECS](using-service-linked-roles.md).
+ Per i servizi in una configurazione IPv6 -only, è necessario impostare il tipo di indirizzo IP del gruppo di destinazione dell'Application Load Balancer `dualstack` su o. `dualstack-without-public-ipv4`
+ Per i servizi con attività che utilizzano la modalità di rete `awsvpc`, quando si crea un gruppo di destinazione per il servizio, è necessario scegliere `ip` come tipo di destinazione e non `instance`. Il motivo è che i processi che usano la modalità di rete `awsvpc` sono associati a un'interfaccia di rete elastica e non a un'istanza Amazon EC2.
+ Se il servizio richiede l'accesso a più porte con bilanciamento del carico, ad esempio la porta 80 e la porta 443 per un HTTP/HTTPS servizio, è possibile configurare due listener. Un listener è responsabile di HTTPS che inoltra la richiesta al servizio e un altro listener responsabile del reindirizzamento delle richieste HTTP alla porta HTTPS appropriata. Per ulteriori informazioni, consultare [Create a listener to your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-listener.html) nella *Guida per l'utente per Application Load Balancer*.
+ La configurazione della sottorete del load balancer deve includere tutte le zone di disponibilità in cui risiedono le tue istanze di container.
+ Dopo aver creato un servizio, la configurazione del load balancer non può essere modificata dalla Console di gestione AWS. È possibile utilizzare AWS Copilot AWS CLI o SDK per modificare la configurazione del bilanciamento del carico solo per il controller di distribuzione `ECS` mobile, non blu/verde o esterno. AWS CloudFormation AWS CodeDeploy Quando aggiungi, aggiorni o rimuovi una configurazione del load balancer, Amazon ECS avvia una nuova implementazione con la configurazione aggiornata di Elastic Load Balancing. Questo causa la registrazione e l'annullamento della registrazione dai load balancer. Si consiglia di verificarlo in un ambiente di test prima di aggiornare la configurazione di Elastic Load Balancing. Per informazioni su come modificare la configurazione, consulta il *riferimento [UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html)all'API di Amazon Elastic Container Service*. 
+ Se l'attività di un servizio non supera i criteri di controllo dell'integrità previsti per il bilanciatore del carico, viene arrestata e riavviata. Questo processo continua finché il servizio raggiunge il numero desiderato di attività in esecuzione.
+ Se riscontri problemi con i servizi abilitati per il load balancer, consulta [Risoluzione dei problemi dei bilanciatori del carico per il servizio in Amazon ECS](troubleshoot-service-load-balancers.md).
+ Quando si utilizza il tipo di destinazione `instance`, le attività e il bilanciatore del carico devono trovarsi nello stesso VPC. Quando si utilizza il tipo di destinazione `ip`, è supportata la connettività tra VPC.
+ Utilizzare un gruppo di destinazione unico per ogni servizio. 

  L'utilizzo dello stesso gruppo di destinazione per più servizi potrebbe causare problemi durante le implementazioni dei servizi.
+ È necessario specificare i gruppi target associati a un Application Load Balancer.

Per informazioni su come creare un Application Load Balancer, consultare [Create an Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) in *Application Load Balancer*

# Utilizzo di un Network Load Balancer per Amazon ECS
<a name="nlb"></a>

Un Network Load Balancer seleziona il routing a livello di trasporto (TCP/SSL). È in grado di gestire milioni di richieste al secondo. Dopo aver ricevuto una connessione, il bilanciatore del carico seleziona una destinazione dal gruppo di destinazione per la regola predefinita, utilizzando un algoritmo di routing per l'hash del flusso. Tenta quindi di aprire una connessione TCP per la destinazione selezionata sulla porta specificata nella configurazione del listener, Inoltra la richiesta senza modificare le intestazioni. I Network Load Balancer supportano la mappatura dinamica delle porte dell'host. Ad esempio, se la tua definizione del container del processo specifica la porta 80 per una porta di container NGINX e la porta 0 per la porta dell'host, quest'ultima viene selezionata in modo dinamico nell'intervallo di porte temporaneo dell'istanza di container (ad esempio da 32768 a 61000 nell'AMI ottimizzata per Amazon ECS più recente). Una volta avviata l'attività, il container NGINX viene registrato con il Network Load Balancer come combinazione di ID istanza e porta, mentre il traffico viene instradato all'ID istanza e alla porta corrispondenti a tale container. Con la mappatura dinamica possono essere presenti più attività di un unico servizio sulla stessa istanza di container. Per ulteriori informazioni, consultare [User Guide for Network Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/).

Per informazioni sulle best practice per impostare i parametri per velocizzare le implementazioni, consultare:
+ [Ottimizzare i parametri di controllo dell’integrità del bilanciatore del carico per Amazon ECS](load-balancer-healthcheck.md)
+ [Ottimizzazione dei parametri di svuotamento della connessione del bilanciatore del carico per Amazon ECS](load-balancer-connection-draining.md)

Quando si utilizzano i Network Load Balancer con Amazon ECS, tenere presenti le considerazioni seguenti:
+ Amazon ECS richiede il ruolo IAM collegato al servizio, che fornisce le autorizzazioni necessarie per eseguire e annullare la registrazione delle destinazioni nel tuo load balancer al momento dell'avvio e dell'arresto dei processi. Per ulteriori informazioni, consultare [Uso di ruoli collegati ai servizi per Amazon ECS](using-service-linked-roles.md).
+ Non è possibile collegare più di cinque gruppi di destinazione a un servizio.
+ Per i servizi in una configurazione IPv6 -only, è necessario impostare il tipo di indirizzo IP del gruppo di destinazione del Network Load `dualstack` Balancer su.
+ Per i servizi con attività che utilizzano la modalità di rete `awsvpc`, quando si crea un gruppo di destinazione per il servizio, è necessario scegliere `ip` come tipo di destinazione e non `instance`. Il motivo è che i processi che usano la modalità di rete `awsvpc` sono associati a un'interfaccia di rete elastica e non a un'istanza Amazon EC2.
+ La configurazione della sottorete del load balancer deve includere tutte le zone di disponibilità in cui risiedono le tue istanze di container.
+ Dopo aver creato un servizio, la configurazione del load balancer non può essere modificata dalla Console di gestione AWS. È possibile utilizzare AWS Copilot AWS CLI o SDK per modificare la configurazione del bilanciamento del carico solo per il controller di distribuzione `ECS` mobile, non blu/verde o esterno. AWS CloudFormation AWS CodeDeploy Quando aggiungi, aggiorni o rimuovi una configurazione del load balancer, Amazon ECS avvia una nuova implementazione con la configurazione aggiornata di Elastic Load Balancing. Questo causa la registrazione e l'annullamento della registrazione dai load balancer. Si consiglia di verificarlo in un ambiente di test prima di aggiornare la configurazione di Elastic Load Balancing. Per informazioni su come modificare la configurazione, consulta il *riferimento [UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html)all'API di Amazon Elastic Container Service*. 
+ Se l'attività di un servizio non supera i criteri di controllo dell'integrità previsti per il bilanciatore del carico, viene arrestata e riavviata. Questo processo continua finché il servizio raggiunge il numero desiderato di attività in esecuzione.
+ Quando si utilizza un Gateway Load Balancer configurato con indirizzi IP come destinazioni e la conservazione dell'IP client è disabilitata, le richieste vengono viste come provenienti dall'indirizzo IP privato del Gateway Load Balancer. Ciò significa che i servizi dietro un Gateway Load Balancer vengono effettivamente aperti al mondo non appena si consentono le richieste in entrata e i controlli di integrità nel gruppo di sicurezza di destinazione.
+ Per le attività di Fargate, è necessario utilizzare la versione della piattaforma `1.4.0` (Linux) o `1.0.0` (Windows).
+ Se riscontri problemi con i servizi abilitati per il load balancer, consulta [Risoluzione dei problemi dei bilanciatori del carico per il servizio in Amazon ECS](troubleshoot-service-load-balancers.md).
+ Quando si utilizza il tipo di destinazione `instance`, le attività e il bilanciatore del carico devono trovarsi nello stesso VPC. Quando si utilizza il tipo di destinazione `ip`, è supportata la connettività tra VPC.
+ La conservazione dell'indirizzo IP client del Network Load Balancer è compatibile con le destinazioni Fargate.
+ Utilizzare un gruppo di destinazione unico per ogni servizio. 

  L'utilizzo dello stesso gruppo di destinazione per più servizi potrebbe causare problemi durante le implementazioni dei servizi.
+ È necessario specificare i gruppi target associati a un Network Load Balancer.

Per informazioni su come creare un Network Load Balancer, consultare [Creare un Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) in *Network Load Balancer*

**Importante**  
Se la definizione di attività del servizio usa la modalità di rete `awsvpc`, necessaria per Fargate, è necessario scegliere `ip` come tipo di destinazione e non `instance`. Il motivo è che i processi che usano la modalità di rete `awsvpc` sono associati a un'interfaccia di rete elastica e non a un'istanza Amazon EC2.   
Non è possibile registrare le istanze per ID di istanza se hanno i seguenti tipi di istanza: C1,,, CC1, CC2, CG1, G1 CG2 CR1, G2,, M1, M2 HI1 HS1, M3 e T1. È possibile registrare le istanze di questi tipi in base all'indirizzo IP. 

# Utilizzo di un Gateway Load Balancer per Amazon ECS
<a name="glb"></a>

Un Gateway Load Balancer funziona al terzo livello del modello Open Systems Interconnection (OSI), il livello di rete. È in ascolto per tutti i pacchetti IP attraverso tutte le porte e inoltra il traffico al gruppo di destinazione specificato nella regola del listener. Mantiene la persistenza dei flussi verso un dispositivo di destinazione specifico utilizzando 5 tuple (per i flussi) o 3 tuple (per i flussi non TCP/UDP). TCP/UDP Ad esempio, se la tua definizione del container del processo specifica la porta 80 per una porta di container NGINX e la porta 0 per la porta dell'host, quest'ultima viene selezionata in modo dinamico nell'intervallo di porte temporaneo dell'istanza di container (ad esempio da 32768 a 61000 nell'AMI ottimizzata per Amazon ECS più recente). Una volta avviata l'attività, il container NGINX viene registrato con il Gateway Load Balancer come combinazione di ID istanza e porta, mentre il traffico viene instradato all'ID istanza e alla porta corrispondenti a tale container. Con la mappatura dinamica possono essere presenti più attività di un unico servizio sulla stessa istanza di container. Per ulteriori informazioni, consultare [What is a Gateway Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html) in *Gateway Load Balancer*.

Per informazioni sulle best practice per impostare i parametri per velocizzare le implementazioni, consultare:
+ [Ottimizzare i parametri di controllo dell’integrità del bilanciatore del carico per Amazon ECS](load-balancer-healthcheck.md)
+ [Ottimizzazione dei parametri di svuotamento della connessione del bilanciatore del carico per Amazon ECS](load-balancer-connection-draining.md)

Quando si utilizzano i Gateway Load Balancer con Amazon ECS, tenere presenti le considerazioni seguenti:
+ Amazon ECS richiede il ruolo IAM collegato al servizio, che fornisce le autorizzazioni necessarie per eseguire e annullare la registrazione delle destinazioni nel tuo load balancer al momento dell'avvio e dell'arresto dei processi. Per ulteriori informazioni, consulta [Uso di ruoli collegati ai servizi per Amazon ECS](using-service-linked-roles.md).
+ Per i servizi in una configurazione IPv6 solo, è necessario impostare il tipo di indirizzo IP del gruppo di destinazione del Gateway Load `dualstack` Balancer su.
+ Per i servizi con attività che utilizzano una modalità di rete diversa da `awsvpc`, i Gateway Load Balancer non sono supportati.
+ La configurazione della sottorete del load balancer deve includere tutte le zone di disponibilità in cui risiedono le tue istanze di container.
+ Dopo aver creato un servizio, la configurazione del load balancer non può essere modificata dalla Console di gestione AWS. È possibile utilizzare AWS Copilot AWS CLI o SDK per modificare la configurazione del load balancer solo per il controller di distribuzione `ECS` mobile, non blu/verde o esterno. AWS CloudFormation AWS CodeDeploy Quando aggiungi, aggiorni o rimuovi una configurazione del load balancer, Amazon ECS avvia una nuova implementazione con la configurazione aggiornata di Elastic Load Balancing. Questo causa la registrazione e l'annullamento della registrazione dai load balancer. Si consiglia di verificarlo in un ambiente di test prima di aggiornare la configurazione di Elastic Load Balancing. Per informazioni su come modificare la configurazione, consulta il *riferimento [UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html)all'API di Amazon Elastic Container Service*. 
+ Se l'attività di un servizio non supera i criteri di controllo dell'integrità previsti per il bilanciatore del carico, viene arrestata e riavviata. Questo processo continua finché il servizio raggiunge il numero desiderato di attività in esecuzione.
+ Quando si utilizza un Gateway Load Balancer configurato con indirizzi IP come destinazioni, le richieste vengono viste come provenienti dall'indirizzo IP privato del Gateway Load Balancer. Ciò significa che i servizi dietro un Gateway Load Balancer vengono effettivamente aperti al mondo non appena si consentono le richieste in entrata e i controlli di integrità nel gruppo di sicurezza di destinazione.
+ Per le attività di Fargate, è necessario utilizzare la versione della piattaforma `1.4.0` (Linux) o `1.0.0` (Windows).
+ Se riscontri problemi con i servizi abilitati per il load balancer, consulta [Risoluzione dei problemi dei bilanciatori del carico per il servizio in Amazon ECS](troubleshoot-service-load-balancers.md).
+ Quando si utilizza il tipo di destinazione `instance`, le attività e il bilanciatore del carico devono trovarsi nello stesso VPC. Quando si utilizza il tipo di destinazione `ip`, è supportata la connettività tra VPC.
+ Utilizzare un gruppo di destinazione unico per ogni servizio. 

  L'utilizzo dello stesso gruppo di destinazione per più servizi potrebbe causare problemi durante le implementazioni dei servizi.
+ È necessario specificare i gruppi target associati a un Gateway Load Balancer.

Per informazioni su come creare un Gateway Load Balancer, consultare [Getting started with Gateway Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/getting-started.html) in *Gateway Load Balancer*

**Importante**  
Se la definizione di attività del servizio usa la modalità di rete `awsvpc`, necessaria per Fargate, è necessario scegliere `ip` come tipo di destinazione e non `instance`. Il motivo è che i processi che usano la modalità di rete `awsvpc` sono associati a un'interfaccia di rete elastica e non a un'istanza Amazon EC2.   
Non è possibile registrare le istanze per ID di istanza se hanno i seguenti tipi di istanza: C1,,, CC1, CC2, CG1, G1 CG2 CR1, G2,, M1, M2 HI1 HS1, M3 e T1. È possibile registrare le istanze di questi tipi in base all'indirizzo IP. 

# Registrazione di più gruppi di destinazione con un servizio Amazon ECS
<a name="register-multiple-targetgroups"></a>

Il servizio Amazon ECS è in grado di servire traffico proveniente da più load balancer ed esporre più porte con carico bilanciato quando si specificano più gruppi di destinazione in una definizione del servizio.

Per creare un servizio che specifichi più gruppi target, devi creare il servizio utilizzando l'API Amazon ECS, l'SDK o un AWS CLI modello. CloudFormation Dopo aver creato il servizio, è possibile visualizzare il servizio e i gruppi di destinazione registrati in esso con la Console di gestione AWS. Devi utilizzare `[UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html)` per modificare la configurazione del load balancer di un servizio esistente.

Più gruppi di destinazione possono essere specificati in una definizione del servizio utilizzando il formato seguente. Per la sintassi completa di una definizione di servizio, vedere [Modello di definizione del servizio](sd-template.md).

```
"loadBalancers":[
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456",
      "containerName":"container_name",
      "containerPort":container_port
   },
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321",
      "containerName":"container_name",
      "containerPort":container_port
   }
]
```

## Considerazioni
<a name="multiple-targetgroups-considerations"></a>

Considera quanto segue durante la specifica di più gruppi di destinazione in una definizione del servizio:
+ Per i servizi che utilizzano Application Load Balancer o un Network Load Balancer (load balancer di rete), non è possibile collegare più di cinque gruppi di destinazione a un servizio.
+ La specifica di più gruppi di destinazione in una definizione di servizio è supportata solo nelle seguenti condizioni:
  + Il servizio deve utilizzare un sistema Application Load Balancer o un Network Load Balancer.
  + Il servizio deve utilizzare il tipo di controller di implementazione (`ECS`). Può trattarsi della distribuzione native/blue ecologica di Amazon ECS o della distribuzione di aggiornamento progressivo.
+ La specifica di più gruppi di destinazione è supportata per servizi contenenti processi che utilizzano entrambi i tipi di avvio Fargate e EC2.
+ Durante la creazione di un servizio che specifica più gruppi di destinazione, è necessario creare il ruolo collegato ai servizi Amazon ECS. Il ruolo viene creato omettendo il parametro `role` nelle richieste API o la proprietà `Role` in CloudFormation. Per ulteriori informazioni, consulta [Uso di ruoli collegati ai servizi per Amazon ECS](using-service-linked-roles.md).

## Definizioni del servizio di esempio
<a name="multiple-targetgroups-examples"></a>

Di seguito sono riportati alcuni casi d'uso per la specifica di più gruppi di destinazione in una definizione del servizio. Per la sintassi completa di una definizione di servizio, vedere [Modello di definizione del servizio](sd-template.md).

### Disporre di load balancer separati per il traffico interno ed esterno
<a name="multiple-targetgroups-example1"></a>

Nel seguente caso d'uso, un servizio utilizza due load balancer separati, uno per il traffico interno e un secondo per il traffico della connessione Internet, per lo stesso container e porta.

```
"loadBalancers":[
   //Internal ELB
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456",
      "containerName":"nginx",
      "containerPort":8080
   },
   //Internet-facing ELB
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321",
      "containerName":"nginx",
      "containerPort":8080
   }
]
```

### Esporre più porte dallo stesso container
<a name="multiple-targetgroups-example1"></a>

Nel seguente caso d'uso, un servizio utilizza un load balancer, ma espone più porte dallo stesso container. Ad esempio, un container Jenkins potrebbe esporre la porta 8080 per l'interfaccia Web Jenkins e la porta 50000 per l'API.

```
"loadBalancers":[
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456",
      "containerName":"jenkins",
      "containerPort":8080
   },
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321",
      "containerName":"jenkins",
      "containerPort":50000
   }
]
```

### Esporre porte da più container
<a name="multiple-targetgroups-example3"></a>

Nel seguente caso d'uso, un servizio utilizza un load balancer e due gruppi di destinazione per esporre porte da container separati.

```
"loadBalancers":[
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456",
      "containerName":"webserver",
      "containerPort":80
   },
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321",
      "containerName":"database",
      "containerPort":3306
   }
]
```