

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

# Interconnessione dei servizi Amazon ECS
<a name="interconnecting-services"></a>

Le applicazioni eseguite nelle attività di Amazon ECS spesso devono ricevere connessioni da Internet o connettersi ad altre applicazioni eseguite nei servizi Amazon ECS. Se hai bisogno di connessioni esterne da Internet, consigliamo di utilizzare Elastic Load Balancing. Per ulteriori informazioni sul bilanciamento del carico integrato, consulta [Usa il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS](service-load-balancing.md).

Se hai bisogno di un'applicazione per connetterti ad altre applicazioni eseguite nei servizi Amazon ECS, Amazon ECS offre i modi seguenti per farlo senza un sistema di bilanciamento del carico:
+ *Amazon ECS Service Connect*

  Consigliamo Service Connect, che fornisce la configurazione di Amazon ECS per il rilevamento servizi, la connettività e il monitoraggio del traffico. Con Service Connect, le tue applicazioni possono utilizzare nomi brevi e porte standard per connettersi ai servizi Amazon ECS nello stesso cluster o VPCs in altri cluster, anche all'interno dello stesso. Regione AWS

  Quando si utilizza Service Connect, Amazon ECS gestisce tutte le parti del rilevamento servizi: crea i nomi che possono essere rilevati, gestisce dinamicamente le voci per ogni attività all'inizio e all'interruzione, esegue un agente in ogni attività configurato per rilevare i nomi. L'applicazione può cercare i nomi utilizzando la funzionalità standard per i nomi DNS e stabilendo connessioni. Se l'applicazione lo fa già, non è necessario modificare l'applicazione per utilizzare Service Connect.

  Si fornisce la configurazione completa all'interno di ogni definizione di servizio e attività. Amazon ECS gestisce le modifiche a questa configurazione in ogni implementazione del servizio, per garantire che tutte le attività di un'implementazione si comportino nello stesso modo. Ad esempio, un problema comune relativo al DNS come rilevamento servizi è il controllo di una migrazione. Se si modifica un nome DNS in modo che punti ai nuovi indirizzi IP sostitutivi, potrebbe essere necessario il tempo TTL massimo prima che tutti i client inizino a utilizzare il nuovo servizio. Con Service Connect, l'implementazione del client aggiorna la configurazione sostituendo le attività del client. È possibile configurare l'interruttore automatico di implementazione e altre configurazioni di implementazione per influire sulle modifiche di Service Connect allo stesso modo di qualsiasi altra implementazione.

  Per ulteriori informazioni, consultare [Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi](service-connect.md).
+ *Individuazione dei servizi di Amazon ECS*

  Un altro approccio alla service-to-service comunicazione è la comunicazione diretta tramite service discovery. In questo approccio, si può utilizzare l'integrazione del rilevamento servizi di AWS Cloud Map con Amazon ECS. Utilizzando service discovery, Amazon ECS sincronizza l'elenco delle attività avviate con AWS Cloud Map, che mantiene un nome host DNS che si risolve negli indirizzi IP interni di una o più attività di quel particolare servizio. Altri servizi nel VPC di Amazon possono utilizzare questo nome host DNS per inviare il traffico direttamente a un altro container utilizzando il suo indirizzo IP interno. 

  Questo approccio alla comunicazione offre una bassa latenza. service-to-service Non ci sono componenti aggiuntivi tra i container. Il traffico viaggia direttamente da un container all'altro.

  Questo approccio è adatto quando si utilizza la modalità di rete `awsvpc`, in cui ogni attività ha il proprio indirizzo IP univoco. La maggior parte dei software supporta solo l'uso di record `A` del DNS, che si risolvono direttamente negli indirizzi IP. Quando si utilizza la modalità di rete `awsvpc`, l'indirizzo IP per ogni attività è un record `A`. Tuttavia, se si utilizza la modalità di rete `bridge`, è possibile che più container condividano lo stesso indirizzo IP. Inoltre, le mappature dinamiche delle porte fanno sì che ai container vengano assegnati in modo casuale i numeri di porta su quel singolo indirizzo IP. A questo punto, un record `A` non è più sufficiente per il rilevamento servizi. È inoltre necessario utilizzare un record `SRV`. Questo tipo di record può tenere traccia sia degli indirizzi IP che dei numeri di porta, ma richiede la configurazione appropriata delle applicazioni. Alcune applicazioni predefinite utilizzate potrebbero non supportare i record `SRV`.

  Un altro vantaggio della modalità di rete `awsvpc` è che si dispone di un gruppo di sicurezza unico per ogni servizio. È possibile configurare questo gruppo di sicurezza per consentire le connessioni in entrata solo dai servizi upstream specifici che devono comunicare con quel servizio.

  Il principale svantaggio della service-to-service comunicazione diretta che utilizza il service discovery è che è necessario implementare una logica aggiuntiva per ripetere i tentativi e gestire gli errori di connessione. I record DNS hanno un periodo time-to-live (TTL) che controlla per quanto tempo vengono memorizzati nella cache. L'aggiornamento del record DNS e la scadenza della cache richiedono del tempo per consentire alle applicazioni di recuperare la versione più recente del record DNS. Pertanto, l'applicazione potrebbe finire per risolvere il record DNS in modo tale che punti a un altro container non più presente. L'applicazione deve gestire i nuovi tentativi e disporre di una logica per ignorare i backend non validi.

  Per ulteriori informazioni, consultare [Usare il rilevamento servizi per connettere i servizi Amazon ECS con nomi DNS](service-discovery.md)
+ *Amazon VPC Lattice*

  Amazon VPC Lattice è un servizio di rete di applicazioni gestito che i clienti di Amazon ECS utilizzano per osservare, proteggere e monitorare le applicazioni create su servizi di AWS elaborazione e account senza dover modificare il codice. VPCs

  VPC Lattice utilizza gruppi di destinazione che sono una raccolta di risorse di calcolo. Questi obiettivi eseguono l'applicazione o il servizio e possono essere istanze Amazon EC2, indirizzi IP, funzioni Lambda e Application Load Balancer. Associando i propri servizi Amazon ECS a un gruppo di destinazione di VPC Lattice, i clienti possono ora abilitare le attività Amazon ECS come destinazioni IP in VPC Lattice. Quando vengono avviate le attività per il servizio registrato, Amazon ECS le registra automaticamente nel gruppo di destinazione di VPC Lattice.

  Per ulteriori informazioni, consultare [Usa Amazon VPC Lattice per connettere, osservare e proteggere i tuoi servizi Amazon ECS](ecs-vpc-lattice.md).

## Tabella di compatibilità della modalità di rete
<a name="interconnect-network-mode-compatibility-table"></a>

La tabella seguente illustra la compatibilità tra queste opzioni e le modalità di rete delle attività. Nella tabella, "client" si riferisce all'applicazione che effettua le connessioni dall'interno di un'attività Amazon ECS.


****  

| Opzioni di interconnessione | Collegato | `awsvpc` | Host | 
| --- | --- | --- | --- | 
| Individuazione dei servizi | sì, ma richiede che i clienti conoscano i record SRV nel DNS senza hostPort. | sì | sì, ma richiede che i clienti conoscano i record SRV nel DNS senza hostPort. | 
| Service Connect  | sì | sì | no | 
| Reticolo in VPC | sì | sì | sì | 

# Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi
<a name="service-connect"></a>

Amazon ECS Service Connect fornisce la gestione della service-to-service comunicazione come configurazione Amazon ECS. Crea sia il rilevamento servizi che un mesh di servizi in Amazon ECS. Ciò fornisce la configurazione completa all’interno di ogni servizio gestito in base alle implementazioni dei servizi, un modo unificato per fare riferimento ai servizi all’interno di namespace che non dipendono dalla configurazione DNS del VPC e metriche e log standardizzati per monitorare tutte le applicazioni. Service Connect interconnette solo i servizi.

Il diagramma seguente mostra un esempio di rete Service Connect con 2 sottoreti nel VPC e 2 servizi. Un servizio client che viene eseguito WordPress con 1 attività in ciascuna sottorete. Un servizio server che esegue MySQL con 1 attività in ogni sottorete. Entrambi i servizi sono altamente disponibili e resistenti ai problemi relativi alle attività e alle zone di disponibilità, poiché ogni servizio esegue più attività distribuite su 2 sottoreti. Le frecce piene mostrano una connessione da WordPress a MySQL. Ad esempio, un comando `mysql --host=mysql` CLI che viene eseguito dall'interno del WordPress contenitore nell'operazione con l'indirizzo IP. `172.31.16.1` Il comando utilizza il nome breve `mysql` sulla porta predefinita per MySQL. Questo nome e questa porta si connettono al proxy Service Connect nella stessa attività. Il proxy utilizzato nell' WordPress operazione utilizza il bilanciamento del carico a tutto tondo e tutte le informazioni relative agli errori precedenti nel rilevamento dei valori anomali per scegliere a quale task MySQL connettersi. Come mostrato dalle frecce piene nel diagramma, il proxy si connette al secondo proxy nell'attività MySQL con l'indirizzo IP `172.31.16.2`. Il secondo proxy si connette al server MySQL locale nella stessa attività. Entrambi i proxy riportano le prestazioni di connessione visibili nei grafici nelle console Amazon ECS e CloudWatch Amazon, in modo da poter ottenere i parametri delle prestazioni da tutti i tipi di applicazioni allo stesso modo.

![\[Esempio di rete Service Connect che mostra i servizi HA minimi\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/images/serviceconnect.png)


I seguenti termini sono utilizzati insieme a Service Connect.

**nome porta**  
La configurazione della definizione di attività di Amazon ECS che assegna un nome a una particolare mappatura delle porte. Questa configurazione viene utilizzata solo da Amazon ECS Service Connect.

**alias del cliente**  
La configurazione del servizio Amazon ECS che assegna il numero di porta utilizzato nell'endpoint. Inoltre, l'alias del client può assegnare il nome DNS dell'endpoint, sovrascrivendo il nome del rilevamento. Se nel servizio Amazon ECS non viene fornito un nome di rilevamento, l'alias del client sostituisce il nome della porta come nome dell'endpoint. Per esempi di endpoint, consulta la definizione di *endpoint*. È possibile assegnare più alias client a un servizio Amazon ECS. Questa configurazione viene utilizzata solo da Amazon ECS Service Connect.

**nome del rilevamento**  
Il nome intermedio opzionale che è possibile creare per una porta specificata dalla definizione di attività. Questo nome viene utilizzato per creare un servizio. AWS Cloud Map Se questo nome non viene fornito, viene utilizzato il nome della porta indicato nella definizione di attività. È possibile assegnare più nomi di rilevamento a una porta specifica di un servizio Amazon ECS. Questa configurazione viene utilizzata solo da Amazon ECS Service Connect.  
AWS Cloud Map i nomi dei servizi devono essere univoci all'interno di un namespace. A causa di questa limitazione, è possibile avere una sola configurazione di Service Connect senza un nome di rilevamento per una particolare definizione di attività in ogni namespace.

**endpoint**  
L'URL per connettersi a un'API o a un sito Web. L'URL contiene il protocollo, un nome DNS e la porta. Per ulteriori informazioni sugli endpoint in generale, consulta la sezione [Endpoint](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#endpoint) nel *glossario AWS * all'interno della documentazione Riferimenti generali di Amazon Web Services.  
Service Connect crea endpoint che si connettono ai servizi Amazon ECS e configura le attività nei servizi Amazon ECS per connettersi agli endpoint. L'URL contiene il protocollo, un nome DNS e la porta. Il protocollo e il nome della porta vengono selezionati nella definizione dell'attività, poiché la porta deve corrispondere all'applicazione che si trova all'interno dell'immagine di container. Nel servizio, si seleziona ogni porta in base al nome e si può assegnare il nome DNS. Se non si specifica un nome DNS nella configurazione del servizio Amazon ECS, per impostazione predefinita viene utilizzato il nome della porta indicato nella definizione di attività. Ad esempio, un endpoint Service Connect potrebbe essere `http://blog:80`, `grpc://checkout:8080` o `http://_db.production.internal:99`.

**Servizio Service Connect**  
La configurazione di un singolo endpoint in un servizio Amazon ECS. Questa è una parte della configurazione Service Connect, costituita da una singola riga nella **configurazione di Service Connect e del nome del rilevamento** nella console o da un oggetto nell'elenco `services` nella configurazione JSON di un servizio Amazon ECS. Questa configurazione viene utilizzata solo da Amazon ECS Service Connect.  
Per ulteriori informazioni, consulta il riferimento [ServiceConnectService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceConnectService.html)all'API di Amazon Elastic Container Service.

**namespace**  
Il nome breve o il nome completo Amazon Resource Name (ARN) dello spazio dei AWS Cloud Map nomi da utilizzare con Service Connect. Lo spazio dei nomi deve trovarsi nello stesso spazio del servizio Regione AWS e del cluster Amazon ECS. Il tipo di namespace in AWS Cloud Map non influisce su Service Connect. Lo spazio dei nomi può essere condiviso con Account AWS using AWS Resource Access Manager (AWS RAM) in quanto è disponibile Regioni AWS in AWS RAM . Per ulteriori informazioni sui namespace condivisi, consultare [Cross-account AWS Cloud Map namespace sharing](https://docs.aws.amazon.com/cloud-map/latest/dg/sharing-namespaces.html) nella *Guida per gli sviluppatori di AWS Cloud Map *.  
Service Connect utilizza lo spazio dei AWS Cloud Map nomi come raggruppamento logico di attività Amazon ECS che comunicano tra loro. Ogni servizio Amazon ECS può appartenere a un solo namespace. I servizi all'interno di un namespace possono essere distribuiti su diversi cluster Amazon ECS all'interno della stessa Regione AWS. Se il namespace è un namespace condiviso, i servizi possono essere distribuiti tra il proprietario del namespace e il consumer del namespace Account AWS. Puoi organizzare liberamente i servizi in base a qualsiasi criterio.

**servizi client**  
Un servizio che esegue un'applicazione client di rete. Questo servizio deve avere un namespace configurato. Ogni attività del servizio può rilevare e connettersi a tutti gli endpoint nel namespace tramite un container proxy Service Connect.  
Se uno dei container dell'attività deve connettersi a un endpoint da un servizio in un namespace, scegli un servizio client. Se un'applicazione frontend, un proxy inverso o un bilanciatore del carico riceve traffico esterno tramite altri metodi come Elastic Load Balancing, potrebbe utilizzare questo tipo di configurazione di Service Connect.

**servizio client-server**  
Un servizio Amazon ECS che esegue un'applicazione di rete o del servizio Web. Questo servizio deve avere un namespace e almeno un endpoint configurati. Ogni attività del servizio è raggiungibile utilizzando gli endpoint. Il container proxy Service Connect ascolta il nome e la porta dell'endpoint per indirizzare il traffico verso i container delle app nell'attività.  
Se uno dei container espone e ascolta il traffico di rete su una porta, scegli un servizio client-server. Queste applicazioni non devono connettersi ad altri servizi client-server nel medesimo namespace, ma la configurazione del client è necessaria. Un backend, un middleware (software intermediario), un livello aziendale o la maggior parte dei microservizi possono utilizzare questo tipo di configurazione Service Connect. Se si desidera che un'applicazione frontend, un proxy inverso o un bilanciatore del carico riceva traffico da altri servizi configurati con Service Connect nello stesso namespace, questi servizi devono utilizzare questo tipo di configurazione Service Connect.

La funzionalità Service Connect crea una rete virtuale di servizi correlati. La stessa configurazione del servizio può essere utilizzata su più spazi dei nomi diversi per eseguire set di applicazioni indipendenti ma identici. Service Connect definisce il container del proxy nel servizio Amazon ECS. In questo modo, la stessa definizione di attività può essere utilizzata per eseguire applicazioni identiche in spazi dei nomi diversi con configurazioni Service Connect diverse. Ogni attività eseguita dal servizio esegue un container del proxy nell'attività.

Service Connect è adatto per connessioni tra servizi Amazon ECS all'interno dello stesso namespace. Per le seguenti applicazioni, è necessario utilizzare un metodo di interconnessione aggiuntivo per connettersi a un servizio Amazon ECS configurato con Service Connect:
+ Attività configurate in altri namespace
+ Attività che non sono configurate per Service Connect
+ Altre applicazioni esterne ad Amazon ECS

Queste applicazioni possono connettersi tramite il proxy Service Connect, ma non possono risolvere i nomi degli endpoint Service Connect.

Affinché queste applicazioni risolvano gli indirizzi IP delle attività Amazon ECS, è necessario utilizzare un altro metodo di interconnessione. 

**Topics**
+ [Prezzi](#service-connect-pricing)
+ [Componenti di Amazon ECS Service Connect](service-connect-concepts-deploy.md)
+ [Panoramica della configurazione di Amazon ECS Service Connect](service-connect-concepts.md)
+ [Amazon ECS Service Connect con namespace condivisi AWS Cloud Map](service-connect-shared-namespaces.md)
+ [Log di accesso di Amazon ECS Service Connect](service-connect-envoy-access-logs.md)
+ [Crittografare il traffico di Amazon ECS Service Connect](service-connect-tls.md)
+ [Configurazione di Amazon ECS Service Connect con AWS CLI](create-service-connect.md)

## Prezzi
<a name="service-connect-pricing"></a>
+ I prezzi di Amazon ECS Service Connect dipendono dall'utilizzo AWS Fargate o meno dell'infrastruttura Amazon EC2 per ospitare i carichi di lavoro containerizzati. Se utilizzi Amazon ECS su AWS Outposts, i prezzi seguono lo stesso modello di quando utilizzi direttamente Amazon EC2. Per ulteriori informazioni, consultare [Prezzi di Amazon ECS](https://aws.amazon.com/ecs/pricing).
+ L'utilizzo di Amazon ECS Service Connect non comporta costi supplementari.
+ Non sono previsti costi aggiuntivi per AWS Cloud Map l'utilizzo se utilizzato da Service Connect.
+ I clienti pagano per le risorse di calcolo utilizzate da Amazon ECS Service Connect, tra cui vCPU e memoria. Poiché l'agente Amazon ECS Service Connect viene eseguito all'interno di un'attività del cliente, non sono previsti costi aggiuntivi per eseguirla. Le risorse relative alle attività sono condivise tra il carico di lavoro del cliente e l'agente Service di Amazon ECS.
+ Quando utilizzano la funzionalità di crittografia del traffico di Amazon ECS Service Connect con AWS Private CA, i clienti pagano per l'autorità di certificazione privata che creano e per ogni certificato TLS emesso. Per maggiori dettagli, consultare [Prezzi di AWS Autorità di certificazione privata](https://aws.amazon.com/private-ca/pricing/). Per stimare il costo mensile dei certificati TLS, i clienti devono conoscere il numero di servizi Amazon ECS con TLS abilitato, moltiplicarlo per il costo del certificato e quindi moltiplicarlo per sei. Poiché Amazon ECS Service Connect ruota automaticamente i certificati TLS ogni cinque giorni, vengono emessi in media sei certificati al mese per servizio Amazon ECS.

# Componenti di Amazon ECS Service Connect
<a name="service-connect-concepts-deploy"></a>

Quando si utilizza Amazon ECS Service Connect, viene configurato ogni servizio Amazon ECS per eseguire un'applicazione server che riceve richieste di rete (servizio client-server) o per eseguire un'applicazione client che effettua le richieste (servizio client).

Quando ti prepari a iniziare a usare Service Connect, inizia con un servizio client-server. È possibile aggiungere una configurazione Service Connect a un nuovo servizio o a un servizio esistente. Amazon ECS crea un endpoint di Service Connect nel namespace. Inoltre, Amazon ECS crea una nuova implementazione nel servizio per sostituire le attività attualmente in esecuzione.

Le attività esistenti e altre applicazioni potranno continuare a connettersi agli endpoint esistenti e alle applicazioni esterne. Se un servizio client-server aggiunge attività aumentando orizzontalmente, le nuove connessioni dai client verranno bilanciate tra tutte le attività. Se un servizio client-server viene aggiornato, le nuove connessioni dai client verranno bilanciate tra le attività della nuova versione.

Le attività esistenti non possono essere risolte e connettersi al nuovo endpoint. Solo le nuove attività che hanno una configurazione Service Connect nello stesso namespace e che iniziano a essere eseguite dopo questa implementazione possono essere risolte e connettersi a questo endpoint. 

Ciò significa che l'operatore dell'applicazione client determina quando la configurazione della propria app cambia, anche se l'operatore dell'applicazione server può modificare la configurazione in qualsiasi momento. L'elenco degli endpoint nel namespace può cambiare ogni volta che viene implementato un servizio nel namespace. Le attività esistenti e quelle sostitutive continuano a comportarsi allo stesso modo dopo l'implementazione più recente.

Considera i seguenti esempi:

Innanzitutto, supponi di creare un'applicazione disponibile sulla rete Internet pubblica in un unico AWS CloudFormation modello e in un unico stack. CloudFormation La scoperta pubblica e la raggiungibilità dovrebbero essere create per ultimo CloudFormation, incluso il servizio client frontend. I servizi devono essere creati in questo ordine per evitare un periodo di tempo in cui il servizio client di frontend è attivo e disponibile al pubblico, ma un backend non lo è. Ciò elimina l'invio di messaggi di errore al pubblico durante quel periodo di tempo. Nel AWS CloudFormation, devi utilizzare il `dependsOn` per indicare CloudFormation che non è possibile creare più servizi Amazon ECS in parallelo o contemporaneamente. È necessario aggiungere `dependsOn` al servizio client di frontend per ogni servizio client-server di backend a cui si connettono le attività del client.

In secondo luogo, supponiamo che esista un servizio di frontend senza la configurazione di Service Connect. Le attività si connettono a un servizio di backend esistente. Aggiungi prima una configurazione di Service Connect client-server al servizio di backend utilizzando lo stesso nome nel **DNS** o `clientAlias` utilizzato dal frontend. Questo crea una nuova distribuzione, quindi tutti i metodi di rilevamento del rollback della distribuzione AWS SDKs e altri metodi per ripristinare e ripristinare il servizio di backend alla distribuzione e alla configurazione precedenti. Console di gestione AWS AWS CLI Se sei soddisfatto delle prestazioni e del comportamento del servizio di backend, aggiungi una configurazione di Service Connect client o client-server al servizio di frontend. Solo le attività della nuova implementazione utilizzano il proxy Service Connect aggiunto a quelle nuove attività. In caso di problemi con questa configurazione, è possibile eseguire il rollback e ripristinare la configurazione precedente utilizzando il rilevamento del rollback di distribuzione o Console di gestione AWS altri metodi per ripristinare AWS SDKs e ripristinare il servizio di backend alla distribuzione e alla configurazione precedenti. AWS CLI Se si utilizza un altro sistema di individuazione dei servizi basato sul DNS anziché su Service Connect, qualsiasi applicazione frontend o client inizia a utilizzare nuovi endpoint e modifica la configurazione degli endpoint dopo la scadenza della cache DNS locale, in genere impiegando diverse ore.

## Rete
<a name="service-connect-concepts-network"></a>

Per impostazione predefinita, il proxy Service Connect è in ascolto sulla `containerPort` dalla mappatura della porta di definizione dell'attività. Le regole del gruppo di sicurezza devono consentire il traffico in entrata (in ingresso) dalle sottoreti in cui verranno eseguiti i client.

Anche se si imposta un numero di porta nella configurazione del servizio Service Connect, ciò non cambia la porta per il servizio client-server su cui è in ascolto il proxy Service Connect. Quando imposti questo numero di porta, Amazon ECS modifica la porta dell'endpoint a cui si connettono i servizi client, sul proxy Service Connect all'interno di tali attività. Il proxy nel servizio client si connette al proxy nel servizio client-server utilizzando la `containerPort`.

Se desideri modificare la porta su cui il proxy Service Connect è in ascolto, modifica `ingressPortOverride` nella configurazione di Service Connect del servizio client-server. Se viene modificato questo numero di porta, è necessario consentire il traffico in entrata su questa porta utilizzata dal traffico verso questo servizio.

Il traffico inviato dalle applicazioni ai servizi Amazon ECS configurati per Service Connect richiede che Amazon VPC e le sottoreti dispongano di regole della tabella di instradamento e di regole dell'ACL di rete che consentano i numeri di porta `containerPort` e `ingressPortOverride` che si stanno utilizzando.

 È possibile utilizzare Service Connect per inviare traffico tra VPCs. Gli stessi requisiti per le regole della tabella di routing, la rete ACLs e i gruppi di sicurezza si applicano a entrambi VPCs.

Ad esempio, due cluster creano attività diverse VPCs. Un servizio in ogni cluster è configurato per utilizzare lo stesso namespace. Le applicazioni di questi due servizi possono risolvere ogni endpoint nel namespace senza alcuna configurazione DNS del VPC. Tuttavia, i proxy non possono connettersi a meno che il peering VPC, le tabelle di routing VPC o subnet e la rete VPC non consentano il traffico sui numeri di porta e. ACLs `containerPort` `ingressPortOverride`

Per le attività che utilizzano la modalità di rete `bridge`, è necessario creare un gruppo di sicurezza con una regola in entrata che consenta il traffico sull'intervallo di porte dinamiche superiore. Quindi, assegnare il gruppo di sicurezza a tutte le istanze EC2 nel cluster Service Connect.

## Proxy Service Connect
<a name="service-connect-concepts-proxy"></a>

Se si crea o si aggiorna un servizio con la configurazione di Service Connect, Amazon ECS aggiunge un nuovo container a ogni nuova attività non appena viene avviata. Questo modello di utilizzo di un container separato è denominato `sidecar`. Questo container non è presente nella definizione dell'attività e non è possibile configurarlo. Amazon ECS gestisce la configurazione di container nel servizio. Ciò consente di riutilizzare le stesse definizioni di attività tra più servizi, namespace e attività senza Service Connect.

**Risorse proxy**
+ Per le definizioni delle attività, è necessario impostare i parametri di CPU e memoria. 

  Si consiglia di aggiungere altre 256 unità CPU e almeno 64 MiB di memoria alla CPU e alla memoria dell'attività per il container del proxy Service Connect. Su AWS Fargate, la quantità minima di memoria che è possibile impostare è 512 MiB. Su Amazon EC2, è necessaria la memoria per la definizione delle attività.
+ Per il servizio, si imposta la configurazione di log nella configurazione di Service Connect.
+ Se prevedi che le attività di questo servizio ricevano più di 500 richieste al secondo al massimo del carico, ti consigliamo di aggiungere 512 unità CPU alla CPU dell'attività in questa definizione di attività per il container del proxy Service Connect.
+ Se prevedi di creare più di 100 servizi Service Connect nel namespace o 2.000 attività in totale su tutti i servizi Amazon ECS all'interno del namespace, ti consigliamo di aggiungere 128 MiB di memoria alla memoria dell'attività per il container del proxy Service Connect. È necessario eseguire questa operazione in ogni definizione di attività utilizzata da tutti i servizi Amazon ECS nel namespace.

**Configurazione del proxy**  
Le applicazioni si connettono al proxy nel container sidecar nella stessa attività in cui si trova l'applicazione. Amazon ECS configura l'attività e i container in modo che le applicazioni si connettano al proxy solo quando l'applicazione è connessa ai nomi degli endpoint nello stesso namespace. Tutto il resto del traffico non utilizza il proxy. L'altro traffico include indirizzi IP nello stesso VPC, endpoint di AWS servizio e traffico esterno.

**Sistema di bilanciamento del carico**  
Service Connect configura il proxy per utilizzare la strategia round-robin per il bilanciamento del carico tra le attività in un endpoint Service Connect. Il proxy locale, che si trova nell'attività da cui proviene la connessione, seleziona una delle attività del servizio client-server che fornisce l'endpoint.  
*Ad esempio, si consideri un'attività eseguita WordPress in un servizio configurato come *servizio client* in uno spazio dei nomi chiamato locale.* È presente un altro servizio con 2 attività che eseguono il database MySQL. Questo servizio è configurato per fornire un endpoint denominato `mysql` tramite Service Connect nello stesso namespace. Nell' WordPress operazione, l' WordPress applicazione si connette al database utilizzando il nome dell'endpoint. Le connessioni con questo nome vengono instradate al proxy in esecuzione in un container sidecar per la stessa attività. Quindi, il proxy può connettersi a una delle attività MySQL utilizzando la strategia round-robin.  
Strategie di bilanciamento del carico: round-robin

**Rilevamento di anomalie**  
Questa funzionalità utilizza i dati acquisiti dal proxy sulle connessioni non riuscite precedenti per evitare l'invio di nuove connessioni agli host che le contenevano. Service Connect configura la funzionalità di rilevamento delle anomalie del proxy per fornire controlli dell'integrità passivi.  
Usando l'esempio precedente, il proxy può connettersi a una delle due attività MySQL. Se il proxy ha effettuato più connessioni a un'attività MySQL specifica e negli ultimi 30 secondi 5 di queste, o un numero maggiore, non sono andate a buon fine, il proxy evita di eseguire tale attività MySQL per un periodo compreso tra 30 e 300 secondi.

**Tentativi**  
Service Connect configura il proxy in modo da tentare nuovamente le connessioni che passano attraverso il proxy e falliscono. Il secondo tentativo evita di utilizzare l'host delle connessioni precedenti. In questo modo si garantisce che ogni connessione attraverso Service Connect non si interrompa per motivi isolati.  
Numero di tentativi: 2

**Timeout**  
Service Connect configura il proxy in modo che attenda un tempo massimo per la risposta delle applicazioni client-server. Il valore di timeout predefinito è 15 secondi, ma può essere aggiornato.  
Parametri facoltativi:  
**idleTimeout**: la quantità di tempo in secondi in cui una connessione rimane attiva mentre è inattiva. Un valore di `0` disabilita il `idleTimeout`  
Il valore predefinito `idleTimeout` per `HTTP`/`HTTP2`/`GRPC` è 5 minuti.  
Il valore predefinito `idleTimeout` per `TCP` è 1 ora.  
**perRequestTimeout**‐ Il periodo di attesa che l'upstream risponda con una risposta completa per richiesta. Un valore di `0` si spegne in `perRequestTimeout`. Questo può essere impostato solo quando il `appProtocol` per il container dell'applicazione è `HTTP`/`HTTP2`/`GRPC`. L'impostazione predefinita è 15 secondi.  
Se `idleTimeout` è impostato su un valore inferiore a `perRequestTimeout`, la connessione si chiuderà quando viene raggiunto il `idleTimeout`, non il `perRequestTimeout`.

## Considerazioni
<a name="service-connect-considerations"></a>

Quando si utilizza Service Connect, si consideri quanto segue:
+ Per utilizzare Service Connect, le attività eseguite in Fargate devono utilizzare la piattaforma Fargate Linux versione `1.4.0` o successiva.
+ La versione dell'agente Amazon ECS sull'istanza di container deve essere `1.67.2` o successiva.
+ Per utilizzare Service Connect, le istanze di container devono eseguire la versione `20230428` dell'AMI di Amazon Linux 2023 ottimizzata per Amazon ECS, o versioni successive, o la versione `2.0.20221115` dell'AMI di Amazon Linux 2 ottimizzata per Amazon ECS. Oltre all'agente del container Amazon ECS, queste versioni contengono l'agente Service Connect. Per ulteriori informazioni sull'agente Service Connect, consulta [Amazon ECS Service Connect Agent](https://github.com/aws/amazon-ecs-service-connect-agent) on GitHub.
+ Le istanze di container devono disporre dell'autorizzazione `ecs:Poll` per la risorsa `arn:aws:ecs:region:0123456789012:task-set/cluster/*`. Se utilizzi il `ecsInstanceRole`, non è necessario aggiungere altre autorizzazioni. La policy gestita da `AmazonEC2ContainerServiceforEC2Role` dispone delle autorizzazioni necessarie. Per ulteriori informazioni, consultare [Ruolo IAM delle istanze di container Amazon ECS](instance_IAM_role.md).
+ Le attività che utilizzano la modalità di rete `bridge` e utilizzano Service Connect non supportano il parametro di definizione del container `hostname`.
+ Per utilizzare Service Connect, le definizioni di attività devono impostare il limite di memoria dell'attività. Per ulteriori informazioni, consultare [Proxy Service Connect](#service-connect-concepts-proxy).
+ Le definizioni delle attività che impostano i limiti di memoria del container non sono supportate.

  È possibile impostare i limiti di memoria del container sui container, ma è necessario impostare il limite di memoria delle attività su un numero maggiore della somma dei limiti di memoria del container. La CPU e la memoria aggiuntive nei limiti delle attività che non vengono allocate nei limiti del container negli altri contenitori vengono utilizzate dal container del proxy Service Connect e da altri container che non impostano limiti di container. Per ulteriori informazioni, consulta [Proxy Service Connect](#service-connect-concepts-proxy).
+ È possibile configurare Service Connect per utilizzare qualsiasi spazio dei AWS Cloud Map nomi nella stessa regione che si trova nella stessa area Account AWS o è condiviso con l'utente Account AWS . AWS Resource Access Manager Per ulteriori informazioni sull'uso dei namespace condivisi, consultare [Amazon ECS Service Connect con namespace condivisi AWS Cloud Map](service-connect-shared-namespaces.md).
+ Ogni servizio può appartenere a un solo namespace.
+ Sono supportate solo le attività create dai servizi. 
+ Tutti gli endpoint devono essere univoci all'interno di un namespace.
+ Tutti i nomi di rilevamento devono essere univoci all'interno di un namespace.
+ È necessario implementare nuovamente i servizi esistenti prima che le applicazioni possano risolvere nuovi endpoint. I nuovi endpoint aggiunti al namespace dopo l'implementazione più recente non verranno aggiunti alla configurazione dell'attività. Per ulteriori informazioni, consultare [Componenti di Amazon ECS Service Connect](#service-connect-concepts-deploy).
+ Service Connect non elimina i namespace quando vengono eliminati i cluster. È necessario eliminare i namespace in. AWS Cloud Map
+ Per impostazione predefinita, il traffico di Application Load Balancer viene instradato tramite l'agente Service Connect in modalità nella modalità di rete `awsvpc`. Se si desidera che il traffico non di servizio aggiri l'agente Service Connect, utilizzare il parametro `[ingressPortOverride](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceConnectService.html)` nella configurazione del servizio Service Connect.
+ Service Connect con TLS non supporta la modalità di rete `bridge`. Solo la modalità di rete `awsvpc` è supportata.
+ In `awsvpc` modalità, il proxy Service Connect inoltra il traffico all' IPv4 host locale `127.0.0.1` per i servizi nelle configurazioni IPv4 -only e dualstack. Per i servizi in configurazione IPv6 -only, il proxy inoltra il traffico al localhost. IPv6 `::1` Ti consigliamo di configurare le applicazioni per ascoltare entrambi gli host locali per un'esperienza senza interruzioni quando un servizio viene aggiornato dalla configurazione -only o dualstack a IPv4 -only. IPv6 Per ulteriori informazioni, consultare [Opzioni di rete di attività di Amazon ECS per EC2](task-networking.md) e [Opzioni di rete di attività di Amazon ECS per Fargate](fargate-task-networking.md).

**Service Connect non supporta quanto segue:**
+ Container Windows
+ HTTP 1.0
+ Attività autonome
+ Servizi che utilizzano i tipi di distribuzione powered by ed esterni blue/green CodeDeploy 
+ Le istanze di container `External` per Amazon ECS Anywhere non sono supportate con Service Connect.
+ PPv2
+ modalità FIPS

# Panoramica della configurazione di Amazon ECS Service Connect
<a name="service-connect-concepts"></a>

Quando si utilizza Service Connect, è necessario configurare alcuni parametri nelle risorse. 

Nella tabella seguente vengono descritti i parametri di configurazione per le risorse di Amazon ECS.


| Posizione dei parametri | Tipo di app | Description | Richiesto | 
| --- | --- | --- | --- | 
| Definizione di attività | Client | Non sono disponibili modifiche per Service Connect nelle definizioni delle attività del client. | N/D | 
| Definizione di attività | Client-server | I server devono aggiungere i campi name alle porte nelle portMappings dei container. Per ulteriori informazioni, consultare [portMappings](task_definition_parameters.md#ContainerDefinition-portMappings) | Sì | 
| Definizione di attività | Client-server | I server possono opzionalmente fornire un protocollo applicativo (ad esempio, HTTP) per ricevere parametri specifici del protocollo per le loro applicazioni server (ad esempio, HTTP 5xx). | No | 
| Definizioni di servizi | Client | I servizi client devono aggiungere una serviceConnectConfiguration per configurare il namespace a cui aderire. Questo namespace deve contenere tutti i servizi del server che questo servizio deve individuare. Per ulteriori informazioni, consultare [serviceConnectConfiguration](service_definition_parameters.md#Service-serviceConnectConfiguration). | Sì | 
| Definizione di servizio | Client-server | I servizi server devono aggiungere una serviceConnectConfiguration per configurare i nomi DNS, i numeri di porta e il namespace da cui è disponibile il servizio. Per ulteriori informazioni, consultare [serviceConnectConfiguration](service_definition_parameters.md#Service-serviceConnectConfiguration). | Sì | 
| Cluster | Client | I cluster possono aggiungere un namespace Service Connect predefinito. Quando Service Connect è configurato in un servizio, i nuovi servizi nel cluster ereditano il namespace.  | No | 
| Cluster | Client-server | Non sono disponibili modifiche per Service Connect nei cluster che si applicano ai servizi server. Le definizioni e i servizi delle attività del server devono impostare la rispettiva configurazione. | N/D | 

**Panoramica della procedura per configurare Service Connect**  
Nella procedura seguente viene illustrato come configurare Service Connect.

**Importante**  
 Service Connect crea AWS Cloud Map servizi nel tuo account. La modifica manuale di queste AWS Cloud Map risorse mediante registering/deregistering istanze, la modifica degli attributi dell'istanza o l'eliminazione di un servizio può comportare un comportamento imprevisto del traffico dell'applicazione o delle successive implementazioni.
 Service Connect non supporta i link nella definizione dell'attività.

1. Aggiungi i nomi delle porte alle mappature delle porte nelle definizioni di attività. Per ottenere parametri aggiuntivi, puoi inoltre identificare il protocollo di livello 7 dell'applicazione.

1. Crea un cluster con uno AWS Cloud Map spazio dei nomi, usa uno spazio dei nomi condiviso o crea lo spazio dei nomi separatamente. Per un'organizzazione semplice, crea un cluster con il nome desiderato per il namespace e specifica lo stesso nome per il namespace. In questo caso, Amazon ECS crea un nuovo namespace HTTP con la configurazione necessaria. Service Connect non utilizza né crea zone ospitate DNS in Amazon Route 53.

1. Configurare i servizi per creare endpoint Service Connect all'interno del namespace.

1. Implementa i servizi per creare gli endpoint. Amazon ECS aggiunge un container del proxy Service Connect a ogni attività e crea gli endpoint Service Connect in AWS Cloud Map. Questo container non è configurato nella definizione dell'attività e la definizione dell'attività può essere riutilizzata senza modifiche per creare più servizi nello stesso namespace o in più spazi dei nomi.

1. Implementa le app client come servizi per connetterti agli endpoint. Amazon ECS li connette agli endpoint Service Connect tramite il proxy Service Connect in ogni attività.

   Le applicazioni utilizzano il proxy solo per connettersi agli endpoint Service Connect. Non è disponibile alcuna configurazione aggiuntiva per l'utilizzo del proxy. Il proxy esegue il bilanciamento del carico round-robin, il rilevamento di anomalie ed effettua un nuovo tentativo. Per ulteriori informazioni sul proxy, consulta [Proxy Service Connect](service-connect-concepts-deploy.md#service-connect-concepts-proxy).

1. Monitora il traffico tramite il proxy Service Connect in Amazon CloudWatch.

## Configurazione del cluster
<a name="service-connect-concepts-cluster-defaults"></a>

È possibile impostare un namespace predefinito per Service Connect al momento della creazione o dell'aggiornamento del cluster. Il nome dello spazio dei nomi specificato come predefinito può trovarsi nello stesso account oppure nello stesso Regione AWS Regione AWS e condiviso da un altro Account AWS utente. AWS Resource Access Manager

Se si crea un cluster e si specifica un namespace Service Connect predefinito, il cluster attende lo stato `PROVISIONING` mentre Amazon ECS crea il namespace. È possibile vedere un `attachment` nello stato del cluster che mostra lo stato del namespace. Per impostazione predefinita, gli allegati non vengono visualizzati in. È necessario aggiungerli `--include ATTACHMENTS` per visualizzarli. AWS CLI

Se desideri utilizzare uno spazio dei nomi condiviso con i tuoi utenti AWS RAM, specifica Account AWS l'Amazon Resource Name (ARN) dello spazio dei nomi nella configurazione del cluster. Per ulteriori informazioni sugli spazi dei nomi condivisi, consulta. AWS Cloud Map [Amazon ECS Service Connect con namespace condivisi AWS Cloud Map](service-connect-shared-namespaces.md)

## Configurazione del servizio
<a name="service-connect-concepts-config"></a>

Service Connect è progettato per richiedere la configurazione minima. È necessario impostare un nome per ogni mappatura delle porte che si desidera utilizzare con Service Connect nella definizione di attività. Nel servizio, devi attivare Service Connect e selezionare uno spazio dei nomi nel tuo Account AWS o uno spazio dei nomi condiviso per creare un servizio client. Per creare un servizio client-server, è necessario aggiungere una singola configurazione del servizio Service Connect che corrisponda al nome di una delle mappature delle porte. Amazon ECS riutilizza il numero di porta e il nome della porta dalla definizione dell'attività per definire il servizio e l'endpoint Service Connect. Per sovrascrivere questi valori, puoi utilizzare gli altri parametri **Discovery**, **DNS** e **Port** nella console o `discoveryName` e `clientAliases`, rispettivamente, nell'API Amazon ECS.

## Configurazione iniziale di Health Check
<a name="service-connect-concepts-health-check"></a>

Service Connect garantisce l'integrità delle attività prima di indirizzare il traffico verso di esse. All'avvio di un'attività (durante le distribuzioni, il ridimensionamento o le sostituzioni), Service Connect monitora lo stato dell'attività per garantire che sia pronta ad accettare il traffico. È necessario definire i controlli di integrità per il contenitore essenziale nella definizione dell'attività per abilitare questo comportamento.

Il comportamento del controllo sanitario iniziale tiene conto dei potenziali ritardi nel raggiungere lo stato in cui un'attività è pronta ad accettare traffico:
+ Se un'attività lo è`HEALTHY`, è immediatamente disponibile per il traffico.
+ Se lo stato di salute di un'attività è lo stesso`UNKNOWN`, Service Connect segue la configurazione del controllo dello stato del contenitore (vedi[Controllo dell’integrità](task_definition_parameters.md#container_definition_healthcheck)) dei contenitori essenziali dell'attività per calcolare un timeout, fino a`8 minutes`, prima di renderlo disponibile al traffico, anche se rimane`UNKNOWN`.
+ Se un'attività lo è`UNHEALTHY`, Amazon ECS può avviare attività sostitutive. Se non sono disponibili attività funzionanti, è possibile che la distribuzione venga ripristinata in base alla configurazione del servizio.

Per tutto il traffico in corso, Service Connect utilizza controlli di integrità passivi basati sul rilevamento dei valori anomali per indirizzare il traffico in modo efficiente.

# Amazon ECS Service Connect con namespace condivisi AWS Cloud Map
<a name="service-connect-shared-namespaces"></a>

Amazon ECS Service Connect supporta l'uso di AWS Cloud Map namespace condivisi tra più Account AWS nomi all'interno dello stesso. Regione AWS Questa funzionalità consente di creare applicazioni distribuite in cui servizi eseguiti in aree diverse Account AWS possono rilevarsi e comunicare tra loro tramite Service Connect. I namespace condivisi vengono gestiti utilizzando AWS Resource Access Manager (AWS RAM), che consente la condivisione sicura delle risorse tra account. *Per ulteriori informazioni sugli spazi dei nomi condivisi, consulta Condivisione [AWS Cloud Map dello spazio dei nomi tra account nella Guida per gli sviluppatori](https://docs.aws.amazon.com/cloud-map/latest/dg/sharing-namespaces.html).AWS Cloud Map *

**Importante**  
È necessario utilizzare l'autorizzazione gestita da `AWSRAMPermissionCloudMapECSFullPermission` per condividere il namespace affinché Service Connect funzioni correttamente con il namespace.

Quando si utilizzano AWS Cloud Map namespace condivisi con Service Connect, i servizi di più nomi Account AWS possono partecipare allo stesso spazio dei nomi di servizio. Ciò è particolarmente utile per le organizzazioni con più account Account AWS che devono mantenere la service-to-service comunicazione oltre i confini degli account preservando al contempo la sicurezza e l'isolamento.

**Nota**  
Per comunicare con servizi diversi VPCs, è necessario configurare la connettività inter-VPC. Ciò si può fare utilizzando una connessione peering VPC. Per ulteriori informazioni, consultare [Create or delete a VPC Peering connection](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html) nella *Guida al peering VPC di Amazon Virtual Private Cloud*.

# Utilizzo di AWS Cloud Map namespace condivisi con Amazon ECS Service Connect
<a name="service-connect-shared-namespaces-setup"></a>

La configurazione di AWS Cloud Map namespace condivisi per Service Connect prevede i seguenti passaggi: il proprietario del namespace crea lo spazio dei nomi, il proprietario lo condivide tramite AWS Resource Access Manager (AWS RAM), il consumatore accetta la condivisione delle risorse e il consumatore configura Service Connect per l'utilizzo dello spazio dei nomi condiviso.

## AWS Cloud Map Passaggio 1: creare lo spazio dei nomi
<a name="service-connect-shared-namespaces-create"></a>

Il proprietario dello spazio dei nomi crea uno spazio AWS Cloud Map dei nomi che verrà condiviso con altri account.

**Per creare uno spazio dei nomi per la condivisione utilizzando il Console di gestione AWS**

1. Apri la AWS Cloud Map console all'indirizzo. [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/)

1. Selezionare **Crea namespace**.

1. Inserire un **Nome del namespace**. Questo nome verrà utilizzato dai servizi in tutti gli account partecipanti.

1. Per **Tipo di namespace**, scegliere il tipo appropriato per il caso d'uso:
   + **Chiamate API**: namespace HTTP per il rilevamento servizi senza funzionalità DNS.
   + **Chiamate API e query DNS in VPCs** ‐ Namespace DNS privati per l'individuazione di servizi con query DNS private in un VPC.
   + **Chiamate API e query DNS pubbliche**: namespace DNS pubblici per il rilevamento servizi con query DNS pubbliche.

1.  Selezionare **Crea namespace**.

## Passaggio 2: condividi lo spazio dei nomi utilizzando AWS RAM
<a name="service-connect-shared-namespaces-share"></a>

Il proprietario dello spazio dei nomi utilizza AWS RAM per condividere lo spazio dei nomi con altri. Account AWS

**Per condividere uno spazio dei nomi utilizzando la console AWS RAM**

1. Apri la AWS RAM console all'indirizzo. [https://console.aws.amazon.com/ram/](https://console.aws.amazon.com/ram/)

1. Seleziona **Crea condivisione risorse**.

1. Per **Nome**, inserire un nome descrittivo della risorsa da condividere.

1. Nella sezione **Risorse**:

   1. Per **Tipo di risorsa**, scegliere **Namespace della mappa cloud**.

   1. Selezionare il namespace creato nella fase precedente.

1. Nella sezione **Autorizzazioni gestite**, specifica **AWSRAMPermissionCloudMapECSFullAutorizzazione**.
**Importante**  
È necessario utilizzare l'autorizzazione gestita da `AWSRAMPermissionCloudMapECSFullPermission` per condividere il namespace affinché Service Connect funzioni correttamente con il namespace.

1. Nella sezione **Principali**, specificare gli Account AWS con cui condividere il namespace. Puoi inserire l'account IDs o l'unità IDs organizzativa.

1. Seleziona **Crea condivisione risorse**.

## Fase 3: Accettare la condivisione delle risorse
<a name="service-connect-shared-namespaces-accept"></a>

Gli account consumer del namespace devono accettare l'invito alla condivisione delle risorse per utilizzare il namespace condiviso.

**Per accettare un invito alla condivisione di risorse utilizzando la AWS RAM console**

1. Nell'account consumer, apri la AWS RAM console all'indirizzo [https://console.aws.amazon.com/ram/](https://console.aws.amazon.com/ram/).

1. Nel riquadro di navigazione, scegliere **Condivise con me**, poi scegliere **Condivisioni di risorse**.

1. Selezionare l'invito alla condivisione delle risorse e scegliere **Accetta la condivisione delle risorse**.

1. Dopo aver accettato, annotare l'ARN del namespace condiviso dai dettagli della risorsa. Si utilizzerà questo ARN per configurare i servizi Service Connect.

## Fase 4: Configurare un servizio Amazon ECS con il namespace condiviso
<a name="service-connect-shared-namespaces-configure"></a>

Dopo aver accettato il namespace condiviso, il consumer del namespace può configurare i servizi Amazon ECS per utilizzare il namespace condiviso. La configurazione è simile all'utilizzo di un namespace normale, ma è necessario specificare l'ARN del namespace anziché il nome. Per una procedura dettagliata di creazione del servizio, consultare [Creazione di un'implementazione di aggiornamenti continui di Amazon ECS](create-service-console-v2.md).

**Per creare un servizio con uno spazio dei nomi condiviso utilizzando il Console di gestione AWS**

1. [Aprire la console nella versione 2. https://console.aws.amazon.com/ecs/](https://console.aws.amazon.com/ecs/v2)

1. Sulla pagina **Cluster**, scegliere il cluster in cui creare il servizio.

1. In **Servizi**, scegliere **Crea**.

1. Dopo aver inserito altri dettagli a seconda del carico di lavoro, nella sezione **Service Connect**, scegliere **Usa Service Connect**.

1. Per **Namespace**, inserire l'ARN completo del namespace condiviso.

   Il formato ARN è: `arn:aws:servicediscovery:region:account-id:namespace/namespace-id`

1. Configurare le impostazioni rimanenti di Service Connect in base alle esigenze per il tipo di servizio (client o client-server).

1. Completare il processo di creazione del servizio.

È inoltre possibile configurare i servizi utilizzando AWS CLI o AWS SDKs specificando lo spazio dei nomi condiviso ARN nel `namespace` parametro di. `serviceConnectConfiguration`

```
aws ecs create-service \
    --cluster my-cluster \
    --service-name my-service \
    --task-definition my-task-def \
    --service-connect-configuration '{
        "enabled": true,
        "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcdef1234567890",
        "services": [{
            "portName": "web",
            "discoveryName": "my-service",
            "clientAliases": [{
                "port": 80,
                "dnsName": "my-service"
            }]
        }]
    }'
```

## Considerazioni
<a name="service-connect-shared-namespaces-considerations"></a>

Considerate quanto segue quando utilizzate AWS Cloud Map namespace condivisi con Service Connect:
+ AWS RAM deve essere disponibile nel luogo in Regione AWS cui desideri utilizzare lo spazio dei nomi condiviso.
+ Lo spazio dei nomi condiviso deve trovarsi nello stesso dei servizi Regione AWS e dei cluster Amazon ECS.
+ È necessario utilizzare l'ARN del namespace, non l'ID, quando si configura Service Connect con un namespace condiviso.
+ Sono supportati tutti i tipi di namespace: HTTP, DNS privato e namespace DNS pubblico.
+ Se l'accesso a un namespace condiviso viene revocato, le operazioni di Amazon ECS che richiedono l'interazione con lo il namespace (come `CreateService`, `UpdateService` e `ListServicesByNamespace`) avranno esito negativo. Per ulteriori informazioni sulle autorizzazioni per la risoluzione dei problemi relativi ai namespace condivisi, consultare [Risoluzione dei problemi di Amazon ECS Service Connect con namespace condivisi AWS Cloud Map](service-connect-shared-namespaces-troubleshooting.md).
+ Per il rilevamento servizi tramite query DNS in un namespace DNS privato condiviso:
  + Il proprietario del namespace dovrà chiamare `create-vpc-association-authorization` con l'ID della zona ospitata privata associata al namespace e il VPC del consumer.

    ```
    aws route53 create-vpc-association-authorization --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
    ```
  + Il consumer del namespace dovrà chiamare `associate-vpc-with-hosted-zone` con l'ID della zona ospitata privata.

    ```
    aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
    ```
+ Solo il proprietario del namespace può gestire la condivisione delle risorse.
+ I consumer del namespace possono creare e gestire servizi all'interno del namespace condiviso ma non possono modificare il namespace stesso.
+ I nomi Discovery devono essere univoci all'interno del namespace condiviso, indipendentemente dall'account che crea il servizio.
+ I servizi nello spazio dei nomi condiviso possono scoprire e connettersi ai servizi di altri AWS account che hanno accesso allo spazio dei nomi.
+ Quando si abilita TLS per Service Connect e si utilizza un namespace condiviso, l'Autorità di certificazione (CA) AWS Private CA ha l'ambito del namespace. Quando l'accesso al namespace condiviso viene revocato, l'accesso alla CA viene interrotto.
+ Quando si lavora con uno spazio dei nomi condiviso, i proprietari e i consumatori di namespace non hanno accesso ai parametri Amazon tra account diversi per impostazione predefinita. CloudWatch Le metriche di Target vengono pubblicate solo per gli account che possiedono servizi client. Un account proprietario di servizi client non ha accesso alle metriche ricevute da un account che possiede servizi client-server e viceversa. Per consentire l'accesso alle metriche da più account, configura l'osservabilità tra account. CloudWatch *Per ulteriori informazioni sulla configurazione dell'osservabilità tra account, consulta l'osservabilità [CloudWatch tra account nella Amazon User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html). CloudWatch * Per ulteriori informazioni sulle CloudWatch metriche per Service Connect, vedere[Metriche di Amazon ECS CloudWatch](available-metrics.md).

# Risoluzione dei problemi di Amazon ECS Service Connect con namespace condivisi AWS Cloud Map
<a name="service-connect-shared-namespaces-troubleshooting"></a>

Utilizza le seguenti informazioni per risolvere i problemi relativi ai AWS Cloud Map namespace condivisi e Service Connect. Per ulteriori informazioni sull'individuazione dei messaggi di errore, consultare [Risoluzione dei problemi di Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/troubleshooting.html).

I messaggi di errore relativi ai problemi di autorizzazione vengono visualizzati a causa di autorizzazioni mancanti o se l'accesso al namespace viene revocato. 

**Importante**  
È necessario utilizzare l'autorizzazione gestita da `AWSRAMPermissionCloudMapECSFullPermission` per condividere il namespace affinché Service Connect funzioni correttamente con il namespace.

Il messaggio di errore appare in uno dei seguenti formati:

Si è verificato un errore (ClientException) durante la chiamata all'operazione < OperationName >: User: arn:aws:iam: :user/ non è autorizzato a eseguire: < > ActionName on resource: < > perché nessuna politica basata sulle risorse consente l'azione < > ResourceArn ActionName <account-id><user-name>

I seguenti scenari possono generare un messaggio di errore in questo formato:

**Errore di creazione o aggiornamento del cluster**  
Questi problemi si verificano quando le operazioni di Amazon ECS `UpdateCluster` non funzionano `CreateCluster` o falliscono a causa di AWS Cloud Map autorizzazioni mancanti. Le operazioni richiedono le autorizzazioni per le seguenti azioni: AWS Cloud Map   
+ `servicediscovery:GetNamespace`
Assicurarsi che l'invito alla condivisione delle risorse sia stato accettato nell'account consumer e che nella configurazione di Service Connect venga utilizzato l'ARN del namespace corretto.

**Errore di creazione o aggiornamento del servizio**  
Questi problemi si verificano quando le operazioni di Amazon ECS `UpdateService` non funzionano `CreateService` o falliscono a causa di AWS Cloud Map autorizzazioni mancanti. Le operazioni richiedono le autorizzazioni per le seguenti azioni: AWS Cloud Map   
+ `servicediscovery:CreateService`
+ `servicediscovery:GetNamespace`
+ `servicediscovery:GetOperation` (per creare un nuovo servizio AWS Cloud Map )
+ `servicediscovery:GetService` (per quando un servizio AWS Cloud Map esiste già)
Assicurarsi che l'invito alla condivisione delle risorse sia stato accettato nell'account consumer e che nella configurazione di Service Connect venga utilizzato l'ARN del namespace corretto.

**L'operazione `ListServicesByNamespace` ha esito negativo**  
Questo problema si verifica quando l'operazione `ListServicesByNamespace` di Amazon ECS ha esito negativo. Questa operazione richiede autorizzazioni per le seguenti azioni AWS Cloud Map :  
+ `servicediscovery:GetNamespace`
Per risolvere il problema:  
+ Verificare che l'account consumer disponga dell'autorizzazione `servicediscovery:GetNamespace`.
+ Usare l'ARN del namespace quando si chiama l'API, non il nome.
+ Assicurarsi che la condivisione delle risorse sia attiva e che l'invito sia stato accettato.

Utente: non è autorizzato a eseguire: < ActionName > sulla risorsa: < ResourceArn > con un rifiuto esplicito in una politica basata sull'identità. <iam-user>

I seguenti scenari possono generare un messaggio di errore in questo formato:

**L'eliminazione del servizio ha esito negativo e rimane bloccata nello stato `DRAINING`**  
Questo problema si verifica quando le operazioni `DeleteService` di Amazon ECS hanno esito negativo a causa dell'autorizzazione `servicediscovery:DeleteService` mancante quando l'accesso al namespace viene revocato. Inizialmente potrebbe sembrare che il servizio sia stato eliminato correttamente, ma rimarrà bloccato nello stato `DRAINING`. Il messaggio di errore viene visualizzato come un evento del servizio di Amazon ECS.  
Per risolvere questo problema, il proprietario del namespace deve condividere quest'ultimo con l'account consumer per consentire il completamento dell'eliminazione del servizio.

**Le attività in servizio non vengono eseguite**  
Questo problema si verifica quando le attività non vengono avviate a causa della mancanza di autorizzazioni. Il messaggio di errore viene visualizzato come errore di attività interrotta. Per ulteriori informazioni, consulta [Risolvi gli errori relativi alle attività interrotte in Amazon ECS](resolve-stopped-errors.md).  
Le seguenti AWS Cloud Map azioni sono necessarie per eseguire un'attività:  
+ `servicediscovery:GetOperation`
+ `servicediscovery:RegisterInstance`
Assicurarsi che l'account consumer disponga delle autorizzazioni richieste e che il namespace condiviso sia accessibile.

**Le attività non vengono interrotte correttamente o rimangono bloccate nello stato `DEACTIVATING` o `DEPROVISIONING`**  
Questo problema si verifica quando le attività non riescono ad annullare la registrazione dal AWS Cloud Map servizio durante l'arresto a causa della mancanza di autorizzazioni. L'errore viene visualizzato come `statusReason` nell'allegato dell'attività che può essere recuperato utilizzando l'API `DescribeTasks`. Per ulteriori informazioni, consulta il *riferimento [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)all'API di Amazon Elastic Container Service*.  
Per interrompere un'attività sono necessarie le seguenti AWS Cloud Map azioni:  
+ `servicediscovery:DeregisterInstance`
+ `servicediscovery:GetOperation`
Se l'accesso al namespace viene revocato, le attività possono rimanere in uno stato `DEACTIVATING` o `DEPROVISIONING` fino al ripristino dell'accesso al namespace. Richiedere al proprietario del namespace di ripristinare l'accesso al namespace.

# Log di accesso di Amazon ECS Service Connect
<a name="service-connect-envoy-access-logs"></a>

Amazon ECS Service Connect supporta i log di accesso per fornire telemetria dettagliata sulle singole richieste elaborate dal proxy Service Connect. I log di accesso completano i log delle applicazioni esistenti acquisendo metadati sul traffico per richiesta come metodi HTTP, percorsi, codici di risposta, flag e informazioni temporali. Ciò consente una maggiore osservabilità dei modelli di traffico a livello di richiesta e delle interazioni di servizio per una risoluzione e un monitoraggio efficaci.

Per abilitare i log di accesso, specificate sia gli oggetti che `logConfiguration` gli `accessLogConfiguration` oggetti nell'oggetto. `serviceConnectConfiguration` È possibile configurare il formato dei log e se i log devono includere i parametri di interrogazione in. `accessLogConfiguration` I log vengono consegnati al gruppo di log di destinazione dal driver di registro specificato in. `logConfiguration`

```
{
    "serviceConnectConfiguration": {
        "enabled": true,
        "namespace": "myapp.namespace",
        "services": [
            ...
        ],
        "logConfiguration": {
            "logDriver": "awslogs",
            "options": {
                "awslogs-group": "my-envoy-log-group",
                "awslogs-region": "us-west-2",
                "awslogs-stream-prefix": "myapp-envoy-logs"
            }
        },
         "accessLogConfiguration": {
            "format": "TEXT",
            "includeQueryParameters": "ENABLED" 
        }
    }
}
```

## Considerazioni
<a name="service-connect-envoy-access-logs-considerations"></a>

Quando si abilita l'accesso ai log di accesso, si consideri quanto segue
+ I registri di accesso e i registri delle applicazioni vengono entrambi scritti su. `/dev/stdout` Per separare i log di accesso dai log delle applicazioni, si consiglia di utilizzare il driver di `awsfirelens` log con una configurazione OR personalizzata. Fluent Bit Fluentd
+  Si consiglia di utilizzare il driver di `awslogs` registro per inviare i log delle applicazioni e degli accessi alla stessa destinazione. CloudWatch 
+ i registri di accesso sono supportati sui servizi Fargate che utilizzano `1.4.0` versioni della piattaforma o successive.
+ I parametri di interrogazione come gli ID e i token delle richieste sono esclusi dai log di accesso per impostazione predefinita. Per includere i parametri di interrogazione nei log di accesso, impostate su. `includeQueryParameters` `"ENABLED"`

## Formati dei log di accesso
<a name="service-connect-envoy-access-logs-formats"></a>

i registri di accesso possono essere formattati in dizionari in formato JSON o stringhe in formato testo, con differenze negli operatori di comando supportati per i diversi tipi di log di accesso.

### registri di accesso HTTP
<a name="service-connect-envoy-access-logs-formats-http"></a>

I seguenti operatori di comando sono inclusi per impostazione predefinita nei log HTTP:

------
#### [ Text ]

```
[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%"
%RESPONSE_CODE% %BYTES_RECEIVED% %BYTES_SENT% %DURATION%
%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%"
"%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"\n
```

------
#### [ JSON ]

```
{
  "start_time": "%START_TIME%",
  "method": "%REQ(:METHOD)%",
  "path": "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%",
  "protocol": "%PROTOCOL%",
  "response_code": "%RESPONSE_CODE%",
  "bytes_received": "%BYTES_RECEIVED%",
  "bytes_sent": "%BYTES_SENT%",
  "duration_ms": "%DURATION%",
  "upstream_service_time": "%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%",
  "forwarded_for": "%REQ(X-FORWARDED-FOR)%",
  "user_agent": "%REQ(USER-AGENT)%",
  "request_id": "%REQ(X-REQUEST-ID)%",
  "authority": "%REQ(:AUTHORITY)%",
  "upstream_host": "%UPSTREAM_HOST%"
}
```

------

### HTTP2 registri di accesso
<a name="service-connect-envoy-access-logs-formats-http2"></a>

Oltre agli operatori di comando inclusi per i log HTTP, i HTTP2 log includono l'`%STREAM_ID%`operatore per impostazione predefinita.

------
#### [ Text ]

```
[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%"
%RESPONSE_CODE% %BYTES_RECEIVED% %BYTES_SENT% %DURATION%
%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%"
"%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%" "%STREAM_ID%"\n
```

------
#### [ JSON ]

```
{
  "start_time": "%START_TIME%",
  "method": "%REQ(:METHOD)%",
  "path": "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%",
  "protocol": "%PROTOCOL%",
  "response_code": "%RESPONSE_CODE%",
  "bytes_received": "%BYTES_RECEIVED%",
  "bytes_sent": "%BYTES_SENT%",
  "duration": "%DURATION%",
  "upstream_service_time": "%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%",
  "forwarded_for": "%REQ(X-FORWARDED-FOR)%",
  "user_agent": "%REQ(USER-AGENT)%",
  "request_id": "%REQ(X-REQUEST-ID)%",
  "authority": "%REQ(:AUTHORITY)%",
  "upstream_host": "%UPSTREAM_HOST%",
  "stream_id": "%STREAM_ID%"
}
```

------

### Log di accesso gRPC
<a name="service-connect-envoy-access-logs-formats-grpc"></a>

Oltre agli operatori di comando inclusi per i log HTTP, i log di accesso gRPC includono `%STREAM_ID%` l'operatore `%GRPC_STATUS()%` and per impostazione predefinita.

------
#### [ Text ]

```
[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%"
%RESPONSE_CODE% %GRPC_STATUS()% %BYTES_RECEIVED% %BYTES_SENT% %DURATION%
%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%"
"%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%" "%STREAM_ID%"\n
```

------
#### [ JSON ]

```
{
  "start_time": "%START_TIME%",
  "method": "%REQ(:METHOD)%",
  "path": "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%",
  "protocol": "%PROTOCOL%",
  "response_code": "%RESPONSE_CODE%",
  "grpc_status": "%GRPC_STATUS()%",
  "bytes_received": "%BYTES_RECEIVED%",
  "bytes_sent": "%BYTES_SENT%",
  "duration": "%DURATION%",
  "upstream_service_time": "%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%",
  "forwarded_for": "%REQ(X-FORWARDED-FOR)%",
  "user_agent": "%REQ(USER-AGENT)%",
  "request_id": "%REQ(X-REQUEST-ID)%",
  "authority": "%REQ(:AUTHORITY)%",
  "upstream_host": "%UPSTREAM_HOST%",
  "stream_id": "%STREAM_ID%"
}
```

------

### Registri di accesso TCP
<a name="service-connect-envoy-access-logs-formats-tcp"></a>

I seguenti operatori di comando sono inclusi per impostazione predefinita nei registri di accesso TCP:

------
#### [ Text ]

```
[%START_TIME%] %DOWNSTREAM_REMOTE_ADDRESS% %DOWNSTREAM_REMOTE_PORT% 
%BYTES_RECEIVED% %BYTES_SENT% %DURATION%  
%CONNECTION_TERMINATION_DETAILS% %CONNECTION_ID%\n
```

------
#### [ JSON ]

```
{
  "start_time": "%START_TIME%",
  "downstream_remote_address": "%DOWNSTREAM_REMOTE_ADDRESS%",
  "downstream_remote_port": "%DOWNSTREAM_REMOTE_PORT%",s
  "bytes_received": "%BYTES_RECEIVED%",
  "bytes_sent": "%BYTES_SENT%",
  "duration": "%DURATION%",
  "connection_termination_details": "%CONNECTION_TERMINATION_DETAILS%",
  "connection_id": %CONNECTION_ID%
}
```

------

Per ulteriori informazioni su questi operatori di comando, vedete Operatori di [comando nella documentazione](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators) di Envoy.

# Abilitazione dei log di accesso per Amazon ECS Service Connect
<a name="service-connect-access-logs-configuration"></a>

I log di accesso non sono abilitati per impostazione predefinita per i servizi Amazon ECS che utilizzano Service Connect. Puoi abilitare i log di accesso nei seguenti modi.

## Abilitare i log di accesso utilizzando il AWS CLI
<a name="service-connect-access-logs-configure-cli"></a>

Il comando seguente mostra come abilitare i log di accesso per un servizio Amazon ECS utilizzando AWS CLI specificando un `accessLogConfiguration` quando si crea il servizio:

```
aws ecs create-service \
    --cluster my-cluster \
    --service-name my-service \
    --task-definition my-task-def \
    --service-connect-configuration '{
        "enabled": true,
        "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcdef1234567890",
        "services": [{
            "portName": "web",
            "discoveryName": "my-service",
            "clientAliases": [{
                "port": 80,
                "dnsName": "my-service"
            }]
        }],
        "logConfiguration": {
            "logDriver": "awslogs",
            "options": {
                "awslogs-group": "my-envoy-log-group",
                "awslogs-region": "us-west-2",
                "awslogs-stream-prefix": "myapp-envoy-logs"
            }
        },
         "accessLogConfiguration": {
            "format": "TEXT",
            "includeQueryParameters": "ENABLED" 
        }
    }'
```

## Abilita i log di accesso utilizzando la console
<a name="service-connect-access-logs-configure-console"></a>

Per una procedura dettagliata di creazione del servizio, consultare [Creazione di un'implementazione di aggiornamenti continui di Amazon ECS](create-service-console-v2.md).

**Per creare un servizio con uno spazio dei nomi condiviso utilizzando Console di gestione AWS**

1. [Aprire la console nella versione 2. https://console.aws.amazon.com/ecs/](https://console.aws.amazon.com/ecs/v2)

1. Sulla pagina **Cluster**, scegliere il cluster in cui creare il servizio.

1. In **Servizi**, scegliere **Crea**.

1. Dopo aver inserito altri dettagli a seconda del carico di lavoro, nella sezione **Service Connect**, scegliere **Usa Service Connect**.

1. Configura le impostazioni di Service Connect in base alle esigenze per il tipo di servizio (client o client-server).

1. Espandi la **configurazione del registro di accesso**. Per **Format**, scegli **JSON** o`TEXT`.

1. Per includere i parametri di interrogazione nei log di accesso, selezionate **Includi parametri di interrogazione**.

1. Completare il processo di creazione del servizio.

# Crittografare il traffico di Amazon ECS Service Connect
<a name="service-connect-tls"></a>

Amazon ECS Service Connect supporta la crittografia automatica del traffico con certificati Transport Layer Security (TLS) per i servizi Amazon ECS. Quando si indirizzano i servizi Amazon ECS verso un [AWS Autorità di certificazione privata (AWS Private CA)](https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html), Amazon ECS fornisce automaticamente certificati TLS per crittografare il traffico tra i servizi Amazon ECS Service Connect. Amazon ECS genera, ruota e distribuisce i certificati TLS utilizzati per la crittografia del traffico.

La crittografia automatica del traffico con Service Connect utilizza funzionalità di crittografia leader del settore per proteggere le comunicazioni tra servizi e soddisfare i requisiti di sicurezza. Supporta certificati AWS Autorità di certificazione privata TLS con crittografia`256-bit ECDSA`. `2048-bit RSA` Si dispone anche del pieno controllo sui certificati privati e sulle chiavi di firma per soddisfare i requisiti di conformità. Per impostazione predefinita, TLS 1.3 è supportato, ma TLS 1.0-1.2 non lo sono. Service Connect supporta TLS 1.3 con i seguenti codici:
+ `TLS_AES_128_GCM_SHA256`
+ `TLS_AES_256_GCM_SHA384`
+ `TLS_CHACHA20_POLY1305_SHA256`

**Nota**  
Per utilizzare TLS 1.3, è necessario abilitarlo sul listener sulla destinazione.  
Solo il traffico in entrata e in uscita che passa attraverso l'agente Amazon ECS è crittografato.

## Controlli dell'integrità di Service Connect e Application Load Balancer
<a name="service-connect-tls-alb-healthchecks"></a>

È possibile utilizzare Service Connect con i controlli dell'integrità di Application Load Balancer e la crittografia TLS 1.3. 

### Configurazione di Application Load Balancer
<a name="service-connect-tls-alb-config"></a>

Configurare l'Application Load Balancer con le impostazioni seguenti:
+ Configura un listener TLS con una politica di sicurezza TLS 1.3 (come `Policy- -1-2-2021-06`ELBSecurity). TLS13 Per ulteriori informazioni, consultare [Security policies for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html). 
+ Creare un gruppo di destinazione con le seguenti impostazioni:
  + Impostare il protocollo su HTTPS
  + Allegare il gruppo di destinazione al listener TLS
  + Configurare la porta di controllo dell'integrità in modo tale che corrisponda alla porta del container del servizio Service Connect

### Configurazione di Service Connect
<a name="service-connect-tls-sc-config"></a>

Configurare un servizio con le seguenti impostazioni:
+ Configurare il servizio per utilizzare la modalità di rete `awsvpc`, poiché la modalità di rete `bridge` non è supportata.
+ Abilita Service Connect per il servizio.
+ Impostare la configurazione del bilanciatore del carico con le seguenti impostazioni:
  + Specificare il gruppo di destinazione configurato per l'Application Load Balancer
  + Impostare la porta del container in modo che corrisponda a quella del servizio Service Connect TLS
+ Non impostare `ingressPortOverride` per il servizio. Per ulteriori informazioni, consulta il *riferimento [ServiceConnectService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceConnectService.html)all'API di Amazon Elastic Container Service*.

### Considerazioni
<a name="service-connect-tls-alb-considerations"></a>

Considerare quanto segue durante l'utilizzo di Application Load Balancer, TLS e Service Connect:
+ Utilizzare la modalità di rete `awsvpc` anziché la modalità di rete `bridge` per i controlli dell'integrità HTTPS quando si usa Service Connect con crittografia TLS. I controlli dell'integrità HTTP continueranno a funzionare con la modalità `bridge`.
+ Configurare la porta di controllo dell'integrità del gruppo di destinazione in modo che corrisponda alla porta del container del servizio Service Connect, non alla porta HTTPS predefinita (443).

## AWS Autorità di certificazione privata certificati e Service Connect
<a name="service-connect-tls-certificates"></a>

È necessario disporre del ruolo IAM dell'infrastruttura. Per ulteriori informazioni su questo ruolo, consultare [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html                     ).

**AWS Autorità di certificazione privata modalità per Service Connect**

AWS Autorità di certificazione privata può funzionare in due modalità: generica e di breve durata.
+ Generica: certificati che possono essere configurati con qualsiasi data di scadenza.
+ Di breve durata: certificati con una validità massima di sette giorni.

Sebbene Amazon ECS supporti entrambe le modalità, consigliamo di utilizzare certificati di breve durata. Per impostazione predefinita, i certificati ruotano ogni cinque giorni e l'esecuzione in modalità di breve durata offre risparmi significativi sui costi rispetto agli usi generici.

Service Connect non supporta la revoca dei certificati e sfrutta invece certificati di breve durata con rotazione frequente dei certificati. Si dispone dell'autorità per modificare la frequenza di rotazione, disabilitare o eliminare i segreti utilizzando la [rotazione gestita](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_managed.html) in [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html), ma ciò può comportare le seguenti possibili conseguenze.
+ Frequenza di rotazione più breve ‐ Una frequenza di rotazione più breve comporta costi più elevati a AWS Private CA causa di Secrets Manager AWS KMS e Auto Scaling che subiscono un maggiore carico di lavoro per la rotazione.
+ Frequenza di rotazione più lunga: le comunicazioni delle applicazioni hanno esito negativo se la frequenza di rotazione supera i **sette** giorni.
+ Eliminazione del segreto: l'eliminazione del segreto comporta un errore di rotazione e influisce sulle comunicazioni con le applicazioni dei clienti.

Se la rotazione dei segreti ha esito negativo, viene pubblicato un evento `RotationFailed` in [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html). [Puoi anche impostare un CloudWatch allarme per.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) `RotationFailed`

**Importante**  
Non aggiungere regioni di replica ai segreti. In questo modo si impedisce ad Amazon ECS di eliminare il segreto, poiché Amazon ECS non dispone dell'autorizzazione per rimuovere le regioni dalla replica. Se la replica è stata già aggiunta, eseguire il comando riportato di seguito.  

```
aws secretsmanager remove-regions-from-replication \
 --secret-id SecretId \
 --remove-replica-regions region-name
```

**Autorità di certificazione subordinate**  
È possibile importare qualsiasi certificato AWS Private CA, root o subordinato, a Service Connect TLS per emettere certificati di entità finale per i servizi. L'emittente fornito viene considerato firmatario e radice di attendibilità ovunque. È possibile emettere certificati di entità finale per diverse parti dell'applicazione da diversi subordinati. CAs Quando utilizzi AWS CLI, fornisci l'Amazon Resource Name (ARN) della CA per stabilire la catena di fiducia.

**Autorità di certificazioneon-premises**  
Per utilizzare la CA on-premises, è necessario creare e configurare una CA subordinata in AWS Autorità di certificazione privata. Ciò garantisce che tutti i certificati TLS emessi per i carichi di lavoro di Amazon ECS condividano la catena di attendibilità con i carichi di lavoro eseguiti on-premises e siano in grado di connettersi in modo sicuro.

**Importante**  
Aggiungi il tag **richiesto** `AmazonECSManaged : true` nel tuo AWS Private CA. 

**Infrastructure as code (IaC)**  
Quando si utilizza Service Connect TLS con gli strumenti Infrastructure as Code (IaC), è importante configurare correttamente le dipendenze per evitare problemi, come i servizi bloccati nel drenaggio. La AWS KMS chiave, se fornita, il ruolo IAM e AWS Private CA le dipendenze devono essere eliminati dopo il servizio Amazon ECS.

Se lo spazio dei nomi utilizzato per Service Connect è uno spazio dei nomi condiviso, puoi scegliere di utilizzare una risorsa condivisa. AWS Private CA Per ulteriori informazioni, consultare [Attach a policy for cross-account access](https://docs.aws.amazon.com/privateca/latest/userguide/pca-ram.html) nella *Guida per l'utente di AWS Autorità di certificazione privata *.

## Service Connect e Secrets Manager
<a name="service-connect-asm"></a>

**Quando si utilizza la crittografia Amazon ECS Service Connect with TLS, il servizio interagisce con Secrets Manager nei seguenti modi:**  
Service Connect utilizza il ruolo di infrastruttura fornito per creare segreti all'interno di Secrets Manager. Questi segreti vengono utilizzati per archiviare le chiavi private associate ai certificati TLS per crittografare il traffico tra i servizi di Service Connect.

**avvertimento**  
La creazione e la gestione automatiche di questi segreti da parte di Service Connect semplificano il processo di implementazione della crittografia TLS per i servizi. Tuttavia, è importante essere consapevoli delle potenziali implicazioni per la sicurezza. Altri ruoli IAM con accesso in lettura a Secrets Manager potrebbero essere in grado di accedere a questi segreti creati automaticamente. Ciò potrebbe esporre materiale crittografico sensibile a soggetti non autorizzati, se i controlli di accesso non sono configurati correttamente.  
Per mitigare questo rischio, seguire queste best practice:  
Gestire e limitare con attenzione l'accesso a Secrets Manager, in particolare per i segreti creati da Service Connect.
Verificare regolarmente i ruoli IAM e le relative autorizzazioni per garantire il rispetto del principio del privilegio minimo.

Quando si concede l'accesso in lettura a Secrets Manager, valutare la possibilità di escludere le chiavi private TLS create da Service Connect. Puoi farlo utilizzando una condizione nelle tue policy IAM per escludere i segreti ARNs che corrispondono allo schema:

```
"arn:aws:secretsmanager:::secret:ecs-sc!"
```

Un esempio di policy IAM che nega l'operazione `GetSecretValue` a tutti i segreti con il prefisso `ecs-sc!`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*"
        }
    ]
}
```

------

**Nota**  
Questo è un esempio generale e potrebbe essere necessario modificarlo in base al caso d'uso specifico e alla configurazione AWS dell'account. Testare sempre attentamente le policy IAM per assicurarsi che forniscano l'accesso previsto mantenendo al contempo la sicurezza.

Comprendendo come Service Connect interagisce con Secrets Manager, si può gestire meglio la sicurezza dei servizi Amazon ECS sfruttando al contempo i vantaggi della crittografia TLS automatica.

## Service Connect e AWS Key Management Service
<a name="service-connect-kms"></a>

È possibile utilizzare [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)per crittografare e decrittografare le risorse Service Connect. AWS KMS è un servizio gestito AWS in cui è possibile creare e gestire chiavi crittografiche per proteggere i dati.

Quando si utilizza AWS KMS con Service Connect, è possibile scegliere di utilizzare una chiave di AWS proprietà che AWS gestisca per conto proprio oppure scegliere una AWS KMS chiave esistente. Puoi anche [creare una nuova AWS KMS chiave](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) da usare.

**Fornire la propria chiave di crittografia**  
Puoi fornire i tuoi materiali chiave oppure puoi utilizzare un archivio di chiavi esterno tramite AWS Key Management Service Importa la tua chiave in AWS KMS, quindi specificare l'Amazon Resource Name (ARN) di quella chiave in Amazon ECS Service Connect.

Di seguito è riportato un esempio AWS KMS di policy. Sostituisci i *user input* valori con i tuoi.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "id",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/role-name"
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyPair"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Per ulteriori informazioni sulle policy della chiave, consultare [Creating a key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

**Nota**  
Service Connect supporta solo chiavi di crittografia AWS KMS simmetriche. Non è possibile utilizzare nessun altro tipo di AWS KMS chiave per crittografare le risorse Service Connect. Per informazioni su come determinare se una AWS KMS chiave è una chiave di crittografia simmetrica, consulta [Identificare le chiavi KMS asimmetriche](https://docs.aws.amazon.com/kms/latest/developerguide/identify-key-types.html#identify-asymm-keys).

[https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks)

# Abilitazione di TLS per Amazon ECS Service Connect
<a name="enable-service-connect-tls"></a>

La crittografia del traffico viene abilitata quando si crea o si aggiorna un servizio di Service Connect.

**Per abilitare la crittografia del traffico per un servizio in uno spazio dei nomi esistente utilizzando Console di gestione AWS**

1. È necessario disporre del ruolo IAM dell'infrastruttura. Per ulteriori informazioni su questo ruolo, consultare [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html                     ).

1. [Apri la console nella versione 2. https://console.aws.amazon.com/ecs/](https://console.aws.amazon.com/ecs/v2)

1. Nel riquadro di navigazione, selezionare **Namespaces**.

1. Scegliere il **Namespace** con il **Servizio** per cui si desidera abilitare la crittografia del traffico.

1. Scegliere il **Servizio** per cui si desidera abilitare la crittografia del traffico.

1. Scegliere **Aggiorna servizio** nell'angolo in alto a destra e scorrere in basso fino alla sezione Service Connect.

1. Scegliere **Attiva la crittografia del traffico** tra le informazioni sul servizio per abilitare TLS.

1. Per **Ruolo di Service Connect TLS**, scegliere un ruolo IAM dell'infrastruttura esistente o crearne uno nuovo.

1. Per **Autorità di certificato del firmatario**, scegliere un'autorità del certificato esistente o creane una nuova.

   Per ulteriori informazioni, consultare le [AWS Autorità di certificazione privata certificati e Service Connect](service-connect-tls.md#service-connect-tls-certificates).

1. Per **Scegli una AWS KMS key**, scegli una chiave AWS posseduta e gestita oppure puoi scegliere una chiave diversa. Si può anche scegliere di crearne una nuova.

Per un esempio di utilizzo di TLS AWS CLI per configurare il servizio,[Configurazione di Amazon ECS Service Connect con AWS CLI](create-service-connect.md).

# Verificare che TLS sia abilitato per Amazon ECS Service Connect
<a name="verify-tls-enabled"></a>

Service Connect avvia TLS nell'agente Service Connect e lo termina nell'agente di destinazione. Di conseguenza, il codice dell'applicazione non vede mai le interazioni TLS. Seguire questa procedura per verificare che TLS sia abilitato.

1. Includere la CLI `openssl` nell'immagine dell'applicazione.

1. Abilitare [ECS Exec](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html) sui servizi per connettersi alle attività tramite SSM. In alternativa, è possibile avviare un'istanza Amazon EC2 nello stesso Amazon VPC del servizio.

1. Recuperare l'IP e la porta di un'attività da un servizio che si desidera verificare. È possibile recuperare l'indirizzo IP dell'attività nella AWS Cloud Map console. Le informazioni si trovano nella pagina dei dettagli del servizio relativa al namespace. 

1. Accedere a una qualsiasi delle attività utilizzando `execute-command` come nell'esempio seguente. In alternativa, accedere all'istanza Amazon EC2 creata nella **Fase 2**.

   ```
   $ aws ecs execute-command --cluster cluster-name \
       --task task-id  \
       --container container-name \
       --interactive \
       --command "/bin/sh"
   ```
**Nota**  
La chiamata diretta al nome DNS non rivela il certificato.

1. Nella shell connessa, utilizzare la CLI `openssl` per verificare e visualizzare il certificato allegato all'attività.

   Esempio:

   ```
   openssl s_client -connect 10.0.147.43:6379 < /dev/null 2> /dev/null \ 
   | openssl x509 -noout -text
   ```

   Risposta di esempio:

   ```
   Certificate:
       Data:
           Version: 3 (0x2)
           Serial Number:
               <serial-number>
           Signature Algorithm: ecdsa-with-SHA256
           Issuer: <issuer>
           Validity
               Not Before: Jan 23 21:38:12 2024 GMT
               Not After : Jan 30 22:38:12 2024 GMT
           Subject: <subject>
           Subject Public Key Info:
               Public Key Algorithm: id-ecPublicKey
                   Public-Key: (256 bit)
                   pub:
                       <pub>
                   ASN1 OID: prime256v1
                   NIST CURVE: P-256
           X509v3 extensions:
               X509v3 Subject Alternative Name:
                   DNS:redis.yelb-cftc
               X509v3 Basic Constraints:
                   CA:FALSE
               X509v3 Authority Key Identifier:
                   keyid:<key-id>
   
               X509v3 Subject Key Identifier:
                   1D:<id>
               X509v3 Key Usage: critical
                   Digital Signature, Key Encipherment
               X509v3 Extended Key Usage:
                   TLS Web Server Authentication, TLS Web Client Authentication
       Signature Algorithm: ecdsa-with-SHA256
           <hash>
   ```

# Configurazione di Amazon ECS Service Connect con AWS CLI
<a name="create-service-connect"></a>

È possibile creare un servizio Amazon ECS per un'attività Fargate che usa Service Connect con la AWS CLI.

**Nota**  
Puoi utilizzare gli endpoint del servizio dual-stack per interagire con Amazon ECS da AWS CLI, SDKs e l'API Amazon ECS su entrambi e. IPv4 IPv6 Per ulteriori informazioni, consulta [Utilizzo degli endpoint dual-stack Amazon ECS](dual-stack-endpoint.md).

## Prerequisiti
<a name="create-service-connect-prereqs"></a>

Di seguito sono riportati i prerequisiti di Service Connect:
+ Verifica che sia installata e configurata la versione più recente di. AWS CLI Per ulteriori informazioni, consultare [Installing or updating to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ L'utente IAM dispone delle autorizzazioni necessarie specificate nell'esempio di policy IAM [AmazonECS\$1 FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonECS_FullAccess).
+ Sono disponibili un VPC, una sottorete, una tabella di instradamento e un gruppo di sicurezza creati per l'uso. Per ulteriori informazioni, consultare [Crea un cloud privato virtuale](get-set-up-for-amazon-ecs.md#create-a-vpc).
+ Hai un ruolo di esecuzione delle attività con il nome `ecsTaskExecutionRole` e la policy gestita da `AmazonECSTaskExecutionRolePolicy` è associata al ruolo. Questo ruolo consente a Fargate di scrivere i log delle applicazioni NGINX e i log del proxy Service Connect su Amazon Logs. CloudWatch Per ulteriori informazioni, consulta [Creazione del ruolo di esecuzione attività](task_execution_IAM_role.md#create-task-execution-role).

## Fase 1: Creazione del cluster
<a name="create-service-connect-cluster"></a>

Utilizzare la procedura seguente per creare un cluster e un namespace Amazon ECS.

**Per creare il cluster e AWS Cloud Map lo spazio dei nomi Amazon ECS**

1. Crea un cluster Amazon ECS denominato `tutorial` da utilizzare. Il parametro `--service-connect-defaults` imposta il namespace predefinito del cluster. Nell'output di esempio, uno AWS Cloud Map spazio dei nomi con il nome `service-connect` non esiste in questo account e Regione AWS quindi lo spazio dei nomi viene creato da Amazon ECS. Il namespace è creato in AWS Cloud Map nell'account ed è visibile insieme a tutti gli altri spazi dei nomi, quindi utilizza un nome che ne indichi lo scopo.

   ```
   aws ecs create-cluster --cluster-name tutorial --service-connect-defaults namespace=service-connect
   ```

   Output:

   ```
   {
       "cluster": {
           "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/tutorial",
           "clusterName": "tutorial",
           "serviceConnectDefaults": {
               "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-EXAMPLE"
           },
           "status": "PROVISIONING",
           "registeredContainerInstancesCount": 0,
           "runningTasksCount": 0,
           "pendingTasksCount": 0,
           "activeServicesCount": 0,
           "statistics": [],
           "tags": [],
           "settings": [
               {
                   "name": "containerInsights",
                   "value": "disabled"
               }
           ],
           "capacityProviders": [],
           "defaultCapacityProviderStrategy": [],
           "attachments": [
               {
                   "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
                   "type": "sc",
                   "status": "ATTACHING",
                   "details": []
               }
           ],
           "attachmentsStatus": "UPDATE_IN_PROGRESS"
       }
   }
   }
   ```

1. Verifica che il cluster sia stato creato:

   ```
   aws ecs describe-clusters --clusters tutorial
   ```

   Output:

   ```
   {
       "clusters": [
           {
               "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/tutorial",
               "clusterName": "tutorial",
               "serviceConnectDefaults": {
                   "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-EXAMPLE"
               },
               "status": "ACTIVE",
               "registeredContainerInstancesCount": 0,
               "runningTasksCount": 0,
               "pendingTasksCount": 0,
               "activeServicesCount": 0,
               "statistics": [],
               "tags": [],
               "settings": [],
               "capacityProviders": [],
               "defaultCapacityProviderStrategy": []
           }
       ],
       "failures": []
   }
   ```

1. (Facoltativo) Verifica che lo spazio dei nomi sia stato creato in. AWS Cloud MapÈ possibile utilizzare la configurazione Console di gestione AWS o la AWS CLI configurazione normale così come viene creata in. AWS Cloud Map

   Ad esempio, utilizza la AWS CLI.

   ```
   aws servicediscovery get-namespace --id ns-EXAMPLE
   ```

   Output:

   ```
   {
       "Namespace": {
           "Id": "ns-EXAMPLE",
           "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-EXAMPLE",
           "Name": "service-connect",
           "Type": "HTTP",
           "Properties": {
               "DnsProperties": {
                   "SOA": {}
               },
               "HttpProperties": {
                   "HttpName": "service-connect"
               }
           },
           "CreateDate": 1661749852.422,
           "CreatorRequestId": "service-connect"
       }
   }
   ```

## Fase 2: Creazione del servizio per il server
<a name="create-service-connect-nginx-server"></a>

La funzionalità Service Connect è progettata per l'interconnessione di più applicazioni su Amazon ECS. Almeno una di queste applicazioni deve fornire un servizio Web a cui connettersi. In questa fase viene creata:
+ La definizione dell'attività che utilizza l'immagine del container NGINX ufficiale non modificata e include la configurazione di Service Connect.
+ La definizione del servizio Amazon ECS che configura Service Connect per fornire il rilevamento servizi e il mesh di servizi che indirizza il traffico verso questo servizio. La configurazione riutilizza il namespace predefinito della configurazione del cluster per ridurre la quantità di operazioni di configurazione del servizio effettuata per ciascun servizio.
+ Il servizio Amazon ECS. Esegue un'attività utilizzando la definizione di attività e inserisce un container aggiuntivo per il proxy Service Connect. Il proxy Service Connect è in ascolto sulla porta dalla mappatura della porta del container nella definizione di attività. In un'applicazione client in esecuzione su Amazon ECS, il proxy nell'attività client ascolta le connessioni in uscita al nome della porta di definizione dell'attività, al nome della porta di individuazione del servizio o al nome alias del client del servizio e al numero di porta dall'alias del client.

**Creazione del servizio Web con Service Connect**

1. Registra una definizione di attività che sia compatibile con Fargate e utilizzi la modalità di rete `awsvpc`. Completare la procedura riportata di seguito.

   1. Crea un file denominato `service-connect-nginx.json` con il contenuto della seguente definizione di attività.

      Questa definizione di attività configura Service Connect aggiungendo i parametri `name` e `appProtocol` alla mappatura delle porte. Il nome della porta rende questa porta più identificabile nella configurazione del servizio quando vengono utilizzate più porte. Il nome della porta viene utilizzato anche per impostazione predefinita come nome individuabile per essere utilizzato da altre applicazioni nel namespace.

      La definizione dell'attività contiene il ruolo IAM dell'attività perché il servizio ha abilitato l'esecuzione ECS.
**Importante**  
Questa definizione di attività utilizza `logConfiguration` a per inviare l'output nginx da `stdout` e `stderr` verso Amazon Logs. CloudWatch Questo ruolo di esecuzione delle attività non dispone delle autorizzazioni aggiuntive necessarie per creare il CloudWatch gruppo di log Logs. Crea il gruppo di log in CloudWatch Logs utilizzando o. Console di gestione AWS AWS CLI Se non desideri inviare i log di nginx a Logs, puoi rimuovere CloudWatch il. `logConfiguration`  
Sostituisci l' Account AWS id nel ruolo di esecuzione dell'attività con il tuo id. Account AWS 

      ```
      {
          "family": "service-connect-nginx",
          "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
          "taskRoleArn": "arn:aws:iam::123456789012:role/ecsTaskRole",
          "networkMode": "awsvpc",
          "containerDefinitions": [
              {
              "name": "webserver",
              "image": "public.ecr.aws/docker/library/nginx:latest",
              "cpu": 100,
              "portMappings": [
                  {
                      "name": "nginx",
                      "containerPort": 80,
                      "protocol": "tcp", 
                      "appProtocol": "http"
                  }
              ],
              "essential": true,
              "logConfiguration": {
                  "logDriver": "awslogs",
                  "options": {
                      "awslogs-group": "/ecs/service-connect-nginx",
                      "awslogs-region": "region", 
                      "awslogs-stream-prefix": "nginx"
                  }
              }
              }
          ],
          "cpu": "256",
          "memory": "512"
      }
      ```

   1. Registra la definizione di attività usando il file `service-connect-nginx.json`:

      ```
      aws ecs register-task-definition --cli-input-json file://service-connect-nginx.json
      ```

1. Creare un servizio:

   1. Crea un file denominato `service-connect-nginx-service.json` con il contenuto del servizio Amazon ECS che stai per creare. Questo esempio usa la definizione di attività creata nella fase precedente. È obbligatorio l'uso di un parametro `awsvpcConfiguration` perché la definizione di attività di esempio usa la modalità di rete `awsvpc`.

      Quando si crea il servizio ECS, specificare Fargate e la versione della piattaforma `LATEST` che supporta Service Connect. I `securityGroups` e le `subnets` devono appartenere a un cloud VPC che soddisfi i requisiti per l'utilizzo di Amazon ECS. Puoi ottenere il gruppo di sicurezza e la sottorete IDs dalla console Amazon VPC. 

      Questo servizio configura Service Connect aggiungendo il parametro `serviceConnectConfiguration`. Il namespace non è richiesto perché il cluster ha un namespace predefinito configurato. Le applicazioni client in esecuzione in ECS nel namespace si connettono a questo servizio utilizzando il `portName` e la porta negli `clientAliases`. Ad esempio, questo servizio è raggiungibile tramite `http://nginx:80/`, poiché nginx fornisce una pagina di benvenuto nella posizione root `/`. Le applicazioni esterne che non sono in esecuzione in Amazon ECS o che non si trovano nello stesso namespace possono raggiungere questa applicazione tramite il proxy Service Connect utilizzando l'indirizzo IP dell'attività e il numero di porta indicato nella definizione dell'attività. Per la configurazione di `tls`, aggiungere il certificato `arn` per il `awsPcaAuthorityArn`, `kmsKey` e `roleArn` del ruolo IAM.

      Questo servizio utilizza un `logConfiguration` per inviare l'output del proxy Service Connect da `stdout` e `stderr` verso Amazon CloudWatch Logs. Questo ruolo di esecuzione delle attività non dispone delle autorizzazioni aggiuntive necessarie per creare il gruppo di CloudWatch log Logs. Crea il gruppo di log in CloudWatch Logs utilizzando o. Console di gestione AWS AWS CLI Si consiglia di creare questo gruppo di log e di archiviare i log proxy in CloudWatch Logs. Se non desideri inviare i log del proxy a Logs, puoi CloudWatch rimuovere il. `logConfiguration`

      ```
      {
          "cluster": "tutorial",
          "deploymentConfiguration": {
              "maximumPercent": 200,
              "minimumHealthyPercent": 0
          },
          "deploymentController": {
              "type": "ECS"
          },
          "desiredCount": 1,
          "enableECSManagedTags": true,
          "enableExecuteCommand": true,
          "launchType": "FARGATE",
          "networkConfiguration": {
              "awsvpcConfiguration": {
                  "assignPublicIp": "ENABLED",
                  "securityGroups": [
                      "sg-EXAMPLE"
                  ],
                  "subnets": [
                      "subnet-EXAMPLE",
                      "subnet-EXAMPLE",
                      "subnet-EXAMPLE"
                  ]
                 }
          },
          "platformVersion": "LATEST",
          "propagateTags": "SERVICE",
          "serviceName": "service-connect-nginx-service",
          "serviceConnectConfiguration": {
              "enabled": true,
              "services": [
                  {
                      "portName": "nginx",
                      "clientAliases": [
                          {
                              "port": 80
                          }
                      ],
                      "tls": {
                         "issuerCertificateAuthority": {
                            "awsPcaAuthorityArn": "certificateArn"
                         }, 
                         "kmsKey": "kmsKey", 
                         "roleArn": "iamRoleArn"
                      }
                  }
              ],
              "logConfiguration": {
                  "logDriver": "awslogs",
                  "options": {
                      "awslogs-group": "/ecs/service-connect-proxy",
                      "awslogs-region": "region",
                      "awslogs-stream-prefix": "service-connect-proxy"
                  }
              }
          },
          "taskDefinition": "service-connect-nginx"
      }
      ```

   1. Creare un servizio utilizzando il file `service-connect-nginx-service.json`:

      ```
      aws ecs create-service --cluster tutorial --cli-input-json file://service-connect-nginx-service.json
      ```

      Output:

      ```
      {
          "service": {
              "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/tutorial/service-connect-nginx-service",
              "serviceName": "service-connect-nginx-service",
              "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/tutorial",
              "loadBalancers": [],
              "serviceRegistries": [],
              "status": "ACTIVE",
              "desiredCount": 1,
              "runningCount": 0,
              "pendingCount": 0,
              "launchType": "FARGATE",
              "platformVersion": "LATEST",
              "platformFamily": "Linux",
              "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/service-connect-nginx:1",
              "deploymentConfiguration": {
                  "deploymentCircuitBreaker": {
                      "enable": false,
                      "rollback": false
                  },
                  "maximumPercent": 200,
                  "minimumHealthyPercent": 0
              },
              "deployments": [
                  {
                      "id": "ecs-svc/3763308422771520962",
                      "status": "PRIMARY",
                      "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/service-connect-nginx:1",
                      "desiredCount": 1,
                      "pendingCount": 0,
                      "runningCount": 0,
                      "failedTasks": 0,
                      "createdAt": 1661210032.602,
                      "updatedAt": 1661210032.602,
                      "launchType": "FARGATE",
                      "platformVersion": "1.4.0",
                      "platformFamily": "Linux",
                      "networkConfiguration": {
                          "awsvpcConfiguration": {
                              "assignPublicIp": "ENABLED",
                              "securityGroups": [
                                  "sg-EXAMPLE"
                              ],
                              "subnets": [
                                  "subnet-EXAMPLEf",
                                  "subnet-EXAMPLE",
                                  "subnet-EXAMPLE"
                              ]
                          }
                      },
                      "rolloutState": "IN_PROGRESS",
                      "rolloutStateReason": "ECS deployment ecs-svc/3763308422771520962 in progress.",
                      "failedLaunchTaskCount": 0,
                      "replacedTaskCount": 0,
                      "serviceConnectConfiguration": {
                          "enabled": true,
                          "namespace": "service-connect",
                          "services": [
                              {
                                  "portName": "nginx",
                                  "clientAliases": [
                                      {
                                          "port": 80
                                      }
                                  ]
                              }
                          ],
                          "logConfiguration": {
                              "logDriver": "awslogs",
                              "options": {
                                  "awslogs-group": "/ecs/service-connect-proxy",
                                  "awslogs-region": "us-west-2",
                                  "awslogs-stream-prefix": "service-connect-proxy"
                              },
                              "secretOptions": []
                          }
                      },
                      "serviceConnectResources": [
                          {
                              "discoveryName": "nginx",
                              "discoveryArn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-EXAMPLE"
                          }
                      ]
                  }
              ],
              "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS",
              "version": 0,
              "events": [],
              "createdAt": 1661210032.602,
              "placementConstraints": [],
              "placementStrategy": [],
              "networkConfiguration": {
                  "awsvpcConfiguration": {
                      "assignPublicIp": "ENABLED",
                      "securityGroups": [
                          "sg-EXAMPLE"
                      ],
                      "subnets": [
                          "subnet-EXAMPLE",
                          "subnet-EXAMPLE",
                          "subnet-EXAMPLE"
                      ]
                  }
              },
              "schedulingStrategy": "REPLICA",
              "enableECSManagedTags": true,
              "propagateTags": "SERVICE",
              "enableExecuteCommand": true
          }
      }
      ```

      La `serviceConnectConfiguration` fornita viene visualizzata all'interno della prima *implementazione* dell'output. Quando apporti modifiche al servizio ECS in modi che richiedono modifiche alle attività, Amazon ECS crea una nuova implementazione.

## Fase 3: Verifica della riuscita della connessione
<a name="create-service-connect-verify"></a>

Per verificare che Service Connect sia configurato e funzionante, completa questa procedura per connetterti al servizio Web da un'applicazione esterna. Quindi, guarda le metriche aggiuntive nelle creazioni CloudWatch del proxy Service Connect.

**Connessione al servizio Web da un'applicazione esterna**
+ Connessione all'indirizzo IP dell'attività e alla porta del container utilizzando l'indirizzo IP dell'attività

  Usa il AWS CLI per ottenere l'ID dell'attività, utilizzando. `aws ecs list-tasks --cluster tutorial`

  Se le sottoreti e il gruppo di sicurezza consentono il traffico proveniente dalla rete Internet pubblica sulla porta della definizione dell'attività, sarà possibile connettersi all'IP pubblico dal computer. Tuttavia, l'IP pubblico non è disponibile da `describe-tasks`, quindi la procedura prevede di accedere ad Amazon EC2 Console di gestione AWS o AWS CLI ottenere i dettagli dell'interfaccia di rete elastica.

  In questo esempio, un'istanza Amazon EC2 nello stesso VPC utilizza l'IP privato dell'attività. L'applicazione è nginx, ma l'intestazione `server: envoy` mostra che viene utilizzato il proxy Service Connect. Il proxy Service Connect è in ascolto sulla porta del container a partire dalla definizione dell'attività.

  ```
  $ curl -v 10.0.19.50:80/
  *   Trying 10.0.19.50:80...
  * Connected to 10.0.19.50 (10.0.19.50) port 80 (#0)
  > GET / HTTP/1.1
  > Host: 10.0.19.50
  > User-Agent: curl/7.79.1
  > Accept: */*
  >
  * Mark bundle as not supporting multiuse
  < HTTP/1.1 200 OK
  < server: envoy
  < date: Tue, 23 Aug 2022 03:53:06 GMT
  < content-type: text/html
  < content-length: 612
  < last-modified: Tue, 16 Apr 2019 13:08:19 GMT
  < etag: "5cb5d3c3-264"
  < accept-ranges: bytes
  < x-envoy-upstream-service-time: 0
  <
  <!DOCTYPE html>
  <html>
  <head>
  <title>Welcome to nginx!</title>
  <style>
      body {
          width: 35em;
          margin: 0 auto;
          font-family: Tahoma, Verdana, Arial, sans-serif;
      }
  </style>
  </head>
  <body>
  <h1>Welcome to nginx!</h1>
  <p>If you see this page, the nginx web server is successfully installed and
  working. Further configuration is required.</p>
  
  <p>For online documentation and support please refer to
  <a href="http://nginx.org/">nginx.org</a>.<br/>
  Commercial support is available at
  <a href="http://nginx.com/">nginx.com</a>.</p>
  
  <p><em>Thank you for using nginx.</em></p>
  </body>
  </html>
  ```

**Visualizzazione dei parametri di Service Connect**  
Il proxy Service Connect crea metriche dell'applicazione (connessione HTTP HTTP2, gRPC o TCP) nelle metriche. CloudWatch Quando usi la CloudWatch console, visualizza le dimensioni metriche aggiuntive di **DiscoveryName**, (, **DiscoveryName ServiceName, ClusterName**) e (**TargetDiscoveryName**, **TargetDiscoveryName ServiceName, ClusterName**) nello spazio dei nomi Amazon ECS. Per ulteriori informazioni su questi parametri e sulle dimensioni, consulta [Visualizza i parametri disponibili](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html) nella Amazon CloudWatch Logs User Guide.

# Usare il rilevamento servizi per connettere i servizi Amazon ECS con nomi DNS
<a name="service-discovery"></a>

Il servizio Amazon ECS può facoltativamente essere configurato per l'uso della funzione di individuazione dei servizi di Amazon ECS. Service Discovery utilizza azioni AWS Cloud Map API per gestire i namespace HTTP e DNS per i tuoi servizi Amazon ECS. Per ulteriori informazioni, consultare [What Is AWS Cloud Map](https://docs.aws.amazon.com/cloud-map/latest/dg/Welcome.html) nella *Guida per gli sviluppatori di AWS Cloud Map *.

L'individuazione dei servizi è disponibile nelle seguenti regioni: AWS 


| Nome della regione | Regione | 
| --- | --- | 
|  Stati Uniti orientali (Virginia settentrionale)  |  us-east-1  | 
|  Stati Uniti orientali (Ohio)  |  us-east-2  | 
|  Stati Uniti occidentali (California settentrionale)  |  us-west-1  | 
|  US West (Oregon)  |  us-west-2  | 
|  Africa (Città del Capo)  |  af-south-1  | 
|  Asia Pacific (Hong Kong)  |  ap-east-1  | 
|  Asia Pacifico (Taipei)  |  ap-east-2  | 
|  Asia Pacifico (Mumbai)  |  ap-south-1  | 
|  Asia Pacifico (Hyderabad)  |  ap-south-2  | 
|  Asia Pacifico (Tokyo)  |  ap-northeast-1  | 
|  Asia Pacifico (Seoul)  |  ap-northeast-2  | 
|  Asia Pacifico (Osaka-Locale)  |  ap-northeast-3  | 
|  Asia Pacifico (Singapore)  |  ap-southeast-1  | 
|  Asia Pacific (Sydney)  |  ap-southeast-2  | 
|  Asia Pacifico (Giacarta)  |  ap-southeast-3  | 
|  Asia Pacifico (Melbourne)  |  ap-southeast-4  | 
|  Asia Pacifico (Malesia)  |  ap-southeast-5  | 
|  Asia Pacifico (Nuova Zelanda)  |  ap-southeast-6  | 
|  Asia Pacifico (Thailandia)  |  ap-southeast-7  | 
|  Canada (Centrale)  |  ca-central-1  | 
|  Canada occidentale (Calgary)  |  ca-west-1  | 
|  Cina (Pechino)  |  cn-north-1  | 
|  China (Ningxia)  |  cn-northwest-1  | 
|  Europe (Frankfurt)  |  eu-central-1  | 
|  Europa (Zurigo)  |  eu-central-2  | 
|  Europa (Irlanda)  |  eu-west-1  | 
|  Europe (London)  |  eu-west-2  | 
|  Europe (Paris)  |  eu-west-3  | 
|  Europe (Milan)  |  eu-south-1  | 
|  Europa (Stoccolma)  |  eu-north-1  | 
|  Israele (Tel Aviv)  |  il-central-1  | 
|  Europa (Spagna)  |  eu-south-2  | 
|  Medio Oriente (Emirati Arabi Uniti)  |  me-central-1  | 
|  Messico (Centrale)  |  mx-central-1  | 
|  Medio Oriente (Bahrein)  |  me-south-1  | 
|  Sud America (San Paolo)  |  sa-east-1  | 
|  AWS GovCloud (Stati Uniti orientali)  |  us-gov-east-1  | 
|  AWS GovCloud (Stati Uniti occidentali)  |  us-gov-west-1  | 

## Concetti relativi all'individuazione dei servizi
<a name="service-discovery-concepts"></a>

L'individuazione dei servizi è costituita dai componenti seguenti:
+ **Namespace di rilevamento servizi**: un raggruppamento logico di servizi di rilevamento dei servizi che condividono lo stesso nome di dominio, ad esempio `example.com`, che rappresenta la posizione in cui si vuole instradare il traffico. È possibile creare un namespace con una chiamata al comando `aws servicediscovery create-private-dns-namespace` o nella console classica di Amazon ECS. È possibile utilizzare il comando `aws servicediscovery list-namespaces` per visualizzare le informazioni di riepilogo dei namespace creati dall'account corrente. Per ulteriori informazioni sui comandi di individuazione dei servizi, vedere `[create-private-dns-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-private-dns-namespace.html)` e `[list-namespaces](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/list-namespaces.html)` nella *Guida di AWS CLI riferimento AWS Cloud Map (service discovery)*.
+ **Servizio di individuazione dei servizi**: è incluso nel namespace di individuazione dei servizi ed è costituito dal nome del servizio e dalla configurazione DNS per il namespace. Fornisce il componente principale seguente:
  + **Registro dei servizi**: consente di cercare un servizio tramite azioni DNS o AWS Cloud Map API e recuperare uno o più endpoint disponibili che possono essere utilizzati per connettersi al servizio.
+ **Istanza di individuazione dei servizi**: esiste all'interno del servizio di individuazione dei servizi e include gli attributi associati a ogni servizio Amazon ECS nella directory del servizio.
  + **Attributi dell'istanza**: i metadati seguenti vengono aggiunti come attributi personalizzati per ciascun servizio Amazon ECS configurato per l'utilizzo dell'individuazione dei servizi:
    + **`AWS_INSTANCE_IPV4`**— Per un `A` record, l' IPv4 indirizzo che Route 53 restituisce in risposta alle query DNS e AWS Cloud Map restituisce quando rileva i dettagli dell'istanza, ad esempio. `192.0.2.44`
    + **`AWS_INSTANCE_IPV6`**— Per un `AAAA` record, l' IPv6 indirizzo che Route 53 restituisce in risposta alle query DNS e AWS Cloud Map restituisce quando rileva i dettagli dell'istanza, ad esempio,. ` 2001:0db8:85a3:0000:0000:abcd:0001:2345` Sia `AWS_INSTANCE_IPv4` che `AWS_INSTANCE_IPv6` vengono aggiunti per i servizi dualstack di Amazon ECS. `AWS_INSTANCE_IPv6`Viene aggiunto solo per i servizi IPv6 solo di Amazon ECS.
    + **`AWS_INSTANCE_PORT`**: il valore della porta associato al servizio di individuazione dei servizi.
    + **`AVAILABILITY_ZONE`**: la zona di disponibilità in cui il processo è stato avviato. Per i processi che utilizzano EC2, questa è la zona di disponibilità in cui è presente l'istanza di container. Per i processi che utilizzano Fargate, questa è la zona di disponibilità in cui è presente l'interfaccia di rete elastica.
    + **`REGION`**: la regione in cui è presente il processo.
    + **`ECS_SERVICE_NAME`**: il nome del servizio Amazon ECS a cui appartiene il processo.
    + **`ECS_CLUSTER_NAME`**: il nome del cluster Amazon ECS a cui appartiene il processo.
    + **`EC2_INSTANCE_ID`**: l'ID dell'istanza di container in cui è stata posizionato il processo Questo attributo personalizzato non viene aggiunto se l'attività sta utilizzando Fargate.
    + **`ECS_TASK_DEFINITION_FAMILY`**: la famiglia della definizione di attività utilizzata dal processo.
    + **`ECS_TASK_SET_EXTERNAL_ID`**: se viene creato un set di processi per un'implementazione esterna ed è associato a un registro di individuazione dei servizi, l'attributo `ECS_TASK_SET_EXTERNAL_ID` includerà l'ID esterno del set di processi.
+ **Controlli dell'integrità di Amazon ECS**: Amazon ECS esegue periodicamente controlli dell'integrità a livello di container. Se un endpoint non supera il controllo dello stato, viene rimosso dal routing DNS e contrassegnato come non integro.

## Considerazioni relative all'individuazione dei servizi
<a name="service-discovery-considerations"></a>

Quando usi l'individuazione dei servizi, tieni presenti le considerazioni seguenti:
+ L'individuazione dei servizi è supportata per i processi su Fargate che utilizzano la piattaforma versione 1.1.0 o successiva. Per ulteriori informazioni, consultare [Versioni della piattaforma Fargate per Amazon ECS](platform-fargate.md).
+ I servizi configurati per l'utilizzo del rilevamento dei servizi Amazon ECS hanno un limite di 1.000 processi per servizio. Ciò è dovuto a una quota di servizio Route 53.
+ Il flusso di lavoro Crea servizio nella console Amazon ECS supporta solo la registrazione dei servizi in spazi dei nomi DNS privati. Quando viene creato uno spazio dei nomi DNS AWS Cloud Map privato, verrà creata automaticamente una zona ospitata privata di Route 53.
+ Per la corretta risoluzione DNS, gli attributi DNS del VPC devono essere configurati. Per ulteriori informazioni su come configurare gli attributi, consulta [Supporto DNS nel VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) nella *Guida per l'utente di Amazon VPC*.
+ Amazon ECS non supporta la registrazione di servizi in namespace condivisi AWS Cloud Map .
+ I record DNS creati per un servizio DNS si registrano sempre con l'indirizzo IP privato per il processo piuttosto che l'indirizzo IP pubblico, anche quando vengono utilizzati gli spazi di nomi pubblici.
+ L'individuazione dei servizi richiede che i processi specifichino la modalità di rete `awsvpc`, `bridge` o `host` (`none` non è supportata).
+ Se la definizione di attività del servizio usa la modalità di rete `awsvpc`, puoi creare qualsiasi combinazione di record `A` o `SRV` per ciascuna attività di servizio. Se si utilizzano i record `SRV`, è necessaria una porta. Inoltre, è possibile creare record `AAAA` se il servizio utilizza sottoreti dualstack. Se il servizio utilizza IPv6 solo sottoreti, non puoi creare record. `A`
+ Se la definizione di attività di servizio usa la modalità di rete `bridge` o `host`, un record SRV è il solo tipo di record DNS supportato. Crea un record SRV per ciascuna operazione di servizio. Il record SRV deve specificare un nome di container e una combinazione di porte di container dalla definizione di attività.
+ È possibile eseguire query sui record DNS per un servizio di individuazione dei servizi all'interno del VPC. Viene usato questo formato: `<service-discovery-service-name>.<service-discovery-namespace>`.
+ Quando si esegue una query DNS sul nome del servizio, i record `A` e `AAAA` restituiscono un set di indirizzi IP corrispondenti alle attività. I record `SRV` restituiscono un set di indirizzi IP e porte per ciascuna attività.
+ Se dispone di otto o meno record integri, Route 53 risponde alle query DNS con tutti i record integri.
+ Quando tutti i record non sono integri, Route 53 risponde alle query DNS con un massimo di otto record non integri.
+ Puoi configurare il rilevamento dei servizi per un servizio protetto da un load balancer, ma il traffico del rilevamento dei servizi viene sempre instradato verso l'attività e non verso il load balancer.
+ L'individuazione dei servizi non supporta l'utilizzo di Classic Load Balancer.
+ Per il servizio di individuazione dei servizi consigliamo di utilizzare i controlli dell'integrità a livello dei container gestiti da Amazon ECS.
  + **HealthCheckCustomConfig**—Amazon ECS gestisce i controlli sanitari per tuo conto. Amazon ECS usa le informazioni ottenute dal container e dai controlli dell'integrità, insieme allo stato dell'attività, per aggiornare l'integrità con AWS Cloud Map. Questo comportamento viene specificato tramite il parametro `--health-check-custom-config` durante la creazione del servizio di individuazione dei servizi. Per ulteriori informazioni, consulta [HealthCheckCustomConfig](https://docs.aws.amazon.com/cloud-map/latest/api/API_HealthCheckCustomConfig.html) nella *documentazione di riferimento dell’API AWS Cloud Map *.
+ Le AWS Cloud Map risorse create quando viene utilizzato il service discovery devono essere pulite manualmente.
+ Le attività e le istanze vengono registrate come `UNHEALTHY` fino a quando i controlli dell'integrità del container non restituiscono un valore. Se i controlli dell'integrità risultano positivi, lo stato viene aggiornato a `HEALTHY`. Se i controlli dell'integrità del container hanno esito negativo, la registrazione dell'istanza di rilevamento servizi viene annullata.

## Prezzi del servizio di individuazione dei servizi
<a name="service-discovery-pricing"></a>

I clienti che utilizzano l'individuazione dei servizi di Amazon ECS pagano per le risorse Route 53 e le operazioni API di individuazione AWS Cloud Map . Sono inclusi i costi per la creazione delle zone ospitate di Route 53 e per le query nel registro del servizio. Per ulteriori informazioni, consultare [Prezzi di AWS Cloud Map](https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-pricing.html) nella *Guida per gli sviluppatori di AWS Cloud Map *.

Amazon ECS esegue controlli di integrità a livello di container e li espone a operazioni API di controllo dello stato AWS Cloud Map personalizzate. Questa opzione al momento viene fornita gratuitamente ai clienti. Se configuri controlli dell'integrità di rete aggiuntivi per le attività esposte pubblicamente, potrebbero esserti addebitati i relativi costi.

# Creazione di un servizio Amazon ECS che utilizza il rilevamento servizi.
<a name="create-service-discovery"></a>

Maggiori informazioni su come creare un servizio contenente un'attività Fargate che usa il rilevamento servizi con la AWS CLI.

Per un elenco delle scoperte di Regioni AWS tali servizi di supporto, consulta. [Usare il rilevamento servizi per connettere i servizi Amazon ECS con nomi DNS](service-discovery.md)

Per informazioni sulle regioni che supportano Fargate, consulta [Regioni supportate per Amazon ECS su Fargate AWS](AWS_Fargate-Regions.md).

**Nota**  
Puoi utilizzare gli endpoint del servizio dual-stack per interagire con Amazon ECS da AWS CLI, SDKs e l'API Amazon ECS su entrambi e. IPv4 IPv6 Per ulteriori informazioni, consulta [Utilizzo degli endpoint dual-stack Amazon ECS](dual-stack-endpoint.md).

## Prerequisiti
<a name="create-service-discovery-prereqs"></a>

Prima di iniziare questo tutorial, verifica che siano soddisfatti i seguenti requisiti preliminari:
+ La versione più recente di è installata e configurata. AWS CLI Per ulteriori informazioni, consultare [Installing or updating to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ Le fasi descritte in [Configurazione per l'uso di Amazon ECS](get-set-up-for-amazon-ecs.md) sono complete.
+ L'utente IAM dispone delle autorizzazioni necessarie specificate nell'esempio di policy IAM [AmazonECS\$1 FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonECS_FullAccess).
+ Hai creato almeno un VPC e un gruppo di sicurezza. Per ulteriori informazioni, consulta [Crea un cloud privato virtuale](get-set-up-for-amazon-ecs.md#create-a-vpc).

## Passaggio 1: creare le risorse di Service Discovery in AWS Cloud Map
<a name="create-service-discovery-namespace"></a>

Utilizza la procedura seguente per creare il namespace di individuazione dei servizi e il servizio di individuazione dei servizi.

1. Crea un namespace privato di individuazione dei servizi Cloud Map. In questo esempio viene creato un namespace denominato `tutorial`. Sostituisci *vpc-abcd1234* con l'ID di uno dei tuoi esistenti VPCs. 

   ```
   aws servicediscovery create-private-dns-namespace \
         --name tutorial \
         --vpc vpc-abcd1234
   ```

   L'output di questo comando è il seguente:

   ```
   {
       "OperationId": "h2qe3s6dxftvvt7riu6lfy2f6c3jlhf4-je6chs2e"
   }
   ```

1. Usando `OperationId` dall'output della fase precedente, verificare che il namespace privato sia stato creato correttamente. Annotare l'ID del namespace perché verrà utilizzato nei comandi successivi.

   ```
   aws servicediscovery get-operation \
         --operation-id h2qe3s6dxftvvt7riu6lfy2f6c3jlhf4-je6chs2e
   ```

   L'output è il seguente.

   ```
   {
       "Operation": {
           "Id": "h2qe3s6dxftvvt7riu6lfy2f6c3jlhf4-je6chs2e",
           "Type": "CREATE_NAMESPACE",
           "Status": "SUCCESS",
           "CreateDate": 1519777852.502,
           "UpdateDate": 1519777856.086,
           "Targets": {
              "NAMESPACE": "ns-uejictsjen2i4eeg"
           }
       }
   }
   ```

1. Usando l'ID `NAMESPACE` dall'output nella fase precedente, crea un servizio di individuazione dei servizi. Questo esempio crea un servizio denominato `myapplication`. Prendi nota dell'ID del servizio e dell'ARN perché li utilizzerai nei comandi successivi.

   ```
   aws servicediscovery create-service \
         --name myapplication \
         --dns-config "NamespaceId="ns-uejictsjen2i4eeg",DnsRecords=[{Type="A",TTL="300"}]" \
         --health-check-custom-config FailureThreshold=1
   ```

   L'output è il seguente.

   ```
   {
       "Service": {
          "Id": "srv-utcrh6wavdkggqtk",
           "Arn": "arn:aws:servicediscovery:region:aws_account_id:service/srv-utcrh6wavdkggqtk",
           "Name": "myapplication",
           "DnsConfig": {
               "NamespaceId": "ns-uejictsjen2i4eeg",
               "DnsRecords": [
                   {
                       "Type": "A",
                       "TTL": 300
                   }
               ]
           },
           "HealthCheckCustomConfig": {
               "FailureThreshold": 1
           },
           "CreatorRequestId": "e49a8797-b735-481b-a657-b74d1d6734eb"
       }
   }
   ```

## Fase 2: Creazione delle risorse Amazon ECS
<a name="create-service-discovery-cluster"></a>

Utilizza la procedura seguente per creare il cluster Amazon ECS, la definizione di attività e il servizio.

1. Crea un cluster Amazon ECS. In questo esempio viene creato un cluster denominato `tutorial`. 

   ```
   aws ecs create-cluster \
         --cluster-name tutorial
   ```

1. Registra una definizione di attività che sia compatibile con Fargate e utilizzi la modalità di rete `awsvpc`. Completare la procedura riportata di seguito.

   1. Crea un file denominato `fargate-task.json` con il contenuto della seguente definizione di attività.

      ```
      {
          "family": "tutorial-task-def",
              "networkMode": "awsvpc",
              "containerDefinitions": [
                  {
                      "name": "sample-app",
                      "image": "public.ecr.aws/docker/library/httpd:2.4",
                      "portMappings": [
                          {
                              "containerPort": 80,
                              "hostPort": 80,
                              "protocol": "tcp"
                          }
                      ],
                      "essential": true,
                      "entryPoint": [
                          "sh",
                          "-c"
                      ],
                      "command": [
                          "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' >  /usr/local/apache2/htdocs/index.html && httpd-foreground\""
                      ]
                  }
              ],
              "requiresCompatibilities": [
                  "FARGATE"
              ],
              "cpu": "256",
              "memory": "512"
      }
      ```

   1. Registrazione della definizione dell'attività tramite `fargate-task.json`.

      ```
      aws ecs register-task-definition \
            --cli-input-json file://fargate-task.json
      ```

1. Crea un servizio ECS completando la seguente procedura:

   1. Creazione di un file denominato `ecs-service-discovery.json` con il contenuto del servizio ECS che stai per creare. Questo esempio usa la definizione di attività creata nella fase precedente. È obbligatorio l'uso di un parametro `awsvpcConfiguration` perché la definizione di attività di esempio usa la modalità di rete `awsvpc`. 

      Quando si crea il servizio ECS, specificare Fargate e la versione della piattaforma `LATEST` che supporta il rilevamento servizi. Quando viene creato il servizio di individuazione dei servizi in AWS Cloud Map , l'ARN restituito è `registryArn`. `securityGroups` e `subnets` devono appartenere al VPC utilizzato per creare il namespace Cloud Map. Puoi ottenere il gruppo di sicurezza e la sottorete IDs dalla console Amazon VPC.

      ```
      {
          "cluster": "tutorial",
          "serviceName": "ecs-service-discovery",
          "taskDefinition": "tutorial-task-def",
          "serviceRegistries": [
             {
                "registryArn": "arn:aws:servicediscovery:region:aws_account_id:service/srv-utcrh6wavdkggqtk"
             }
          ],
          "launchType": "FARGATE",
          "platformVersion": "LATEST",
          "networkConfiguration": {
             "awsvpcConfiguration": {
                "assignPublicIp": "ENABLED",
                "securityGroups": [ "sg-abcd1234" ],
                "subnets": [ "subnet-abcd1234" ]
             }
          },
          "desiredCount": 1
      }
      ```

   1. Crea il tuo servizio ECS utilizzando `ecs-service-discovery.json`.

      ```
      aws ecs create-service \
            --cli-input-json file://ecs-service-discovery.json
      ```

## Fase 3: Verifica Service Discovery in AWS Cloud Map
<a name="create-service-discovery-verify"></a>

Puoi verificare che sia stato creato tutto correttamente eseguendo una query sulle informazioni di individuazione dei servizi. Dopo aver configurato l'individuazione del servizio, puoi utilizzare le operazioni AWS Cloud Map API o effettuare una chiamata `dig` da un'istanza all'interno del tuo VPC. Completare la procedura riportata di seguito.

1. Usando l'ID servizio di individuazione dei servizi, elenca le istanze di individuazione dei servizi. Prendi nota dell'ID istanza (contrassegnato in grassetto) per la pulizia delle risorse. 

   ```
    aws servicediscovery list-instances \
          --service-id srv-utcrh6wavdkggqtk
   ```

   L'output è il seguente.

   ```
   {
       "Instances": [
           {
               "Id": "16becc26-8558-4af1-9fbd-f81be062a266",
               "Attributes": {
                   "AWS_INSTANCE_IPV4": "172.31.87.2"
                   "AWS_INSTANCE_PORT": "80", 
                   "AVAILABILITY_ZONE": "us-east-1a", 
                   "REGION": "us-east-1", 
                   "ECS_SERVICE_NAME": "ecs-service-discovery", 
                   "ECS_CLUSTER_NAME": "tutorial", 
                   "ECS_TASK_DEFINITION_FAMILY": "tutorial-task-def"
               }
           }
       ]
   }
   ```

1. Utilizza il namespace, il servizio di individuazione dei servizi e parametri aggiuntivi quali il nome del cluster ECS per ottenere i dettagli sulle istanze di individuazione dei servizi.

   ```
   aws servicediscovery discover-instances \
         --namespace-name tutorial \
         --service-name myapplication \
         --query-parameters ECS_CLUSTER_NAME=tutorial
   ```

1. Puoi eseguire query sui record DNS creati nella zona ospitata di Route 53 per il servizio di individuazione dei servizi con i seguenti comandi AWS CLI :

   1. Con l'ID del namespace, ottenere le informazioni sul namespace che includono l'ID della zona ospitata di Route 53.

      ```
      aws servicediscovery \
            get-namespace --id ns-uejictsjen2i4eeg
      ```

      L'output è il seguente.

      ```
      {
          "Namespace": {
              "Id": "ns-uejictsjen2i4eeg",
              "Arn": "arn:aws:servicediscovery:region:aws_account_id:namespace/ns-uejictsjen2i4eeg",
              "Name": "tutorial",
              "Type": "DNS_PRIVATE",
              "Properties": {
                   "DnsProperties": {
                      "HostedZoneId": "Z35JQ4ZFDRYPLV"
                  }
              },
              "CreateDate": 1519777852.502,
              "CreatorRequestId": "9049a1d5-25e4-4115-8625-96dbda9a6093"
          }
      }
      ```

   1. Utilizzando l'ID della zona ospitata di Route 53 dalla fase precedente (visualizza il testo in grassetto), ottieni il set di record delle risorse per la zona ospitata. 

      ```
      aws route53 list-resource-record-sets \
            --hosted-zone-id Z35JQ4ZFDRYPLV
      ```

1. Puoi eseguire query sul DNS anche da un'istanza all'interno tramite `dig`.

   ```
   dig +short myapplication.tutorial
   ```

## Fase 4: pulizia
<a name="create-service-discovery-cleanup"></a>

Una volta terminato questo tutorial, elimina le risorse associate in modo da evitare costi aggiuntivi per le risorse non utilizzate. Completare la procedura riportata di seguito.

1. Annulla la registrazione delle istanze del servizio di individuazione dei servizi utilizzando l'ID servizio e l'ID istanza annotati in precedenza.

   ```
   aws servicediscovery deregister-instance \
         --service-id srv-utcrh6wavdkggqtk \
         --instance-id 16becc26-8558-4af1-9fbd-f81be062a266
   ```

   L'output è il seguente.

   ```
   {
       "OperationId": "xhu73bsertlyffhm3faqi7kumsmx274n-jh0zimzv"
   }
   ```

1. Utilizzando l'`OperationId` dall'output della fase precedente, verifica che la registrazione delle istanze del servizio di individuazione dei servizi sia stata annullata correttamente.

   ```
   aws servicediscovery get-operation \ 
         --operation-id xhu73bsertlyffhm3faqi7kumsmx274n-jh0zimzv
   ```

   ```
   {
     "Operation": {
           "Id": "xhu73bsertlyffhm3faqi7kumsmx274n-jh0zimzv",
           "Type": "DEREGISTER_INSTANCE",
           "Status": "SUCCESS",
           "CreateDate": 1525984073.707,
           "UpdateDate": 1525984076.426,
           "Targets": {
               "INSTANCE": "16becc26-8558-4af1-9fbd-f81be062a266",
               "ROUTE_53_CHANGE_ID": "C5NSRG1J4I1FH",
               "SERVICE": "srv-utcrh6wavdkggqtk"
           }
       }
   }
   ```

1. Eliminazione del servizio di individuazione dei servizi utilizzando l'ID servizio.

   ```
   aws servicediscovery delete-service \ 
         --id srv-utcrh6wavdkggqtk
   ```

1. Eliminazione del namespace di rilevamento servizi utilizzando l'ID del namespace.

   ```
   aws servicediscovery delete-namespace \ 
         --id ns-uejictsjen2i4eeg
   ```

   L'output è il seguente.

   ```
   {
       "OperationId": "c3ncqglftesw4ibgj5baz6ktaoh6cg4t-jh0ztysj"
   }
   ```

1. Usando l'`OperationId` dall'output della fase precedente, verificare che il namespace di rilevamento servizi sia stato eliminato correttamente.

   ```
   aws servicediscovery get-operation \ 
         --operation-id c3ncqglftesw4ibgj5baz6ktaoh6cg4t-jh0ztysj
   ```

   L'output è il seguente.

   ```
   {
       "Operation": {
           "Id": "c3ncqglftesw4ibgj5baz6ktaoh6cg4t-jh0ztysj",
           "Type": "DELETE_NAMESPACE",
           "Status": "SUCCESS",
           "CreateDate": 1525984602.211,
           "UpdateDate": 1525984602.558,
           "Targets": {
               "NAMESPACE": "ns-rymlehshst7hhukh",
               "ROUTE_53_CHANGE_ID": "CJP2A2M86XW3O"
           }
       }
   }
   ```

1. Aggiorna il conteggio desiderato per il servizio Amazon ECS a `0`. Questa operazione deve essere eseguita per eliminare il servizio nella fase successiva.

   ```
   aws ecs update-service \
         --cluster tutorial \
         --service ecs-service-discovery \
         --desired-count 0
   ```

1. Elimina il servizio Amazon ECS.

   ```
   aws ecs delete-service \
         --cluster tutorial \
         --service ecs-service-discovery
   ```

1. Elimina il cluster Amazon ECS.

   ```
   aws ecs delete-cluster \
         --cluster tutorial
   ```

# Usa Amazon VPC Lattice per connettere, osservare e proteggere i tuoi servizi Amazon ECS
<a name="ecs-vpc-lattice"></a>

Amazon VPC Lattice è un servizio di rete di applicazioni completamente gestito che consente ai clienti di Amazon ECS di osservare, proteggere e monitorare le applicazioni create su servizi di AWS elaborazione e account VPCs, senza richiedere alcuna modifica al codice.

VPC Lattice utilizza gruppi di destinazione che sono una raccolta di risorse di calcolo. Questi obiettivi eseguono l'applicazione o il servizio e possono essere istanze Amazon EC2, indirizzi IP, funzioni Lambda e Application Load Balancer. Associando i propri servizi Amazon ECS a un gruppo di destinazione di VPC Lattice, i clienti possono ora abilitare le attività Amazon ECS come destinazioni IP in VPC Lattice. Quando vengono avviate le attività per il servizio registrato, Amazon ECS le registra automaticamente nel gruppo di destinazione di VPC Lattice.

**Nota**  
Quando si utilizzano cinque configurazioni di VPC Lattice, il tempo di implementazione potrebbe essere leggermente più lungo rispetto a quando si utilizzano meno configurazioni.

Una regola del listener viene utilizzata per inoltrare il traffico a un gruppo di destinazione specifico quando le condizioni sono soddisfatte. Un listener verifica le richieste di connessione utilizzando il protocollo sulla porta configurata. Un servizio instrada le richieste verso i suoi obiettivi registrati in base alle regole definite al momento della configurazione del listener.

Inoltre, Amazon ECS sostituisce automaticamente un'attività anche se diventa non integra in base ai controlli dell'integrità di VPC Lattice. Una volta associati a VPC Lattice, i clienti Amazon ECS possono anche sfruttare molte altre funzionalità di connettività, sicurezza e osservabilità cross-computing di VPC Lattice, come la connessione a servizi tra cluster e account con integrazione IAM per l'autorizzazione e l' VPCsautenticazione e funzionalità avanzate di AWS Resource Access Manager gestione del traffico.

I clienti di Amazon ECS possono trarre vantaggio da VPC Lattice nei modi seguenti:
+ Maggiore produttività degli sviluppatori: VPC Lattice aumenta la produttività degli sviluppatori consentendo loro di concentrarsi sulla creazione di funzionalità, mentre VPC Lattice gestisce le sfide di rete, sicurezza e osservabilità in modo uniforme su tutte le piattaforme di elaborazione.
+ Migliore livello di sicurezza: VPC Lattice consente agli sviluppatori di autenticare e proteggere facilmente la comunicazione tra applicazioni e piattaforme di calcolo, applicare la crittografia in transito e applicare controlli di accesso granulari con le policy di autenticazione di VPC Lattice. Ciò consente di adottare una postura di sicurezza più solida che soddisfa i principali requisiti normativi e di conformità del settore.
+ Migliore scalabilità e resilienza delle applicazioni: VPC Lattice consente di creare una rete di applicazioni implementate con funzionalità come autorizzazione, autenticazione, monitoraggio e instradamento basati su percorsi, intestazioni e metodi. Questi vantaggi vengono forniti senza sovraccarico di risorse sui carichi di lavoro e possono supportare implementazioni multi-cluster che generano milioni di richieste al secondo senza aggiungere latenza significativa.
+ Flessibilità di implementazione con infrastruttura eterogenea: VPC Lattice offre funzionalità coerenti in tutti i servizi di calcolo come Amazon ECS, Fargate, Amazon EC2, Amazon EKS e Lambda, e consente all'organizzazione la flessibilità di scegliere l'infrastruttura adatta per ogni applicazione.

## Come funziona VPC Lattice con altri servizi Amazon ECS
<a name="ecs-lattice-compatibility"></a>

L'uso di VPC Lattice con Amazon ECS può cambiare la modalità di utilizzo di altri servizi Amazon ECS, mentre altri rimangono invariati.

**Application Load Balancer**  
Non è più necessario creare un Application Load Balancer specifico da utilizzare con il tipo di gruppo di destinazione Application Load Balancer in VPC Lattice che poi si collega al servizio Amazon ECS. È solo necessario configurare il servizio Amazon ECS con un gruppo di destinazione VPC Lattice. È anche possibile scegliere di utilizzare Application Load Balancer con Amazon ECS contemporaneamente.

**Implementazioni in sequenza di Amazon ECS**  
Solo le implementazioni in sequenza di Amazon ECS funzionano con VPC Lattice, e Amazon ECS inserisce le attività in modo sicuro e le rimuove dai servizi durante l'implementazione. La distribuzione e le distribuzioni del codice non sono supportate. Blue/Green 

Per saperne di più su VPC Lattice, consultare [Amazon VPC Lattice User Guide](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html).

# Crea un servizio che utilizza VPC Lattice
<a name="ecs-vpc-lattice-create-service"></a>

È possibile utilizzare Console di gestione AWS o il AWS CLI per creare un servizio con VPC Lattice.

## Prerequisiti
<a name="create-ecs-vpc-lattice-prereqs"></a>

Prima di iniziare questo tutorial, verifica che siano soddisfatti i seguenti requisiti preliminari:
+ La versione più recente di AWS CLI è installata e configurata. Per ulteriori informazioni, consultare [Installing the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html).
**Nota**  
Puoi utilizzare gli endpoint del servizio dual-stack per interagire con Amazon ECS da AWS CLI, SDKs e l'API Amazon ECS su entrambi e. IPv4 IPv6 Per ulteriori informazioni, consulta [Utilizzo degli endpoint dual-stack Amazon ECS](dual-stack-endpoint.md).
+ Le fasi descritte in [Configurazione per l'uso di Amazon ECS](get-set-up-for-amazon-ecs.md) sono complete.
+ L'utente IAM dispone delle autorizzazioni necessarie specificate nell'esempio di policy IAM [AmazonECS\$1 FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonECS_FullAccess).

## Crea un servizio che utilizza VPC Lattice con Console di gestione AWS
<a name="ecs-lattice-create-console"></a>

Seguire questi passaggi per creare un servizio con VPC Lattice utilizzando Console di gestione AWS.

1. [Apri la console alla v2. https://console.aws.amazon.com/ecs/](https://console.aws.amazon.com/ecs/v2)

1. Nella pagina di navigazione, scegli **Cluster**.

1. Nella pagina **Cluster**, scegliere il cluster in cui creare il servizio.

1. Nella scheda **Servizi**, scegliere **Crea**.

   Se non è mai stato creato un servizio in precedenza, seguire i passaggi riportati in [Creazione di un servizio Amazon ECS utilizzando la console](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-console-v2.html), poi continuare con questi passaggi quando si raggiunge la sezione relativa a VPC Lattice.

1. Scegliere **Attiva VPC Lattice** selezionando il pulsante.

1. Per utilizzare un ruolo esistente, per **Ruolo di infrastruttura ECS per Amazon ECS**, sceglierne uno già creato da utilizzare durante la creazione del gruppo di destinazione VPC Lattice. Per creare un nuovo ruolo, **Crea ruolo di infrastruttura ECS**.

1. Scegliere il **VPC**.

   Il **VPC** dipende dalla modalità di rete selezionata al momento della registrazione della definizione dell'attività. Se si utilizza la modalità `host` o `network` con EC2, scegliere il VPC. 

   Per la modalità `awsvpc`, il VPC viene selezionato automaticamente in base al VPC scelto in **Rete** e non può essere modificato.

1. In **Gruppi di destinazione**, scegliere il gruppo o i gruppi di destinazione. È necessario scegliere un gruppo di destinazione compreso tra 1 e 5. Scegliere **Aggiungi gruppo di destinazione** per aggiungere altri gruppi di destinazione. Scegliere il **Nome della porta**, il **Protocollo** e la **Porta** per ogni gruppo di destinazione scelto. Per rimuovere un gruppo di destinazione, scegliere **Rimuovi**.
**Nota**  
Se si desidera aggiungere gruppi di destinazione esistenti, è necessario usare la AWS CLI. *Per istruzioni su come aggiungere gruppi target utilizzando il AWS CLI, consulta [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) nella Guida di riferimento. AWS Command Line Interface *
Sebbene un servizio VPC Lattice possa essere collegato a più gruppi di destinazione, un gruppo di destinazione può essere aggiunto solo a un singolo servizio.
Per creare un servizio in una configurazione IPv6 -only, scegli i gruppi di destinazione con un tipo di indirizzo IP di. `IPv6`

1. A questo punto, accedere alla console VPC Lattice per continuare la configurazione. È qui che si includono i nuovi gruppi di destinazione nell'azione predefinita del listener o nelle regole di un servizio VPC Lattice esistente. 

   Per ulteriori informazioni, consultare [Listener rules for your VPC Lattice service](https://docs.aws.amazon.com/vpc-lattice/latest/ug/listener-rules.html).

**Importante**  
È necessario consentire il prefisso `vpc-lattice` della regola in entrata per il gruppo o le attività di sicurezza e i controlli di integrità possono avere esito negativo. 

## Crea un servizio che utilizza VPC Lattice con AWS CLI
<a name="ecs-lattice-create-cli"></a>

Usa AWS CLI per creare un servizio con VPC Lattice. Sostituisci ogni *user input placeholder* con le tue informazioni.

1. Creazione di un file di configurazione del gruppo di destinazione. L'esempio seguente è denominato `tg-config.json`

   ```
   {
       "ipAddressType": "IPV4",
       "port": 443,
       "protocol": "HTTPS",
       "protocolVersion": "HTTP1",
       "vpcIdentifier": "vpc-f1663d9868EXAMPLE"
   }
   ```

1. Utilizzare il seguente comando per creare un gruppo di destinazione di VPC Lattice.

   ```
   aws vpc-lattice create-target-group \
       --name my-lattice-target-group-ip \
       --type IP \
       --config file://tg-config.json
   ```
**Nota**  
Per creare un servizio in una configurazione IPv6 solo, crea gruppi target con un tipo di indirizzo IP di. `IPv6` Per ulteriori informazioni, consulta [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-target-group.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

   Output di esempio:

   ```
   {
       "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE",
       "config": {
           "healthCheck": {
               "enabled": true,
               "healthCheckIntervalSeconds": 30,
               "healthCheckTimeoutSeconds": 5,
               "healthyThresholdCount": 5,
               "matcher": {
                   "httpCode": "200"
               },
               "path": "/",
               "protocol": "HTTPS",
               "protocolVersion": "HTTP1",
               "unhealthyThresholdCount": 2
           },
           "ipAddressType": "IPV4",
           "port": 443,
           "protocol": "HTTPS",
           "protocolVersion": "HTTP1",
           "vpcIdentifier": "vpc-f1663d9868EXAMPLE"
       },
       "id": "tg-0eaa4b9ab4EXAMPLE",
       "name": "my-lattice-target-group-ip",
       "status": "CREATE_IN_PROGRESS",
       "type": "IP"
   }
   ```

1. Il seguente file JSON denominato *ecs-service-vpc-lattice.json* è un esempio utilizzato per collegare un servizio Amazon ECS a un gruppo target VPC Lattice. Il `portName` nell'esempio seguente è quello definito nel campo `name` delle proprietà `portMappings` della definizione dell'attività.

   ```
   {
       "serviceName": "ecs-service-vpc-lattice",
       "taskDefinition": "ecs-task-def",
           "vpcLatticeConfigurations": [
           {
               "targetGroupArn": "arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE",
               "portName": "testvpclattice",
               "roleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRoleVpcLattice"
           }
       ],
       "desiredCount": 5,
       "role": "ecsServiceRole"
   }
   ```

   Utilizzare il seguente comando per creare un servizio Amazon ECS e collegarlo al gruppo di destinazione VPC Lattice utilizzando l'esempio json sopra riportato.

   ```
   aws ecs create-service \
       --cluster clusterName \
       --serviceName ecs-service-vpc-lattice \
       --cli-input-json file://ecs-service-vpc-lattice.json
   ```

**Nota**  
VPC Lattice non è supportato in Amazon ECS Anywhere.