La tua domanda
ECS è solo un'installazione docker in EC2? Se ho già un EC2, allora avvio un ECS, significa che ho due istanze?
No. AWS ECS
è solo un raggruppamento logico (cluster) di EC2
istanze, e tutta la EC2
parte istanze di un ECS
atto come Docker
ospite cioè ECS può inviare comandi per lanciare un contenitore sopra ( EC2
). Se hai già un EC2 e poi avvii ECS, avrai comunque una singola istanza. Se aggiungi / registri (installando AWS ECS Container Agent) l'EC2 in ECS diventerà la parte del cluster, ma sempre una singola istanza di EC2.
Un Amazon ECS senza EC2 registrato (aggiunto al cluster) non serve a niente.
TL; DR
Una panoramica
EC2
- è semplicemente una macchina remota (virtuale).
ECS
sta per Elastic Container Service
- secondo la definizione di base di cluster di computer , ECS
è fondamentalmente un raggruppamento logico di
EC2
macchine / istanze . Tecnicamente parlando ECS
è una semplice configurazione per un uso e una gestione efficiente delle risorse delle tue EC2
istanze, ad esempio archiviazione, memoria, CPU, ecc.
Per semplificarlo ulteriormente, se hai avviato un Amazon ECS
senza EC2
istanze aggiunte, non serve a nulla, ovvero non puoi fare nulla al riguardo. ECS
ha senso solo una volta EC2
aggiunte una (o più) istanze.
La prossima cosa confusa qui è il termine contenitore , che non è istanze di macchina completamente virtualizzate e Docker è una tecnologia che possiamo utilizzare per creare istanze di contenitore. Docker
è un'utilità che puoi installare sulla nostra macchina, che la rende un Docker
host, e su questo host puoi creare contenitori (come le macchine virtuali - ma molto più leggeri). Per riassumere, si ECS
tratta solo di clustering di istanze EC2 e utilizza Docker
per istanziare contenitori / istanze / macchine virtuali su questi EC2
host ( ) .
Tutto quello che devi fare è avviare un ECS
e registrarti / aggiungervi tutte le EC2
istanze di cui hai bisogno. Puoi aggiungere / registrare istanze EC2, tutto ciò di cui hai bisogno è Amazon ECS Container Agent in esecuzione sulla tua istanza / macchina EC2, che può essere eseguita manualmente o direttamente utilizzando l'AMI speciale (Amazon Machine Image), ovvero l'AMI ottimizzata per Amazon ECS, che ha già l'agente del contenitore di Amazon ECS. Durante l'avvio di una nuova istanza EC2, l'agente la registra automaticamente nel cluster ECS predefinito.
L' agente del contenitore in esecuzione su ciascuna delle istanze ( EC2
istanze) all'interno di un Amazon ECS
cluster invia informazioni sulle attività in esecuzione e sull'utilizzo delle risorse dell'istanza ad Amazon ECS e avvia e arresta le attività ogni volta che riceve una richiesta da Amazon ECS. Per ulteriori informazioni, consulta Amazon ECS Container Agent . Una volta impostata, ciascuna delle istanze di container create (di qualunque EC2
macchina / nodo) sarà un'istanza nello Amazon ECS
sciame di.
Per ulteriori informazioni, leggi il passaggio 10 di questa documentazione: Avvio di un'istanza di container Amazon ECS :
Scegli un'AMI per la tua istanza di container. Puoi scegliere l'AMI ottimizzata per Amazon ECS o un altro sistema operativo, come CoreOS o Ubuntu. Se non scegli l'AMI ottimizzata per Amazon ECS, devi seguire le procedure in Installazione dell'agente container Amazon ECS .
Per impostazione predefinita, l'istanza del contenitore viene avviata nel cluster predefinito. Se desideri avviare il tuo cluster invece di quello predefinito, scegli l'elenco Advanced Details e incolla il seguente script nel campo User data, sostituendo your_cluster_name con il nome del tuo cluster.
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Oppure, se disponi di un file ecs.config in Amazon S3 e hai abilitato l'accesso di sola lettura Amazon S3 al ruolo dell'istanza del contenitore, scegli l'elenco Dettagli avanzati e incolla il seguente script nel campo Dati utente, sostituendo your_bucket_name con il nome di il bucket per installare AWS CLI e scrivere il file di configurazione al momento del lancio. Nota Per ulteriori informazioni su questa configurazione, consulta Archiviazione della configurazione dell'istanza di container in Amazon S3.
#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
Giusto per chiarire ulteriormente, puoi creare contenitori sulla tua singola EC2
istanza senza ECS
. Installa qualsiasi tecnologia di containerizzazione, ad esempio Docker
ed esegui il comando create container, impostando il tuo EC2
come Docker
host e disponi di tutti i Docker
contenitori che desideri (o quanto le tue EC2
risorse lo consentono).