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à.
Determinazione delle dimensioni delle attività per Amazon ECS
Una delle scelte più importanti quando implementi container su Amazon ECS è la dimensione dei container e delle attività. Le dimensioni dei container e delle attività sono essenziali per la scalabilità e la pianificazione della capacità.
Amazon ECS utilizza due parametri di risorse per la capacità: CPU e memoria. Amazon ECS misura la CPU in unità di 1/1024 di una vCPU completa (dove 1024 unità equivalgono a 1 vCPU intera). Amazon ECS misura la memoria in megabyte.
Nella definizione dell'attività, puoi dichiarare prenotazioni e limiti di risorse.
Quando dichiari una prenotazione, dichiari la quantità minima di risorse richiesta da un'attività. L'attività riceve almeno la quantità di risorse da te richiesta. L'applicazione potrebbe essere in grado di utilizzare più CPU o memoria rispetto alla prenotazione dichiarata. Tuttavia, ciò è soggetto ai limiti che hai dichiarato.
L'utilizzo di una quantità superiore alla quantità della prenotazione è noto come bursting. Il bursting significa che l'applicazione utilizza più risorse di quelle prenotate, ma rimane entro i limiti dichiarati. Amazon ECS garantisce le prenotazioni. Ad esempio, se utilizzi EC2 istanze Amazon per fornire capacità, Amazon ECS non inserisce un'attività su un'istanza in cui non è in grado di soddisfare la prenotazione.
Un limite è la quantità massima di unità CPU o memoria che il container o l'attività può utilizzare. Se il container tenta di utilizzare più CPU rispetto a questo limite, Amazon ECS lo limita. Se il container tenta di utilizzare più memoria oltre questo limite, Amazon ECS lo arresta.
La scelta di questi valori può essere complessa. I valori che funzionano meglio per l'applicazione dipendono molto dai requisiti di risorse dell'applicazione.
Il test di carico dell'applicazione è la chiave per una corretta pianificazione del fabbisogno di risorse. Il test di carico consente di comprendere meglio i requisiti dell'applicazione.
Applicazioni stateless
Per le applicazioni stateless con scalabilità orizzontale, ad esempio un'applicazione con bilanciatore del carico, consigliamo innanzitutto di determinare la quantità di memoria utilizzata dall'applicazione per soddisfare le richieste.
A tale scopo, puoi utilizzare strumenti tradizionali come ps o top. Puoi anche utilizzare soluzioni di monitoraggio come CloudWatch Container Insights.
Quando stabilisci una prenotazione della CPU, considera come vuoi scalare l'applicazione per soddisfare i requisiti aziendali.
Puoi utilizzare prenotazioni di CPU minori, ad esempio 256 unità CPU (o 1/4 vCPU), per aumentare orizzontalmente in modo da ridurre al minimo i costi. Tuttavia, potrebbero non scalare abbastanza velocemente per soddisfare i picchi significativi della domanda.
Puoi utilizzare prenotazioni di CPU maggiori per ridurre e aumentare orizzontalmente più in fretta. Ciò ti aiuta a soddisfare più rapidamente i picchi di domanda. Tuttavia, le prenotazioni di CPU maggiori costano di più.
Altre applicazioni
Per le applicazioni che non sono scalabili orizzontalmente, come worker singleton o server di database, le considerazioni più importanti sono la capacità e i costi disponibili.
Scegli la quantità di memoria e di CPU in base ai risultati dei test di carico necessari per gestire il traffico e raggiungere il tuo obiettivo di livello di servizio. Amazon ECS garantisce che l'applicazione sia collocata su un host con una capacità adeguata.