Amazon Elastic Container Service

Comece a usar

Receba doze meses de acesso ao nível de uso gratuito da AWS e aproveite os recursos do AWS Basic Support incluindo atendimento ao cliente 24x7x365 e fóruns de suporte, entre outros recursos.


P: O que é o Amazon Elastic Container Service?
O Amazon Elastic Container Service (ECS) é um serviço de gerenciamento de contêineres altamente escalável e de alto desempenho com suporte a contêineres do Docker, o que permite executar facilmente aplicativos em um cluster gerenciado de instâncias do Amazon EC2. O Amazon ECS elimina a necessidade de você instalar, operar e dimensionar sua própria infraestrutura de gerenciamento de cluster. Com chamadas de API simples, você pode executar e interromper aplicações habilitadas para contêiner, consultar o estado completo do seu cluster e acessar muitos recursos familiares, como security groups, Elastic Load Balancing, volumes do EBS e funções do IAM. Você pode usar o Amazon ECS para programar a colocação de contêineres no cluster com base em suas necessidades de recursos e requisitos de disponibilidade. Você também pode integrar agendadores próprios ou de terceiros para atender a requisitos específicos dos negócios ou da aplicação.

P: Por que devo usar o Amazon ECS?
O Amazon ECS facilita a utilização de contêineres como um bloco de construção para as suas aplicações, eliminando a necessidade de você instalar, operar e dimensionar sua própria infraestrutura de gerenciamento de cluster. O Amazon ECS permite programar aplicações, serviços e processos de lotes de longa duração usando contêineres Docker. O Amazon ECS mantém a disponibilidade da aplicação e permite expandir ou reduzir seus contêineres para atender aos requisitos de capacidade da aplicação. O Amazon ECS é integrado com recursos familiares como Elastic Load Balancing, volumes do EBS, VPC e IAM. APIs simples permitem integrar e usar seus próprios agendadores ou conectar o Amazon ECS ao seu processo existente de distribuição de software.

P: Qual é a definição de preço do Amazon ECS?
Não há cobrança adicional para o Amazon ECS. Você paga pelos recursos da AWS (como instâncias do EC2 ou volumes do EBS) que criar para armazenar e executar seu aplicativo. Você paga apenas pelo que usar, quando usar. Não há taxas mínimas nem compromissos iniciais.

P: No que o AWS ECS difere do AWS Elastic Beanstalk?
O AWS Elastic Beanstalk é uma plataforma de gerenciamento de aplicações que ajuda os clientes a implantar e dimensionar web services e aplicações web com facilidade. Ele evita que o usuário precise se preocupar com o provisionamento de blocos de construção (por exemplo, EC2, RDS, Elastic Load Balancing, Auto Scaling, CloudWatch), a implantação de aplicações e o monitoramento de saúde, e possa se concentrar apenas em escrever código. Basta especificar quais imagens de contêiner devem ser implantadas, os requisitos de CPU e memória, os mapeamentos de porta e os vínculos do contêiner. O Elastic Beanstalk cuida automaticamente de todos os detalhes, como provisionamento de um cluster do Amazon ECS, balanceamento de carga, auto scaling, monitoramento e posicionamento dos contêineres em seu cluster.

O Elastic Beanstalk é ideal se você deseja aproveitar os benefícios dos contêineres, mas quer simplesmente poder implantar aplicações desde o desenvolvimento até a produção fazendo o upload de uma imagem de contêiner. Você pode trabalhar com o Amazon ECS diretamente se quiser ter um controle mais refinado para arquiteturas de aplicações personalizadas.

P: No que o Amazon ECS difere do AWS Lambda?
O Amazon Elastic Container Service (ECS) é um serviço de gerenciamento de contêineres do Docker altamente escalável que permite executar e gerenciar aplicativos em contêineres do Docker. O AWS Lambda é um serviço de computação de tarefas orientadas por eventos que executa seu código em resposta a “eventos”, como mudanças em dados, cliques em sites ou mensagens de outros serviços da AWS sem necessidade de gerenciamento de qualquer infraestrutura de computação.

 

 

 

P: Como faço para começar a usar o Amazon ECS?
Visite nossa página Conceitos básicos para obter mais informações sobre como começar a usar.

P: O Elastic Container Service oferece suporte a outros tipos de contêiner?
Não. No momento, o Docker é a única plataforma de contêineres com suporte do Elastic Container Service.

P: Quero lançar contêineres. Por que tenho que lançar tarefas?
O Docker recomenda que você divida os aplicativos em componentes individuais, e o Elastic Container Service é otimizado para esse padrão. As tarefas permitem definir um conjunto de contêineres que você gostaria que fossem posicionados juntos (ou que fossem parte da mesma decisão de posicionamento), suas propriedades e como eles podem ser vinculados. As tarefas incluem todas as informações necessárias para que o Elastic Container Service tome a decisão de posicionamento. Para lançar um único contêiner, sua Definição de Tarefas deve incluir apenas uma definição de contêiner.

P: O Amazon ECS fornece suporte para aplicações e serviços?
Sim. O agendador do Amazon ECS Service pode gerenciar aplicações e serviços de longa duração. O agendador do serviço ajuda a manter a disponibilidade da aplicação e permite expandir ou reduzir seus contêineres para atender aos requisitos de capacidade da aplicação. Ele permite também distribuir o tráfego por seus contêineres usando o Elastic Load Balancing. O Amazon ECS registrará e cancelará o registro de seus contêineres automaticamente no load balancer associado. O agendador do serviço também recuperará automaticamente os contêineres que não estiverem sadios (que não passarem nas verificações de saúde do ELB) ou pararem de funcionar, a fim de assegurar que você tenha o número desejado de contêineres sadios dando suporte à sua aplicação. Você pode expandir ou reduzir sua aplicação, alterando o número de contêineres a serem executados pelo serviço. É possível atualizar a aplicação alterando sua definição ou usando uma nova imagem. O agendador iniciará novos contêineres automaticamente utilizando a nova definição e interromperá os contêineres que estiverem executando a versão anterior (aguardando as conexões do ELB serem consumidas se ele for usado).

P: O Amazon ECS é compatível com o mapeamento de porta dinâmica?
Sim. É possível associar um serviço no Amazon Elastic Container Service (ECS) a um Application Load Balancer para o serviço Elastic Load Balancing (ELB). O Application Load Balancer sustenta um grupo de destino que contém um conjunto de instance:ports. É possível especificar uma porta dinâmica na definição de tarefa do ECS, que disponibiliza ao contêiner uma porta não utilizada quando estiver programada em uma instância EC2. O programador do ECS adicionará automaticamente a tarefa ao grupo de destino do Application Load Balancer que está usando essa porta.

P: O Amazon ECS fornece suporte para trabalhos em lote?
Sim. Você pode usar o comando Executar tarefa do Amazon ECS para executar uma ou mais tarefas de uma vez. O comando Executar tarefa inicia a tarefa em uma instância que atenda aos requisitos da tarefa, incluindo CPU, memória e portas.

P: Posso usar meu próprio agendador com o Amazon ECS?
O ECS disponibiliza ao Blox, um conjunto de projetos de código aberto para gerenciar e orquestrar contêineres. O Blox facilita consumir eventos do Amazon ECS, armazenar o estado do cluster localmente e consultar o armazenamento de dados local por meio de APIs. O Blox também inclui um programador daemon que pode ser usado como referência sobre como usar o servidor de estado do cluster. Consulte a página do GitHub do Blox para saber mais.

P: Posso usar minha própria AMI?
Sim. Você pode usar qualquer AMI que atenda à especificação da AMI do Amazon ECS. Recomendamos começar com o Amazon Linux AMI habilitado para Amazon ECS. AMIs de parceiros compatíveis com o Amazon ECS também estão disponíveis. Consulte a especificação da AMI do Amazon ECS na documentação.

P: Como posso configurar as instâncias de contêineres para recuperar imagens do Amazon Elastic Container Registry?
O Amazon ECR é integrado com o Amazon ECS, o que permite que você armazene, execute e gerencie facilmente imagens de contêiner para aplicações em execução no Amazon ECS. Tudo o que você precisa fazer é especificar o repositórios do Amazon ECR na sua definição de tarefa e conectar o AmazonEC2ContainerServiceforEC2Role às suas instâncias. Em seguida, o Amazon ECS recuperará as imagens adequadas para suas aplicações.

P: Como o Amazon ECS isola contêineres pertencentes a diferentes clientes?
O Amazon ECS agenda os contêineres para execução em instâncias do Amazon EC2 controladas pelo cliente e complementa os mesmos controles de isolamento e a conformidade que estão disponíveis para clientes do EC2.

  • As suas instâncias de computação estão localizadas em uma Virtual Private Cloud (VPC) com o intervalo de IP que você especificou. Você decide quais instâncias são expostas para a Internet e quais permanecem privadas.
  • Suas instâncias do EC2 usam uma função do IAM para acessar o serviço ECS.
  • Suas tarefas do ECS usam uma função do IAM para acessar serviços e recursos.
  • Os grupos de segurança e os ACLs de rede permitem controlar o acesso de entrada/saída pela rede para/de suas instâncias.
  • Você pode conectar a sua infraestrutura de TI existente aos recursos da sua VPC usando conexões VPN IPsec com criptografia padrão do setor.
  • Você pode provisionar seus recursos do EC2 como instâncias dedicadas. Instâncias dedicadas são instâncias do Amazon EC2 que são executadas em hardware dedicado a um único cliente para proporcionar isolamento adicional.

P: Posso aplicar estruturas adicionais de isolamento e configuração de segurança às minhas instâncias de contêiner?
Sim. Como cliente do Amazon EC2, você tem acesso root ao sistema operacional de suas instâncias de contêiner, permitindo que você assuma a propriedade das configurações de segurança do sistema operacional, além de carregar e configurar componentes de software adicionais para recursos de segurança como monitoramento, gerenciamento de patch, gerenciamento de log e detecção de invasões de host.

P: Posso operar instâncias de contêiner com diferentes configurações de segurança ou segregar tarefas diferentes em ambientes diferentes?
Sim. Você pode configurar suas diferentes instâncias de contêiner utilizando as ferramentas de sua escolha. O Amazon ECS permite controlar a colocação de tarefas em diferentes instâncias de contêiner por meio da construção de clusters e execuções direcionadas.

P: O Amazon ECS fornece suporte para a recuperação de imagens do Docker de uma fonte privada ou interna?
Sim. Os clientes podem configurar instâncias de contêineres para acessar um registro privado de imagens de Docker em uma VPC ou um registro que possa ser acessado fora de uma VPC, como o Amazon Elastic Container Registry.

P: Como devo configurar funções do IAM para tarefas do ECS?
Primeiro, você precisa criar uma função do IAM para a sua tarefa usando a função de serviço "Amazon EC2 Container Service Task Role" e anexando uma política às permissões exigidas. Ao criar uma nova definição de tarefa ou uma revisão de definição de tarefa, é possível especificar uma função ao selecioná-la na lista suspensa "Task Role" ou usando a opção "taskRoleArn" arquivada no formato JSON.