Amazon Elastic Container Service

Nozioni di base

Ricevi dodici mesi di accesso al piano gratuito di utilizzo AWS e sfrutta le caratteristiche di supporto Basic di AWS, inclusa l'assistenza al cliente 24x7x365, il forum di supporto e molto altro.


D: Cos'è Amazon Elastic Container Service?
Amazon Elastic Container Service (ECS) è un servizio di gestione di container altamente scalabile ad elevate prestazioni che supporta i container Docker e consente di eseguire applicazioni su un cluster gestito di istanze Amazon EC2 in modo semplice. Con Amazon ECS viene meno la necessità di installare, avviare e ridimensionare un'infrastruttura per la gestione dei cluster. Bastano semplici chiamate API per avviare e interrompere applicazioni compatibili con contenitori, eseguire query sullo stato del cluster e accedere a molte funzioni comuni come i gruppi di sicurezza, Elastic Load Balancing, i volumi EBS e i ruoli IAM. Puoi usare Amazon ECS per pianificare il posizionamento dei contenitori nel cluster in base alle esigenze di risorse e ai requisiti di disponibilità. Puoi anche integrare il sistema di pianificazione interno o di terze parti in uso per soddisfare specifici requisiti aziendali o applicativi.

D: Qual è il vantaggio di utilizzare Amazon ECS?
Amazon ECS semplifica l'utilizzo di contenitori come elementi costitutivi di applicazioni eliminando la necessità di installare, avviare e ridimensionare un'infrastruttura per la gestione dei cluster. Amazon ECS consente di pianificare applicazioni, servizi ed processi in batch con lunghi tempi di elaborazione tramite contenitori Docker. Amazon ECS mantiene elevata la disponibilità dell'applicazione e consente di ridimensionare i contenitori a seconda dei relativi requisiti di capacità. Amazon ECS integra funzioni comuni quali Elastic Load Balancing, volumi EBS, VPC e IAM. Con semplici API è possibile integrare e utilizzare sistemi di pianificazione interni o connettere Amazon ECS al processo di distribuzione software esistente.

D: Quanto costa Amazon ECS?
Non sono previsti costi aggiuntivi per l'utilizzo di Amazon ECS. I prezzi sono calcolati in base alle risorse AWS, ad esempio istanze di EC2 o volumi EBS, che vengono create per memorizzare e gestire l'applicazione. I prezzi sono calcolati solo in base all'uso effettivo, senza tariffe minime né impegni anticipati.

D: In cosa differisce Amazon ECS da AWS Elastic Beanstalk?
AWS Elastic Beanstalk è una piattaforma di gestione delle applicazioni che consente di distribuire e ricalibrare le risorse di servizi e applicazioni Web. Prende in carico il provisioning dei servizi di base (ad esempio EC2, RDS, Elastic Load Balancing, Auto Scaling, CloudWatch), la distribuzione delle applicazioni e il monitoraggio dell'integrità, così potrai concentrarti esclusivamente sul codice. È sufficiente specificare quali immagini di contenitori devono essere distribuite, i requisiti di CPU e di memoria, la mappatura delle porte e i collegamenti ai contenitori. Elastic Beanstalk gestisce automaticamente tutti i dettagli, tra cui il provisioning del cluster Amazon ECS, il bilanciamento del carico, il ridimensionamento automatico, il monitoraggio e il posizionamento dei contenitori nel cluster.

Elastic Beanstalk è ideale quando desideri sfruttare i vantaggi dei contenitori e mantenere la semplicità della distribuzione di applicazioni dalla fase di sviluppo alla produzione, semplicemente caricando un'immagine di contenitore. Puoi usare Amazon ECS se desideri un controllo più granulare di architetture applicative personalizzate.

D: In cosa differisce Amazon ECS da AWS Lambda?
Amazon Elastic Container Service è un servizio di gestione di container Docker altamente scalabile che consente di eseguire e gestire applicazioni distribuite che operano in container Docker. AWS Lambda è un servizio di elaborazione basato su eventi che esegue codice in risposta a "eventi" quali modifiche ai dati, clic su siti Web o messaggi provenienti da altri servizi AWS, senza dover gestire direttamente un'infrastruttura di elaborazione.

 

 

 

D: Come si inizia a usare Amazon ECS?
Visita la pagina Nozioni di base per ulteriori informazioni.

D: Elastic Container Service supporta altri tipi di container?
No. Docker è al momento l'unica piattaforma supportata da Elastic Container Service.

D: Desidero avviare dei contenitori. Perché è necessario avviare attività?
Docker consiglia di dividere le applicazioni nei rispettivi componenti fondamentali; Elastic Container Service è stato ottimizzato esattamente per seguire questo modello. Le attività consentono di definire un set di container che desideri posizionare insieme (o di cui desideri modificare insieme il posizionamento), le loro proprietà e come sono collegati tra loro. Le attività includono tutte le informazioni necessarie a Elastic Container Service per decidere il posizionamento. Per avviare un singolo contenitore, la definizione di attività deve includere la definizione di un solo contenitore.

D: Amazon ECS supporta applicazioni e servizi?
Sì. Il sistema di pianificazione di Amazon ECS consente di gestire applicazioni e servizi con lunghi tempi di elaborazione. Il servizio di pianificazione consente di mantenere elevata la disponibilità dell'applicazione e di ridimensionare i contenitori a seconda dei relativi requisiti di capacità. Il servizio, inoltre, consente di distribuire il traffico su più contenitori utilizzando Elastic Load Balancing. Amazon ECS attiva e annulla la registrazione dei contenitori dai sistemi di bilanciamento del carico associati in modo automatico. Il servizio di pianificazione ripristinerà automaticamente i contenitori con errori (che non passano i controlli dello stato di ELB) o interrotti per mantenere sempre il numero desiderato di contenitori integri a supporto dell'applicazione. È possibile ridimensionare le risorse dell'applicazione modificando il numero di contenitori che il servizio deve eseguire. È anche possibile aggiornare l'applicazione modificandone la definizione o usando una nuova immagine. Il servizio di pianificazione avvierà automaticamente nuovi contenitori usando la nuova definizione e arresterà i contenitori che eseguono la versione precedente (attendendo che le eventuali connessioni ELB si esauriscano).

D: Amazon ECS supporta la mappatura di porte dinamiche?
Sì. È possibile associare un servizio in Amazon Elastic Container Service (ECS) a un sistema di bilanciamento del carico per applicazioni per il servizio Elastic Load Balancing (ELB). Il sistema di bilanciamento del carico per applicazioni può supportare un gruppo di destinazione che contenga un gruppo instance:ports. È possibile specificare una porta dinamica nella definizione di attività ECS, così il container avrà a disposizione una porta non utilizzata quando viene pianificato per l'esecuzione in un'istanza EC2. Il sistema di pianificazione di ECS aggiungerà automaticamente l'attività al gruppo di destinazione del sistema di bilanciamento del carico per applicazioni usando questa porta.

D: Amazon ECS supporta processi in batch?
Sì. È possibile usare il comando Run task di Amazon ECS per eseguire una o più attività. Run task avvia l'attività su un'istanza che ne soddisfi i requisiti di CPU, memoria e porte.

D: È possibile usare un sistema di pianificazione interno con Amazon ECS?
ECS fornisce Blox, una raccolta di progetti open source per la gestione e l’orchestrazione dei contenitori. Blox facilita l’utilizzo degli eventi da Amazon ECS, l’archiviazione dello stato del cluster a livello locale e l’esecuzione di query sul datastore locale tramite le API. Blox include inoltre un sistema di pianificazione dei daemon che può essere utilizzato come riferimento per informazioni cu come utilizzare il server dello stato del cluster. Per ulteriori informazioni, visita la pagina Blox GitHub.

D: È possibile usare AMI esistenti?
Sì. Puoi usare qualsiasi AMI che soddisfi le specifiche di Amazon ECS per le AMI. Consigliamo di iniziare dall'AMI Amazon Linux compatibile con Amazon ECS. Sono anche disponibili AMI di partner compatibili con Amazon ECS. Consulta le specifiche di Amazon ECS per le AMI nella documentazione.

D: Come si configurano le istanze di container da caricare da Amazon Elastic Container Registry?
Amazon ECR integra Amazon ECS, consentendo di memorizzare, eseguire e gestire immagini di contenitori per applicazioni in esecuzione in Amazon ECS. È sufficiente specificare il repository di Amazon ECR nella definizione di attività e collegare AmazonEC2ContainerServiceforEC2Role alle istanze. Amazon ECS recupererà le immagini specificate per le applicazioni.

D: In che modo Amazon ECS isola i contenitori che appartengono a clienti differenti?
Amazon ECS pianifica l'esecuzione di contenitori su istanze Amazon EC2 controllate dal cliente e si basa sugli stessi controlli di isolamento e di conformità disponibili ai clienti di EC2.

  • Le istanze di calcolo sono ubicate in un VPC (Virtual Private Cloud) con un range di IP specificati dall'utente. Quest'ultimo decide quali istanze esporre su Internet e quali debbano restare private.
  • Le istanze EC2 usano un ruolo IAM per accedere al servizio ECS.
  • Le attività ECS usano un ruolo IAM per accedere a servizi e risorse.
  • I Security Groups e gli ACL di rete permettono di controllare l'accesso alla rete in entrata e in uscita alle e dalle proprie istanze.
  • È possibile connettere la propria infrastruttura IT esistente a risorse sulla propria VPC usando connessioni crittate IPsec VPN standard nel settore.
  • È possibile assegnare le proprie risorse EC2 come istanze dedicate. Le istanze dedicate sono istanze di EC2 che funzionano su hardware dedicato a un solo cliente per garantirgli ulteriore isolamento.

D: È possibile applicare ulteriori configurazioni di sicurezza e framework di isolamento alle istanze di contenitori?
Sì. In quanto cliente Amazon EC2, disponi di accesso root al sistema operativo delle istanze di contenitori, perciò puoi modificare le impostazioni di sicurezza del sistema operativo e caricare e configurare componenti software aggiuntivi con funzioni di protezione quali monitoraggio, gestione di patch, gestione di log e rilevamento di intrusioni nell'host.

D: È possibile eseguire istanze di contenitori con impostazioni di sicurezza differenti o separare diverse attività su più ambienti?
Sì. Puoi configurare le istanze di contenitori utilizzando gli strumenti più comuni. Amazon ECS consente di controllare il posizionamento delle attività nelle diverse istanze di contenitori tramite cluster e opzioni di avvio selettivo.

D: Amazon ECS supporta il recupero di immagini Docker da origini private o interne?
Sì. Le istanze di container possono essere configurate in modo da accedere ad un registro di immagini Docker privato all'interno di un cloud privato virtuale o ad un registro accessibile all'esterno del cloud, ad esempio Amazon Elastic Container Registry.

D: Come si configurano i ruoli IAM per le attività ECS?
Prima di tutto è necessario creare un ruolo IAM per il task utilizzando il ruolo di servizio "Amazon EC2 Container Service Task Role" e collegando una policy con le corrette autorizzazioni. Una volta creata una nuova definizione di attività o una versione della definizione di attività, è possibile specificare un ruolo selezionandolo dal menu a discesa "Task Role" oppure utilizzando il campo "taskRoleArn" in formato JSON.