Cos'è Amazon Elastic Container Service? - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Cos'è Amazon Elastic Container Service?

Amazon Elastic Container Service (Amazon ECS) è un servizio di orchestrazione di container completamente gestito che facilita l'implementazione, la gestione e il dimensionamento delle applicazioni containerizzate. Essendo un servizio completamente gestito, Amazon ECS include AWS configurazioni e best practice operative integrate. È integrato con strumenti AWS sia di terze parti, come Amazon Elastic Container Registry e Docker. Questa integrazione consente ai team di concentrarsi più facilmente sulla creazione delle applicazioni piuttosto che sull'ambiente. Puoi eseguire e scalare i carichi di lavoro dei container Regioni AWS nel cloud e in locale, senza la complessità della gestione di un piano di controllo.

Terminologia e componenti di Amazon ECS

Amazon ECS si compone di tre livelli:

  • Capacità: l'infrastruttura su cui vengono eseguiti i container

  • Controller: per implementare e gestire le applicazioni in esecuzione sui container

  • Provisioning: gli strumenti che puoi utilizzare per interfacciarti con il pianificatore al fine di implementare e gestire le applicazioni e i container

Il diagramma seguente mostra i livelli di Amazon ECS.

Diagramma che mostra i livelli di capacità, controller e provisioning.

Capacità di Amazon ECS

La capacità di Amazon ECS è l'infrastruttura su cui vengono eseguiti i container. Di seguito è riportata una panoramica delle opzioni di capacità:

  • Istanze Amazon EC2 nel cloud AWS

    Scegli il tipo di istanza e il numero di istanze per gestire la capacità.

  • Serverless (AWS Fargate (Fargate)) nel cloud AWS

    Fargate è un motore di elaborazione senza server. pay-as-you-go Con Fargate non è necessario gestire i server e la pianificazione della capacità o isolare i carichi di lavoro dei container per motivi di sicurezza.

  • Macchine virtuali (VM) o server on-premise

    Amazon ECS Anywhere fornisce supporto per la registrazione di una istanza esterna, ad esempio un server on-premise o una macchina virtuale (VM) nel cluster Amazon ECS.

La capacità può essere localizzata in una delle seguenti risorse: AWS

  • Zone di disponibilità

  • Zone locali

  • Zone Wavelength

  • Regioni AWS

  • AWS Outposts

Controller di Amazon ECS

Il pianificatore di Amazon ECS è il software che gestisce le applicazioni.

Provisioning di Amazon ECS

Esistono diverse opzioni per il provisioning di Amazon ECS:

  • AWS Management Console: fornisce un'interfaccia Web che può essere utilizzata per accedere alle risorse Amazon ECS.

  • AWS Command Line Interface (AWS CLI) — Fornisce comandi per un'ampia gamma di AWS servizi, tra cui Amazon ECS. È supportata su Windows, Mac e Linux. Per ulteriori informazioni, consulta AWS Command Line Interface.

  • AWS SDK: fornisce API specifiche per la lingua e si occupa di molti dettagli di connessione. Questi includono il calcolo delle firme e la gestione di errori e di nuovi tentativi di richiesta. Per ulteriori informazioni, consulta SDK di AWS.

  • Copilot: fornisce uno strumento open source che consente agli sviluppatori di creare, rilasciare e gestire applicazioni containerizzate pronte per la produzione su Amazon ECS. Per ulteriori informazioni, consulta Copilot sul sito Web. GitHub

  • AWS CDK: offre un framework di sviluppo software open source che puoi utilizzare per modellare ed eseguire il provisioning delle risorse delle applicazioni cloud utilizzando linguaggi di programmazione familiari. Il AWS CDK effettua il provisioning delle tue risorse in modo sicuro e ripetibile tramite AWS CloudFormation.

Ciclo di vita delle applicazioni

Il diagramma seguente mostra il ciclo di vita dell'applicazione e il funzionamento con i componenti di Amazon ECS.

Diagramma che mostra i livelli di capacità, controller e provisioning.

È necessario progettare le applicazioni in modo che possano essere eseguite su contenitori. Un container è un'unità di sviluppo software standardizzata che contiene tutto ciò che è necessario per l'esecuzione dell'applicazione software. Ciò include codice, runtime, strumenti di sistema e librerie di sistema pertinenti. I container vengono creati da un modello di sola lettura denominato immagine. Le immagini sono generalmente create da un Dockerfile. Un Dockerfile è un file di testo semplice che specifica tutti i componenti inclusi nel container. In seguito alla creazione, tali immagini vengono archiviate in un registro, ad esempio Amazon ECR, da cui possono essere scaricate.

Dopo aver creato e archiviato l'immagine, puoi creare una definizione dell'attività di Amazon ECS. Una definizione di attività è uno schema dell'applicazione. Si tratta di un file di testo in formato JSON che descrive i parametri e uno o più container che formano l'applicazione. Ad esempio, puoi utilizzarla per specificare l'immagine e i parametri del sistema operativo, i container da utilizzare, le porte da aprire per l'applicazione e i volumi di dati da utilizzare con i container nell'attività. I parametri specifici disponibili per la definizione di attività dipendono dalle esigenze dell'applicazione specifica.

Dopo aver stabilito la definizione di attività, implementala come servizio o attività nel cluster. Un cluster è un raggruppamento logico di attività o servizi in esecuzione sull'infrastruttura di capacità registrata in un cluster.

Si definisce attività la creazione dell'istanza relativa a una definizione di attività all'interno di un cluster. Puoi eseguire un processo autonomo oppure eseguire un processo come parte di un servizio. Puoi utilizzare un servizio Amazon ECS per eseguire e mantenere simultaneamente il numero desiderato di processi in un cluster Amazon ECS. Il funzionamento è che, se uno dei processi non riesce o si interrompe per qualsiasi motivo, il pianificatore del servizio Amazon ECS lancia un'altra istanza in base alla definizione di attività. Lo fa per sostituirlo e quindi mantenere il numero desiderato di processi nel servizio.

L'agente del container funziona su ogni istanza di container in un cluster Amazon ECS. L'agente invia ad Amazon ECS informazioni sui processi correntemente in esecuzione e sull'utilizzo delle risorse dei tuoi container. Avvia e interrompe i processi ogni volta che riceve una richiesta da Amazon ECS.

Dopo aver implementato l'attività o il servizio, puoi utilizzare uno degli strumenti seguenti per monitorare l'implementazione e l'applicazione:

  • CloudWatch

  • Monitoraggio del runtime