Sua pergunta
O ECS é apenas uma instalação do docker no EC2? Se eu já tenho um EC2, inicio um ECS, significa que tenho duas instâncias?
No. AWS ECS
é apenas um agrupamento lógico (cluster) de EC2
instâncias, e todas as EC2
instâncias fazem parte de um ECS
ato como Docker
host, ou seja, o ECS pode enviar um comando para ativar um contêiner ( EC2
). Se você já possui um EC2 e, em seguida, inicia o ECS, ainda terá uma única instância. Se você adicionar / registrar (instalando o AWS ECS Container Agent) o EC2 no ECS, ele se tornará parte do cluster, mas ainda será uma instância única do EC2.
Um Amazon ECS sem nenhum EC2 registrado (adicionado ao cluster) é inútil.
TL; DR
Uma visão geral
EC2
- é simplesmente uma máquina remota (virtual).
ECS
significa Elastic Container Service
- conforme a definição básica de cluster de computadores , ECS
é basicamente um agrupamento lógico de
EC2
máquinas / instâncias . Tecnicamente falando, ECS
é uma mera configuração para um uso e gerenciamento eficientes dos recursos de suas EC2
instâncias, como armazenamento, memória, CPU, etc.
Para simplificar ainda mais, se você lançou um Amazon ECS
sem EC2
instâncias adicionadas, não adianta nada, ou seja, você não pode fazer nada a respeito. ECS
faz sentido apenas quando uma (ou mais) EC2
instância é adicionada a ela.
A próxima coisa confusa aqui é o termo do contêiner - que não é totalmente instâncias de máquinas virtualizadas e o Docker é uma tecnologia que podemos usar para criar instâncias de contêineres. Docker
é um utilitário que você pode instalar em nossa máquina, o que o torna um Docker
host e, nesse host, você pode criar contêineres (o mesmo que máquinas virtuais - mas muito mais leves). Em resumo, ECS
trata-se apenas de agrupar instâncias do EC2 e usa Docker
para instanciar contêineres / instâncias / máquinas virtuais nesses EC2
hosts ( ) .
Tudo o que você precisa fazer é iniciar ECS
e registrar / adicionar quantas EC2
instâncias precisar. Você pode adicionar / registrar instâncias do EC2, tudo o que precisa é do Amazon ECS Container Agent em execução na sua instância / máquina do EC2, o que pode ser feito manualmente ou diretamente usando a AMI especial (Amazon Machine Image), ou seja, a AMI otimizada para Amazon ECS, que já possui o Amazon ECS Container Agent. Durante o lançamento de uma nova instância do EC2, o Agente a registra automaticamente no cluster do ECS padrão.
O agente de contêiner em execução em cada uma das instâncias ( EC2
instâncias) em um Amazon ECS
cluster envia informações sobre as tarefas atuais em execução e a utilização de recursos da instância para o Amazon ECS e inicia e interrompe tarefas sempre que recebe uma solicitação do Amazon ECS. Para obter mais informações, consulte Amazon ECS Container Agent . Uma vez definida, cada uma das instâncias de contêiner criadas (de qualquer EC2
máquina / nó) será uma instância no Amazon ECS
enxame.
Para obter mais informações - leia a etapa 10 desta documentação: Iniciando uma instância do Amazon ECS Container :
Escolha uma AMI para sua instância de contêiner. Você pode escolher a AMI otimizada para Amazon ECS ou outro sistema operacional, como CoreOS ou Ubuntu. Se você não escolher a AMI otimizada para Amazon ECS, precisará seguir os procedimentos em Instalando o Amazon ECS Container Agent .
Por padrão, sua instância de contêiner é iniciada no cluster padrão. Se você deseja iniciar seu próprio cluster em vez do padrão, escolha a lista Detalhes Avançados e cole o seguinte script no campo Dados do usuário, substituindo your_cluster_name pelo nome do seu cluster.
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Ou, se você tiver um arquivo ecs.config no Amazon S3 e tiver ativado o acesso somente leitura do Amazon S3 à sua função de instância do contêiner, escolha a lista Detalhes avançados e cole o seguinte script no campo Dados do usuário, substituindo your_bucket_name pelo nome de seu bucket para instalar a CLI da AWS e gravar seu arquivo de configuração no momento da inicialização. Nota Para obter mais informações sobre essa configuração, consulte Armazenando a configuração da instância do contêiner no Amazon S3.
#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
Apenas para esclarecer melhor - você pode criar contêineres em sua única EC2
instância sem ECS
. Instale qualquer tecnologia de containerização, ou seja, Docker
e execute o comando create container, configurando o seu EC2
como Docker
host, e tenha o máximo de Docker
contêineres que você desejar (ou o máximo que EC2
os recursos permitirem).