Implementazione di un'applicazione Web basata sui container con Amazon ECS

GUIDA ALLE OPERAZIONI DI BASE

Modulo 1: Come funziona Amazon ECS

In questo modulo viene descritto Amazon Elastic Container Service (ECS) e i relativi componenti di servizio

Introduzione

L'obiettivo di questo modulo è introdurre i concetti di Amazon ECS. Saranno trattati i componenti di ECS (cluster, definizione delle attività, servizio), l'orchestrazione e la scelta del tipo di calcolo da utilizzare per eseguire i container. Se sei già esperto di ECS, puoi passare al Modulo 2.

Gli argomenti affrontati

  • Cos'è Amazon ECS
  • Quali sono i componenti di ECS
  • Quali sono le differenze tra l'uso delle istanze Amazon EC2 o Amazon Fargate per eseguire i container

 Tempo richiesto per il completamento

5 minuti

 Prerequisiti del modulo

  • Account AWS con accesso da amministratore**
  • Browser consigliato: l'ultima versione di Chrome o Firefox

[**]Gli account creati nelle ultime 24 ore potrebbero non avere ancora accesso a tutti servizi richiesti per questo tutorial.

Implementazione

Cos'è Amazon ECS

Amazon Elastic Container Service (o in breve ECS) è un servizio di orchestrazione di container interamente gestito che aiuta a implementare, gestire e dimensionare facilmente applicazioni in contenitori. Si integra profondamente con il resto della piattaforma AWS per fornire una soluzione sicura e facile da usare per l'esecuzione di carichi di lavoro in contenitori sul cloud, ed ora anche nella tua infrastruttura con Amazon ECS Anywhere. Un orchestratore gestisce il ciclo di vita del container, dalla distribuzione, garantendo che sia integro, sostituendo eventuali nodi non integri e gestendo nuove implementazioni.

Quali sono i componenti di ECS

Un cluster ECS è un costrutto logico che raggruppa tutti i container implementati in un cluster. Non è previsto alcun costo per un cluster, ma solo per l'infrastruttura di calcolo e altra infrastruttura utilizzata per eseguire i container. Per avviare un container, viene una fornita una definizione di attività che contiene proprietà come la posizione dell'immagine del container, la quantità di CPU e memoria, la configurazione della registrazione e molto altro. Questa operazione non avvia un container, fornisce soltanto la configurazione necessaria per la sua esecuzione; per l'avvio verrà definito un servizio. Nel servizio viene definito il numero di copie del container desiderate o, se deve essere eseguito su ogni istanza, un daemon che deve essere eseguito su ciascun host e di cui ECS gestirà l'orchestrazione. Per utilizzare i propri servizi su Internet, sarà necessario configurare un Application Load Balancer per inoltrare le richieste al servizio. Infine, ECS può essere configurato per l'implementazione su più zone di disponibilità (AZ) e bilancerà automaticamente l'implementazione in base al numero di zone di disponibilità disponibili, quindi aggiornerà il bilanciatore del carico con i dettagli di ciascuna implementazione per consentire l'instradamento del traffico verso di essa. 

Di seguito è riportato un diagramma dell'aspetto dell'infrastruttura:

Pianificazione della capacità e opzioni

ECS è in grado di pianificare l'esecuzione dei servizi su un host EC2 (macchina virtuale) o utilizzando Amazon Fargate, un motore di calcolo serverless per container. Quando si eseguono container, è necessario prendere in considerazione la pianificazione della capacità. Ad esempio, se nel cluster sono disponibili 2 host, ciascuno con 512 MB di memoria, il cluster mostrerà un totale di 1024 MB di memoria disponibile, ma non sarà possibile avviare un nuovo container che richieda più di 512 MB di memoria in quanto non esiste un singolo host con memoria sufficiente. Ciò può essere mitigato usando i provider di capacità per dimensionare automaticamente il cluster. 

In alternativa, è possibile usare Fargate, che consente di specificare i requisiti di CPU e memoria per ogni container, quindi avvia il calcolo richiesto per eseguire il container per tuo conto. La differenza principale tra gli host Fargate ed EC2 è che non è necessario configurare, gestire o mantenere il sistema operativo sull'host quando si utilizza Fargate, né è necessario eseguire la pianificazione della capacità poiché avvierà esattamente la quantità di capacità necessaria.

Conclusioni

In questo modulo è stato descritto cos'è Amazon ECS, i componenti utilizzati e le differenze tra l'uso di Amazon EC2 o Amazon Fargate per fornire capacità per l'esecuzione dei container. Nel modulo successivo verrà creato il nostro primo cluster ECS.

A seguire: Creazione dell'infrastruttura

Facci sapere com'è andata.