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 EC2instâncias, e todas as EC2instâncias fazem parte de um ECSato como Dockerhost, 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).
ECSsignifica Elastic Container Service- conforme a definição básica de cluster de computadores , ECSé basicamente um agrupamento lógico de
EC2má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 ECSsem EC2instâncias adicionadas, não adianta nada, ou seja, você não pode fazer nada a respeito. ECSfaz sentido apenas quando uma (ou mais) EC2instâ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 Dockerhost e, nesse host, você pode criar contêineres (o mesmo que máquinas virtuais - mas muito mais leves). Em resumo, ECStrata-se apenas de agrupar instâncias do EC2 e usa Dockerpara instanciar contêineres / instâncias / máquinas virtuais nesses EC2hosts ( ) .
Tudo o que você precisa fazer é iniciar ECSe registrar / adicionar quantas EC2instâ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 ( EC2instâncias) em um Amazon ECScluster 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 EC2máquina / nó) será uma instância no Amazon ECSenxame.
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 EC2instância sem ECS. Instale qualquer tecnologia de containerização, ou seja, Dockere execute o comando create container, configurando o seu EC2como Dockerhost, e tenha o máximo de Dockercontêineres que você desejar (ou o máximo que EC2os recursos permitirem).