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à.
Componenti di Amazon ECS Service Connect
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
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, assegna il gruppo di sicurezza a tutte le EC2 istanze del cluster Service Connect.
Proxy Service Connect
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, è richiesta 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
mysqltramite 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
0disabilitaidleTimeout.Il valore predefinito
idleTimeoutperHTTP/HTTP2/GRPCè 5 minuti.Il valore predefinito
idleTimeoutperTCPè 1 ora.perRequestTimeout‐ Il periodo di attesa che l'upstream risponda con una risposta completa per richiesta. Un valore di
0si spegne inperRequestTimeout. Questo può essere impostato solo quando ilappProtocolper il container dell'applicazione èHTTP/HTTP2/GRPC. L'impostazione predefinita è 15 secondi.Nota
Se
idleTimeoutè impostato su un tempo inferiore aperRequestTimeout, la connessione si chiuderà quandoidleTimeoutviene raggiunto ilperRequestTimeout.
Considerazioni
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.0o successiva. -
La versione dell'agente Amazon ECS sull'istanza di container deve essere
1.67.2o successiva. -
Per utilizzare Service Connect, le istanze di container devono eseguire la versione
20230428dell'AMI di Amazon Linux 2023 ottimizzata per Amazon ECS, o versioni successive, o la versione2.0.20221115dell'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 Agenton GitHub. -
Le istanze di container devono disporre dell'autorizzazione
ecs:Pollper la risorsaarn:aws:ecs:. Se utilizzi ilregion:0123456789012:task-set/cluster/*ecsInstanceRole, non è necessario aggiungere altre autorizzazioni. La policy gestita daAmazonEC2ContainerServiceforEC2Roledispone delle autorizzazioni necessarie. Per ulteriori informazioni, consultare Ruolo IAM delle istanze di container Amazon ECS. -
Le attività che utilizzano la modalità di rete
bridgee utilizzano Service Connect non supportano il parametro di definizione del containerhostname. -
Per utilizzare Service Connect, le definizioni di attività devono impostare il limite di memoria dell'attività. Per ulteriori informazioni, consultare Proxy Service Connect.
-
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.
-
È 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 AWS Cloud Map condivisi.
-
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 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 parametroingressPortOverridenella configurazione del servizio Service Connect. -
Service Connect con TLS non supporta la modalità di rete
bridge. Solo la modalità di reteawsvpcè supportata. -
In
awsvpcmodalità, il proxy Service Connect inoltra il traffico all' IPv4 host locale127.0.0.1per i servizi nelle configurazioni IPv4 -only e dualstack. Per i servizi in configurazione IPv6 -only, il proxy inoltra il traffico al localhost. IPv6::1Ti 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 task networking di Amazon ECS per EC2 e Opzioni di rete di attività di Amazon ECS per Fargate.
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
Externalper Amazon ECS Anywhere non sono supportate con Service Connect. -
PPv2
-
modalità FIPS