Introduzione ai contenitori AWS

I container sono unità di sviluppo software standardizzate che consentono di impacchettare il codice dell'applicazione, le configurazioni e le relative dipendenze in un singolo oggetto. I contenitori derivano dai principi della virtualizzazione a livello di sistema operativo. Consente di eseguire l'applicazione e le sue dipendenze in processi isolati dalle risorse, garantendo distribuzioni rapide, affidabili e coerenti in qualsiasi ambiente.

Tipi di contenitori

Gli strumenti di gestione dei contenitori possono essere classificati in tre tipi: registro, orchestrazione e calcolo. I servizi di registro consentono di archiviare e gestire in modo sicuro le immagini del contenitore. L'orchestrazione gestisce quando e dove vengono eseguiti i contenitori. E i motori di elaborazione alimentano i tuoi container. Tutte le infrastrutture sottostanti sono gestite da AWS. I container rendono gli sviluppi e le implementazioni semplici ed efficienti.

1. Registro

Amazon Elastic Container Registry (ECR)

Si tratta di un registro container Docker altamente scalabile, altamente disponibile, altamente sicuro e completamente gestito. Aiuta gli sviluppatori a archiviare, gestire e distribuire in modo efficiente le immagini dei container Docker. Amazon ECR è integrato con Amazon Elastic Container Service (ECS), che semplifica l'implementazione. Amazon ECR è pagabile solo per la quantità di dati archiviati nei repository e i dati trasferiti su Internet.

Esempio di creazione di immagini Docker di una semplice applicazione Web e inserimento in Amazon ECR:

  1. Crea un file, Dockerfile.

  1. Modifica il file Docker.

  1. Crea un'immagine Docker.

  1. Verifica l'immagine Docker eseguendola.

Produzione:

  1. Esegui l'immagine appena costruita.

  1. Punta il tuo browser su http://locallhost.com/ e l'output sarà:

  1. Arrestare il contenitore Docker digitando Ctrl + c.
  2. Invia la tua immagine ad Amazon ECR. Crea un repository Amazon ECR per archiviare l'immagine.

Produzione:

  1. Contrassegna l'immagine ecr di esempio con il valore Uri.

  1. Eseguire il comando di autenticazione di accesso Docker per il registro.

  1. Esegui il comando di accesso Docker.
  2. Invia l'immagine ad Amazon ECR con il repository Uri

2. Orchestrazione

Amazon Elastic Container Service (ECS)

È un servizio di gestione dei container completamente gestito, altamente scalabile e ad alte prestazioni. Supporta i contenitori Docker e consente agli utenti di eseguire in modo efficiente l'applicazione su un cluster gestito di istanze EC2. Le installazioni e le operazioni di orchestrazione dei container sono gestite da AWS.

Esempio di distribuzione di contenitori Docker su Amazon ECS:

  1. Amazon ECS - Prima esecuzione : ti consentirà di creare cluster e avviare applicazioni Web di esempio. Entrerai nella console Amazon ECS e avvierai la procedura guidata. Puoi anche utilizzare Amazon ECR per creare un repository di immagini e inviare l'immagine ad esso.

Seleziona l'opzione e seleziona Continua.

  1. Creazione definizione attività: è il progetto dell'applicazione. Rivedere i valori predefiniti e selezionare il passaggio successivo.

  1. Configurazione del servizio: il servizio avvia e mantiene copie della definizione dell'attività nel cluster.
  • Nome servizio: AWS fornisce per impostazione predefinita un'applicazione Web di esempio "Hello World" basata sul Web.
  • Numero desiderato di attività: il valore predefinito è 1, per il livello gratuito di AWS.
  • Bilanciamento del carico elastico: è possibile utilizzare un bilanciamento del carico con il proprio servizio.
  • Nome contenitore: Porta host: selezionare Simple-app : 80 e impostare i campi rimanenti per impostazione predefinita.

Seleziona Ruolo IAM di servizio se hai già dal menu a discesa o Amazon ECS creerà un ruolo di servizio ECS per impostazione predefinita.

Controlla i tuoi input e seleziona il passaggio successivo.

  1. Configurazione del cluster
  • Nome cluster: il nome predefinito è cluster di esempio .
  • Tipo di istanza EC2: il tipo predefinito è t2.micro per il livello gratuito di AWS.
  • Numero di istanze: il valore predefinito è 1, per il livello gratuito di AWS.
  • Coppia di chiavi: è possibile continuare selezionando una - Impossibile su SSH .
  • Gruppo di sicurezza: ovunque per impostazione predefinita. Permette l'accesso da tutta Internet.
  • Ruolo IAM istanza contenitore: selezionane uno se lo hai già dal menu a discesa o

Amazon ECS ne creerà uno per impostazione predefinita.

Seleziona Revisiona e avvia.

  1. Avvia e visualizza risorse

È possibile rivedere la definizione dell'attività, la configurazione dell'attività e le configurazioni del cluster prima dell'avvio.

Seleziona Avvia istanza ed esegui servizio.

Al termine del lancio, selezionare Visualizza servizio.

  1. Apri l'applicazione di esempio: è possibile verificare ed eseguire l'applicazione di esempio puntando il browser sul nome DNS del bilanciamento del carico.

Apri la pagina dell'app Web di esempio e seleziona il nome del tuo bilanciamento del carico.

Copia il nome DNS ELB e incollalo in un nuovo browser e premi Invio sulla tastiera.

È possibile visualizzare l'applicazione di esempio.

Puoi anche ripulire le tue risorse in qualsiasi momento per evitare addebiti non necessari.

Amazon Elastic Kubernetes Service (EKS)

Ti consente di gestire, distribuire e ridimensionare facilmente le applicazioni containerizzate usando Kubernetes su AWS. Esegue il servizio Kubernetes su più zone AWS per eliminare un singolo punto di errore. Amazon EKS è un'integrazione Kubernetes certificata, puoi facilmente migrare l'applicazione in esecuzione su qualsiasi ambiente Kubernetes standard su AWS EKS.

3. Calcolo

Amazon Elastic Compute Cloud (Amazon EC2)

È una capacità di calcolo sicura e ridimensionabile nel cloud che esegue container su infrastrutture di macchine virtuali con il pieno controllo su ridimensionamento e configurazione. Ti dà il controllo completo delle tue risorse informatiche. Riduce il tempo necessario per ottenere e avviare nuove istanze del server a pochi minuti. Amazon EC2 fornisce agli sviluppatori gli strumenti per la creazione di applicazioni resistenti ai guasti.

Esempio: installare un server Web LAMP con l'AMI Amazon Linux.

Questo esempio ti aiuta a installare un server web Apache con supporto PHP e MySQL sulla tua istanza di Amazon Linux (chiamato anche web server LAMP).

  1. Connetti all'istanza di Linux.
  2. Aggiorna i pacchetti software, se presenti.

  1. Installa i pacchetti software web server Apache, MySQL e PHP usando il comando yum install.

  1. Avviare il server web Apache.

  1. Configurare il web server Apache per l'avvio ad ogni avvio del sistema.

  1. Verifica che httpd sia attivo.

  1. Aggiungi una nuova regola di sicurezza in entrata con i seguenti valori:
  • Tipo: HTTP
  • Protocollo: TCP
  • Port Range: 80
  • Fonte: personalizzato
  1. Testare il server web, digitando l'indirizzo DNS in un browser web.
  2. Impostare le autorizzazioni necessarie per i file, se necessario.
  3. Prova il tuo server LAMP.
  4. Proteggere il server database.

AWS Fargate

È un motore di elaborazione senza server per Amazon ECS che ti consente di eseguire container senza gestire i server. Amazon si occupa di tutte le gestioni dei server sottostanti, permettendoti di concentrarti sulla progettazione e la realizzazione delle tue applicazioni

Ha due modalità:

Tipo di avvio di Fargate: impacchettare l'applicazione in contenitori, specificare i requisiti di CPU e memoria, definire i criteri di rete e IAM e avviare l'applicazione.

Tipo di avvio EC2: consente di avere un controllo a livello di server su una struttura che esegue le applicazioni del contenitore.

Vantaggi dei contenitori AWS

  • Esegue ovunque: i contenitori impacchettano il codice con i file di configurazione e le dipendenze di cui ha bisogno per essere eseguito in qualsiasi ambiente in modo coerente.
  • Migliora l'utilizzo delle risorse: i contenitori forniscono l'isolamento dei processi che consente di impostare l'utilizzo della CPU e della memoria per un migliore utilizzo delle risorse di calcolo.
  • Ridimensionamento rapido: ogni contenitore viene eseguito come un processo separato che condivide le risorse del sistema operativo sottostante. Ciò consente ai container di avviarsi e arrestarsi rapidamente.

Come funziona?

  1. Crea un'immagine del contenitore: impacchetta il tuo codice e tutte le sue dipendenze in un contenitore.
  2. Automatizza test e distribuzione: unità di codice standardizzata, il contenitore funge da edificio coerente
  3. Esegui ovunque: il contenitore verrà eseguito in qualsiasi ambiente in modo coerente.
  4. Ridimensionamento rapido: i contenitori si avviano e si chiudono rapidamente, in modo che l'applicazione possa ridimensionarsi

Conclusione - Contenitori AWS

Amazon offre una vasta gamma di servizi per l'archiviazione, la gestione e l'esecuzione di container. I container semplificano gli sviluppi e le implementazioni per gli sviluppatori poiché tutte le infrastrutture sottostanti, inclusa la gestione dei server, sono curate da Amazon, consentendo agli sviluppatori di concentrarsi sul loro sviluppo. Scegli il servizio AWS giusto per il tuo carico di lavoro.

Articoli consigliati

Questa è una guida ai contenitori AWS. Qui discutiamo l'introduzione, i tipi di contenitori che include registro, orchestrazione e calcolo insieme ai vantaggi dei contenitori AWS. Puoi anche consultare i seguenti articoli per saperne di più–

  1. Servizi AWS
  2. AWS Kinesis
  3. Architettura AWS
  4. Che cos'è AWS RedShift?
  5. Guida completa ai concorrenti AWS
  6. Scopri l'elenco delle funzionalità dei servizi Web di Amazon

Categoria: