in Amazon Elastic Container Service (Amazon ECS)

Amazon Elastic Container Service (Amazon ECS) è un servizio di Amazon Web Services che consente di eseguire applicazioni Docker su cluster scalabili. Questo tutorial illustra come creare un'applicazione di esempio compatibile con Docker in un cluster Amazon ECS con un sistema di bilanciamento del carico, testare l'applicazione di prova ed eliminare le risorse per evitare spese aggiuntive.

Tutte le operazioni mostrate in questo tutorial possono essere eseguite nell'ambito del piano gratuito.

Gestisci le tue risorse AWS

Accedi alla console

La prima esecuzione guidata di Amazon ECS consente di creare un cluster e avviare un'applicazione Web di esempio. In questa fase, accederemo alla console di Amazon ECS e avvieremo la procedura guidata.



b. Con Amazon ECS, è possibile scegliere di usare Amazon Elastic Container Registry (Amazon ECR) per creare un repository di immagini e inoltrarvi un'immagine durante la prima esecuzione guidata (vedi immagine a destra). Questa caratteristica è al momento disponibile solo in alcune regioni. 

  • Se non viene visualizzata l'opzione relativa ad Amazon ECR, passa alla fase 2.
  • Se viene visualizzata l'opzione relativa ad Amazon ECR, deseleziona la casella accanto a Distribuisci un'applicazione di esempio su un cluster Amazon ECS e seleziona Continua.
deploy-docker-container-1

(fai clic per ingrandire l'immagine)

deploy-docker-container-1

Una definizione di attività è come un piano su cui basare l'applicazione. In questa fase, specificheremo una definizione di attività che permetta ad Amazon ECS di sapere quale immagine Docker usare per i container, quanti container saranno in uso e l'allocazione di risorse per ciascun container.


La definizione di attività è già caricata con valori di configurazione predefiniti.

  • Controlla i valori predefiniti e seleziona Fase successiva.

Se preferisci modificare le configurazioni, oppure se desideri ulteriori informazioni, consulta Parametri della definizione di attività.

deploy-docker-container-2

(fai clic per ingrandire l'immagine)

deploy-docker-container-2

Ora che la definizione di attività è stata creata, è necessario configurare il servizio Amazon ECS. Un servizio avvia e mantiene copie della definizione di attività nel cluster. Per esempio, eseguendo un applicazione come servizio, Amazon ECS ripristinerà automaticamente qualsiasi attività interrotta, per mantenere inalterato il numero di copie configurato.


a. Configura le opzioni del servizio come segue:

  • Nome del servizio: l'applicazione predefinita sample-webapp è di tipo "Hello World" basata sul Web offerta da AWS. Prevede un'esecuzione senza interruzioni, perciò se viene eseguita come servizio si riavvierà quando l'attività perde la propria integrità o subisce interruzioni impreviste.
  • Numero di attività desiderato: per poter rientrare nel piano gratuito di AWS, lascia il valore predefinito del numero di attività desiderate, 1. In questo modo verrà creata una sola copia dell'attività.
deploy-docker-container-3

(fai clic per ingrandire l'immagine)

deploy-docker-container-3

b. Elastic Load Balancing: è possibile associare al servizio un sistema di bilanciamento del carico. Amazon ECS può creare un sistema di bilanciamento del carico Elastic Load Balancing (ELB) per distribuire il traffico tra le istanze del container in cui l'attività è in esecuzione.

  • Nome del container: porta host: seleziona Simple-app:80.
  • Per l'applicazione di prova, sono già impostati i valori predefiniti protocollo del listener ELB, porta del listener ELB e controllo dello stato ELB . Per ulteriori informazioni sulla configurazione dei sistemi di bilanciamento del carico, consulta bilanciamento del carico del servizio.
deploy-docker-container-3b

(fai clic per ingrandire l'immagine)

deploy-docker-container-3b

c. Prima di poter collegare un sistema di bilanciamento del carico a un servizio Amazon ECS, è necessario creare un ruolo IAM (Identity and Access Management) per i servizi in uso. In questo modo Amazon ECS potrà effettuare chiamate alle API di Amazon EC2 ed Elastic Load Balancing per eseguire e annullare la registrazione delle istanze con i sistemi di bilanciamento del carico.

  • Se non è già disponibile un ruolo IAM per il servizio, Amazon ECS ne creerà uno denominato ecsServiceRole.
  • Se è disponibile un ruolo per il servizio Amazon ECS, selezionalo dal menu a discesa.
deploy-docker-container-3c

(fai clic per ingrandire l'immagine)

deploy-docker-container-3c

d. Verifica le impostazioni e seleziona Fase successiva.

deploy-docker-container-3d

(fai clic per ingrandire l'immagine)

deploy-docker-container-3d

Le attività di Amazon ECS vengono eseguite su un cluster, ovvero un insieme di istanze di container che eseguono l'agente del container di Amazon ECSIn questa fase, configureremo il cluster, verificheremo le impostazioni di sicurezza e imposteremo i ruoli IAM. 


a. La configurazione da utilizzare è illustrata di seguito:

  • Nome del cluster: inserisci cluster-esempio.
  • Tipo di istanza EC2: il tipo di istanza predefinito t2.micro rientra nel piano gratuito. I tipi di istanza con CPU e memoria maggiori sono in grado di gestire più attività. Per ulteriori informazioni sui tipi di istanza, consulta Tipi di istanza Amazon EC2.
  • Numero di istanze: lascia il valore predefinito 1 per avviare una sola istanza Amazon EC2 per i cluster dove verranno avviate le attività. Più istanze sono presenti nel cluster, più attività è possibile gestire.  
  • Coppia di chiavi: per accedere alle istanze tramite SSH, operazione prevista in un secondo momento, è necessaria una coppia di chiavi. Per continuare, fai clic su Nessuno - impossibile accedere via SSH e seleziona una coppia di chiavi esistente oppure creane una nuova nella console di Amazon EC2. 
deploy-docker-container-5a

(fai clic per ingrandire l'immagine)

deploy-docker-container-5a

b. (facoltativo) Gruppo di sicurezza: il valore per il gruppo di sicurezza predefinito (Ovunque), consente di accedere in ogni momento da Internet. È anche possibile scegliere un blocco CIDR che limiti l'accesso alle istanze.

deploy-docker-container-5b

(fai clic per ingrandire l'immagine)

deploy-docker-container-5b

c. Ruolo IAM per l'istanza di container:

  • Se non è disponibile un ruolo IAM, la procedura guidata di Amazon ECS ne creerà uno.
  • Se è già disponibile un ruolo IAM esistente per l'istanza di container, selezionalo dall'elenco a discesa.
deploy-docker-container-5c

(fai clic per ingrandire l'immagine)

deploy-docker-container-5c

d. Seleziona Rivedi e avvia.

deploy-docker-container-5d

(fai clic per ingrandire l'immagine)

deploy-docker-container-5d

Nelle fasi precedenti è stata configurata la definizione di attività (che è simile a un piano su cui basare l'applicazione), il servizio Amazon ECS (che avvia e mantiene le copie delle definizioni di attività) e il cluster (che è l'insieme di istanze di container che eseguono l'agente del container). In questa fase, verificheremo, avvieremo e visualizzeremo le risorse create.


a. Prima di procedere, è ancora possibile verificare che definizione di attività e configurazione di attività cluster siano corrette.

  • Seleziona Avvia istanza ed esegui servizio
deploy-docker-container-6

(fai clic per ingrandire l'immagine)

deploy-docker-container-6

b. La pagina visualizzata, Stato dell'avvio mostra lo stato dell'avvio e descrive le fasi del processo. 

  • Una volta completato l'avvio, seleziona Visualizza servizio.
deploy-docker-container-7

(fai clic per ingrandire l'immagine)

deploy-docker-container-7

In questa fase, verificheremo che l'applicazione di esempio sia stata avviata correttamente e che sia in esecuzione; per questo caricheremo il nome DNS del sistema di bilanciamento tramite il browser.


a. Nella pagina Web dell'applicazione di esempio, fai clic sul nome del sistema di bilanciamento del carico.

deploy-docker-container-10

(fai clic per ingrandire l'immagine)

deploy-docker-container-10

b. È arrivato il momento di testare l'applicazione di prova:

  • Copia il nome DNS ELB.
  • Incollalo in una nuova finestra del browser.
  • Premi Invio sulla tastiera per visualizzare l'applicazione di esempio (in questo caso una pagina Web statica).
deploy-docker-container-12a

(fai clic per ingrandire l'immagine)

deploy-docker-container-12a

In questo tutorial sono state avviate tre risorse: un cluster Amazon ECS, un'istanza Amazon EC2 e un sistema di bilanciamento del carico. In questa fase, elimineremo tutte le risorse create per evitare spese indesiderate.


a. Torna alla console di Amazon ECS. 

  • Fai clic su nome del cluster (cluster-esempio).
deploy-docker-container-13

(fai clic per ingrandire l'immagine)

deploy-docker-container-13

b. Seleziona la casella di controllo accanto a sample-webapp e fai clic su Aggiorna.

deploy-docker-container-15

(fai clic per ingrandire l'immagine)

deploy-docker-container-15

c. Per accertarti di non eliminare per errore un servizio con attività attive, devi interrompere tutte le attività prima di consentire ad Amazon ECS di eliminare un servizio. 

  • Imposta il numero di attività a 0 e seleziona Aggiorna servizio.
  • Dopo aver aggiornato il servizio, seleziona Elimina.
deploy-docker-container-14

(fai clic per ingrandire l'immagine)

deploy-docker-container-14

d. Elimina le istanze Amazon EC2 avviate con il cluster:

  • Accedialla console di Amazon EC2
  • Nel pannello a sinistra, seleziona Istanze.
  • Seleziona la casella di controllo accanto all'istanza denominata ECS Instance – EC2ContainerService-default.
  • Selezionare Operazioni > Stato istanza > Termina.

 

 

deploy-docker-container-17

(fai clic per ingrandire l'immagine)

deploy-docker-container-17

e. Elimina i sistemi di bilanciamento del carico:

  • Nel pannello a sinistra, seleziona Sistemi di bilanciamento del carico.
  • Seleziona la casella di controllo accanto al sistema di bilanciamento del carico creato per il servizio (dovrebbe iniziare con EC2Contai-EcsElast). 
  • Fai clic con il tasto destro del mouse e seleziona Elimina.

 

deploy-docker-container-19a

(fai clic per ingrandire l'immagine)

deploy-docker-container-19a

Complimenti! Hai configurato, distribuito ed eliminato un'applicazione compatibile con Docker in Amazon Elastic Container Service (Amazon ECS). Amazon ECS è un servizio di gestione di container altamente scalabile a prestazioni elevate che supporta i container Docker e consente di eseguire applicazioni su un cluster gestito di istanze Amazon EC2 in modo semplice.

Ora che sei in grado di distribuire un'applicazione compatibile con Docker in Amazon ECS, puoi passare al tutorial successivo, che illustra come creare un registro Docker per archiviare le immagini del container. Creerai un'immagine Docker, la inoltrerai in un repository e la utilizzerai per distribuire un'applicazione in Amazon ECS.

Creazione di un registro Docker

No