Istanze di container Amazon EC2 per Amazon ECS
Un'istanza di container di Amazon ECS è un'istanza Amazon EC2 che esegue l'agente del container di Amazon ECS ed è registrata in un cluster. Quando esegui attività con Amazon ECS utilizzando il provider di capacità, un provider di capacità esterno o un provider di capacità del gruppo Auto Scaling, le attività vengono posizionate sulle istanze di container attive. Sei responsabile della gestione e della manutenzione delle istanze di container.
Sebbene sia possibile creare la tua AMI dell'istanza d Amazon EC2 che soddisfi le specifiche di base necessarie per l'esecuzione dei carichi di lavoro containerizzati in Amazon ECS, le AMI ottimizzate per Amazon ECS sono preconfigurate e testate su Amazon ECS da tecnici di AWS. È il modo più semplice per iniziare ed eseguire i container su AWS rapidamente.
Quando crei un cluster usando la console, Amazon ECS crea un modello di avvio per le tue istanze con l'ultima AMI associata al sistema operativo selezionato.
Quando usi CloudFormation per creare un cluster, il parametro SSM fa parte del modello di avvio di Amazon EC2 per le istanze del gruppo Auto Scaling. Puoi configurare il modello in modo da usare un parametro dinamico di Systems Manager per determinare quale AMI Amazon ECS Optimized implementare. Questo parametro garantisce che, ogni volta che implementi lo stack, venga verificata la disponibilità di aggiornamenti da applicare alle istanze EC2. Per un esempio di come usare il parametro Systems Manager, consulta Creare un cluster Amazon ECS con l'AMI Amazon Linux 2023 ottimizzata per Amazon ECS nella Guida per l'utente AWS CloudFormation.
Puoi scegliere tra i tipi di istanza compatibili con la tua applicazione. Con istanze più grandi, puoi avviare più attività contemporaneamente. Le istanze più piccole ti consentono di impiegare l'aumento orizzontale in modo più dettagliato per ridurre i costi. Non è necessario scegliere un unico tipo di istanza Amazon EC2 che si adatti a tutte le applicazioni del cluster. Puoi creare più gruppi Auto Scaling in cui ogni gruppo ha un tipo di istanza diverso. Quindi, puoi creare un provider di capacità Amazon EC2 per ognuno di questi gruppi.
Usa le seguenti linee guida per determinare i tipi di famiglia di istanza e il tipo di istanza da utilizzare:
-
Elimina i tipi di istanza o le famiglie di istanze che non soddisfano i requisiti specifici della tua applicazione. Ad esempio, se l'applicazione richiede una GPU, puoi escludere tutti i tipi di istanza che non dispongono di una GPU.
-
Considera i requisiti, tra cui lo storage e il throughput di rete
-
Prendi in considerazione la CPU e la memoria. Come regola generale, la CPU e la memoria devono essere sufficientemente grandi da contenere almeno una replica dell'attività che si desidera eseguire.
Spot Instances
La capacità spot può offrire risparmi significativi sui costi rispetto alle istanze on demand. La capacità spot è una capacità in eccesso a un prezzo notevolmente inferiore rispetto a quella on demand o riservata. La capacità spot è adatta per carichi di lavoro di elaborazione in batch e machine learning ambienti di sviluppo e staging. Più in generale, è adatto a qualsiasi carico di lavoro che tollera tempi di inattività temporanei.
Tieni presente le seguenti conseguenze, poiché la capacità spot potrebbe non essere sempre disponibile.
-
Nei periodi con domanda estremamente elevata, la capacità spot potrebbe non essere disponibile. Ciò può causare ritardi nell'avvio delle istanze spot di Amazon EC2. In questi eventi, i servizi Amazon ECS riprovano ad avviare le attività e anche i gruppi con Amazon EC2 Auto Scaling riprovano ad avviare le istanze, finché la capacità richiesta non diventa disponibile. Amazon EC2 non sostituisce la capacità spot con quella on demand.
-
Quando la domanda complessiva di capacità aumenta, le istanze e le attività spot potrebbero essere terminate con un preavviso di soli due minuti. Dopo l'invio dell'avviso, le attività dovrebbero iniziare a chiudersi regolarmente, se necessario, prima che l'istanza venga terminata completamente. Questo aiuta a ridurre al minimo la possibilità di errori. Per ulteriori informazioni su un arresto corretto, consulta Arresto regolare con ECS
.
Per ridurre al minimo le carenze di capacità spot, considera i seguenti consigli:
-
Utilizza più regioni e zone di disponibilità: la capacità spot varia in base alla regione e alla zona di disponibilità. Puoi migliorare la disponibilità spot eseguendo i carichi di lavoro in più regioni e zone di disponibilità. Se possibile, specifica le sottoreti in tutte le zone di disponibilità nelle regioni in cui esegui le attività e le istanze.
-
Utilizza più tipi di istanze Amazon EC2: quando utilizzi policy a istanze miste con Amazon EC2 Auto Scaling, nel tuo gruppo Auto Scaling vengono avviati più tipi di istanze. Ciò garantisce che una richiesta di capacità spot possa essere soddisfatta quando necessario. Per massimizzare l'affidabilità e ridurre al minimo la complessità, nella tua policy sulle istanze miste utilizza tipi di istanze con all'incirca la stessa quantità di CPU e memoria. Queste istanze possono appartenere a una generazione diversa o varianti dello stesso tipo di istanza di base. Tieni presente che potrebbero essere dotate di funzionalità aggiuntive di cui non hai bisogno. Un esempio di tale elenco potrebbe includere m4.large, m5.large, m5a.large, m5d.large, m5n.large, m5dn.large e m5ad.large. Per ulteriori informazioni, consulta la sezione relativa ai Gruppi con dimensionamento automatico con più tipi di istanze e opzioni di acquisto nella Guida per l'utente di Amazon EC2 Auto Scaling.
-
Utilizza la strategia di allocazione spot ottimizzata per la capacità: con Amazon EC2 Spot, puoi scegliere tra strategie di allocazione ottimizzate in termini di capacità e costi. Se scegli la strategia ottimizzata per la capacità al momento dell'avvio di una nuova istanza, Amazon EC2 Spot seleziona il tipo di istanza con la massima disponibilità nella zona di disponibilità selezionata. Ciò aiuta a ridurre la possibilità che l'istanza venga terminata subito dopo l'avvio.
Per informazioni su come configurare gli avvisi di terminazione spot sulle tue istanze di container, consulta: