Amazon Elastic Container Service (Amazon ECS) consente di eseguire, ridimensionare e proteggere in modo semplice le applicazioni in contenitori Docker su AWS. Le applicazioni incluse in pacchetti come contenitori locali vengono distribuite ed eseguite come contenitori gestiti da Amazon ECS. Amazon ECS solleva dalla necessità di installare, gestire e ridimensionare un'infrastruttura di orchestrazione dei contenitori e di gestione dei cluster, consentendo di focalizzarsi sulle esigenze di risorse e requisiti di disponibilità dell'applicazione in contenitori.

Amazon ECS consente di eseguire da uno a migliaia di contenitori su centinaia di istanze senza aggiungere complessità di esecuzione delle applicazioni. È possibile eseguire applicazioni, processi in batch e microservizi. Amazon ECS estrapola la complessità dell'infrastruttura, consentendo di concentrare l'attenzione sulla progettazione e l'esecuzione delle applicazioni nei contenitori.

Con Amazon ECS, puoi utilizzare AWS Fargate per gestire completamente la tua infrastruttura e focalizzarti semplicemente sulla distribuzione dei contenitori oppure puoi scegliere di avere visibilità e controllo completi sul cluster server sottostante, dalla creazione all'arresto dei contenitori Docker, consentendoti di consultare informazioni dettagliate sullo stato del cluster. È possibile integrare e utilizzare sistemi di pianificazione dei contenitori personalizzati oppure collegare Amazon ECS al processo di distribuzione software esistente, ad esempio sistemi di integrazione e distribuzione continui.

Supporto per AWS Fargate

La tecnologia AWS Fargate è disponibile con Amazon ECS. Con AWS Fargate non è più necessario selezionare i tipi di istanza di Amazon EC2, effettuare il provisioning e dimensionare i cluster o applicare le patch e aggiornare ogni server. Non è più necessario preoccuparsi delle strategie di posizionamento dell'attività, come bin packing e distribuzione degli host: le attività vengono automaticamente bilanciate sulle diverse zone di disponibilità. Fargate gestisce in automatico la disponibilità dei container. È sufficiente definire i requisiti dell'applicazione, selezionare Fargate come tipo di lancio nella console o nell'interfaccia a riga di comando: Fargate gestirà il dimensionamento e l'infrastruttura necessari per eseguire i contenitori.

Per gli sviluppatori che richiedono un controllo a livello di server più granulare dell'infrastruttura, il tipo di lancio Amazon EC2, consente di gestire un cluster di server e programmare il posizionamento dei contenitori nei server.

Sviluppo

Supporto per Docker

Amazon EC2 supporta Docker e consente di eseguire e gestire i contenitori Docker. Le applicazioni incluse in un pacchetto come contenitore locale saranno distribuite ed eseguite in Amazon ECS senza dover modificare la configurazione.

Compatibilità con i contenitori Windows

Amazon ECS supporta la gestione dei contenitori Windows. Un'AMI (Amazon Machine Image) di Windows ottimizzata per Amazon ECS offre prestazioni migliori sul tempo di lancio dei contenitori e delle istanza e visibilità sulla CPU, sull'utilizzo della memoria e sui parametri di prenotazione.

Sviluppo in locale

L'interfaccia a riga di comando di Amazon EC2 consente di semplificare lo sviluppo in locale e la configurazione e l'esecuzione dei contenitori su Amazon ECS. L'interfaccia a riga di comando di Amazon ECS supporta Docker Compose, uno strumento open source che consente di definire ed eseguire applicazioni multi-contenitore. La stessa definizione di Compose utilizzata per definire un'applicazione multi-contenitore può essere applicata su un computer di sviluppo e in produzione. L'interfaccia a riga di comando di Amazon ECS è open source. Scarica l'interfaccia a riga di comando di Amazon ECS.

Supporto per repository

Amazon EC2 Container Service può essere usato con qualsiasi repository di immagini Docker di terze parti o privato accessibile, ad esempio Docker Hub e Amazon Elastic Container Registry (Amazon ECR). Specificando il repository nella definizione di attività, Amazon ECS recupererà le immagini appropriate per le applicazioni.

Gestione

Definizioni di attività

Amazon ECS consente di definire le attività tramite un modello dichiarativo in formato JSON chiamato Definizione di attività. All'interno di una Definizione di attività è possibile specificare uno o più contenitori richiesti per l'attività, incluso il repository Docker, nonché i requisiti di immagine, memoria e CPU, i volumi di dati condivisi e le modalità di collegamento tra contenitori. Un singolo file di definizione di attività consente di avviare un qualsiasi numero di attività da registrare con il servizio. Con i file di Definizione di attività è inoltre possibile controllare la versione delle specifiche dell'applicazione.

Controllo programmatico

Amazon ECS fornisce un set molto semplice di azioni API che consente di integrare ed estendere il servizio. Le azioni API consentono di creare ed eliminare cluster, attivare e annullare la registrazione di attività, avviare e terminare contenitori Docker e fornire informazioni dettagliate sullo stato del cluster e delle relative istanze. È anche possibile utilizzare AWS CloudFormation per effettuare il provisioning di cluster Amazon ECS, registrare definizioni di attività e pianificare contenitori. È anche possibile utilizzare AWS CloudFormation per effettuare il provisioning di cluster Amazon ECS, registrare definizioni di attività e pianificare contenitori.

Distribuzione di contenitori

Amazon ECS consente di aggiornare i contenitori alle versioni più recenti con la massima semplicità. Caricando una nuova versione della definizione di attività dell'applicazione, il sistema di pianificazione di Amazon ECS avvierà automaticamente nuovi contenitori usando l'immagine aggiornata e interromperà i contenitori che utilizzano la versione non aggiornata. Amazon ECS attiva e annulla la registrazione dei contenitori dall'Application Load Balancer associato in modo automatico.

Ripristino automatico dei contenitori

Amazon ECS procederà automaticamente al ripristino dei contenitori non integri per assicurare che l'applicazione possa impiegare sempre il numero desiderato di contenitori.

Pianificazione

Amazon ECS include numerose strategie di pianificazione che dispongono il posizionamento dei contenitori nei cluster in base alle esigenze di risorse (ad esempio CPU o RAM) e ai requisiti di disponibilità. Utilizzando le strategie di pianificazione disponibili, è possibile pianificare processi in batch, l'esecuzione di applicazioni e servizi che richiedono lunghi tempi di elaborazione e processi daemon.

Pianificazione di attività
La pianificazione di attività di Amazon ECS consente di eseguire processi che svolgono attività e poi si fermano, quali le attività di elaborazione in batch. La pianificazione di attività può aviare le attività manualmente, automaticamente da un coda di attività o in base a un intervallo di tempo definito dall'utente.

Pianificazione di servizi
La pianificazione di servizi Amazon ECS permette di eseguire servizi e applicazioni stateless. La strategia di pianificazione assicura che un numero specifico di attività venga eseguito continuamente e riavvia le attività con errori. Puoi assicurarti che le attività siano registrate su un sistema di bilanciamento del carico Elastic Load Balancing e possa eseguire controlli dello stato definiti dall'utente per le attività in esecuzione.

Pianificazione daemon
La pianificazione daemon Amazon ECS esegue automaticamente la stessa attività su ciascuna istanza selezionata nel tuo cluster ECS. Questo semplifica l'esecuzione di attività che forniscono funzionalità di gestione comuni per servizi quali la registrazione di log, il monitoraggio o i backup.

Posizionamento delle attività

Amazon ECS ti consente di personalizzare il posizionamento delle attività in un cluster di istanze EC2 in base ad attributi integrati quali il tipo di istanza, la zona di disponibilità o attributi personalizzati specificati dall'utente. Puoi utilizzare attributi quali ambiente=produzione per etichettare le risorse, usare le azioni API per trovare tali risorse e le azioni AP RunTask e CreateService per pianificare le attività su tali risorse.

Con Amazon ECS puoi inoltre utilizzare strategie di posizionamento quali bin pack e distribuzione per definire ulteriormente dopo posizionare le attività. Le policy possono essere concatenate per disporre di capacità di posizionamento sofisticate senza dover scrivere alcun codice.

Le policy per il posizionamento delle attività non sono utilizzate con il tipo di lancio AWS Fargate.

Rete e sicurezza

Networking attività

Amazon Elastic Container Service supporta le reti Docker e si integra con Amazon VPC per fornire isolamento alle istanze di container. In questo modo è possibile controllare in che modo i container dovranno connettersi ad altri servizi e al traffico esterno. Con Amazon ECS, è possibile scegliere tra quattro diverse modalità di networking per i container, a seconda del caso d'uso:

Networking attività/awsvpc
In questa modalità, ad ogni attività ECS viene assegnata un'interfaccia di rete elastica dedicata, assegnando così ai container tutte le funzionalità di rete di un cloud privato virtuale, come le istanze EC2.

Bridge
In questa modalità viene creato un bridge Linux che collega tutti i container in esecuzione sull'host in una rete locale virtuale, accessibile tramite la connessione di rete predefinita dell'host.

Host
In questa modalità i container sono aggiunti direttamente allo stack di rete dell'host, lasciandoli esposti in rete senza isolamento.

Nessuna
In questa modalità non è prevista alcuna caratteristica di rete esterna per i container.

Bilanciamento del carico

Amazon ECS integra Elastic Load Balancing (ELB) per consentire la distribuzione del traffico su diversi contenitori tramite Application Load Balancer o Network Load Balancer. Specificando la definizione di attività e il sistema di bilanciamento del carico da utilizzare, Amazon ECS aggiungerà e rimuoverà i contenitori automaticamente. È possibile specificare una porta dinamica nella definizione di attività, così il container avrà a disposizione una porta non utilizzata quando viene pianificato per l'esecuzione in un'istanza Amazon EC2. È anche possibile condividere un sistema di bilanciamento del carico con più servizi mediante routing basato sul percorso.

Rilevamento dei servizi

Amazon ECS include una funzione di rilevamento dei servizi che semplifica il rilevamento e il collegamento tra servizi in container.

Amazon ECS crea e gestisce un registro di nomi di servizi utilizzando l'API Route 53 Auto Naming, in modo da creare nel codice riferimenti ai servizi per nome e scrivere query DNS che risolvano il nome all'endpoint corrispondente in fase di runtime.

Nella definizione di ciascuna attività di un servizio è possibile specificare eventuali condizioni di controllo dello stato; Amazon ECS verificherà che solo gli endpoint integri vengano restituiti dalle ricerche.

Sicurezza

Amazon ECS consente di specificare un ruolo IAM per ogni attività di ECS. In questo modo le istanze di container Amazon ECS possono rivestire un ruolo minore, rispettando la policy di accesso di privilegio minimo e consentendo di gestire separatamente il ruolo dell'istanza e dell'attività. È anche possibile utilizzare Amazon CloudWatch Logs per ottenere visibilità sul ruolo IAM al quale è assegnata un'attività.

Monitoraggio e accessi

Monitoraggio

Amazon ECS offre funzionalità di monitoraggio per contenitori e cluster tramite Amazon CloudWatch. È possibile monitorare l'utilizzo medio o globale di CPU e memoria per le attività in esecuzione raggruppate per definizione di attività, servizio o cluster. È anche possibile impostare allarmi di CloudWatch per ricevere un avviso quando i contenitori o i cluster necessitano di un ridimensionamento.

Registrazione di log

Amazon ECS consente di registrare tutte le chiamate API di Amazon ECS e ricevere i file di log tramite AWS CloudTrail. Le informazioni registrate includono l'identità dell'autore e l'orario della chiamata API, l'indirizzo IP di origine dell'autore della chiamata API, i parametri della richiesta e gli elementi di risposta restituiti da Amazon ECS. CloudTrail fornisce uno storico delle chiamate API tramite la Console di gestione AWS, i kit SDK AWS e l'interfaccia a riga di comando di AWS, rendendo possibile analisi di sicurezza, monitoraggio delle modifiche alle risorse e audit di conformità.

Ulteriori informazioni sui prezzi di Amazon ECS

Visita la pagina dei prezzi
Sei pronto per iniziare?
Registrati
Hai ulteriori domande?
Contattaci