O que é o Amazon Elastic Container Service? - Serviço Amazon Elastic Container

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O que é o Amazon Elastic Container Service?

O Amazon Elastic Container Service (Amazon ECS) é um serviço totalmente gerenciado de orquestração de contêineres ajuda a implantar, gerenciar e dimensionar facilmente aplicações conteinerizadas. Como um serviço totalmente gerenciado, o Amazon ECS vem com práticas recomendadas operacionais e de configuração da AWS incorporadas. Ele é integrado à AWS e a ferramentas de terceiros, como o Amazon Elastic Container Registry e o Docker. Essa integração torna mais fácil para as equipes se concentrarem na criação das aplicações, não no ambiente. Você pode executar e escalar suas cargas de trabalho de contêineres Regiões da AWS na nuvem e localmente, sem a complexidade de gerenciar um plano de controle.

Terminologia e componentes do Amazon ECS

Há três camadas no Amazon ECS:

  • Capacidade - A infraestrutura em que seus contêineres são executados

  • Controlador - implante e gerencie seus aplicativos que são executados nos contêineres

  • Provisionamento - As ferramentas que você pode usar para interagir com o agendador para implantar e gerenciar seus aplicativos e contêineres

O diagrama a seguir mostra as camadas do Amazon ECS.


                Diagrama mostrando as camadas de capacidade, controlador e provisionamento.

Capacidade do Amazon ECS

A capacidade do Amazon ECS é a infraestrutura na qual seus contêineres são executados. Veja a seguir uma visão geral das opções de capacidade:

  • Instâncias do Amazon EC2 na nuvem AWS

    Você escolhe o tipo de instância, o número de instâncias e gerencia a capacidade.

  • Sem servidor (AWS Fargate (Fargate)) na nuvem AWS

    O Fargate é um mecanismo de computação sem servidor. pay-as-you-go Com o Fargate, você não precisa gerenciar servidores, lidar com o planejamento de capacidade ou isolar cargas de trabalho de contêineres para fins de segurança.

  • Máquinas virtuais (VM) ou servidores locais

    O Amazon ECS Anywhere fornece suporte para registrar uma Instância externa, como um servidor on-premises ou uma máquina virtual (VM), no cluster do Amazon ECS.

A capacidade pode estar localizada em qualquer um dos seguintes AWS recursos:

  • Uma VPC com zonas de disponibilidade e uma zona Wavelength.

  • Local Zones

  • Zonas do Wavelength

  • Regiões da AWS

  • AWS Outposts

Controlador Amazon ECS

O programador do Amazon ECS é o software que gerencia seus aplicativos.

Provisionamento do Amazon ECS

Há várias opções para provisionar o Amazon ECS:

  • AWS Management Console: fornece uma interface da Web que você pode usar para acessar seus recursos do Amazon ECS.

  • AWS Command Line Interface (AWS CLI): fornece comandos para um amplo conjunto de serviços da AWS, incluindo o Amazon ECS. Há suporte para o Windows, Mac e Linux. Para obter mais informações, consulte AWS Command Line Interface.

  • SDKs da AWS: fornece APIs específicas de idioma e cuida de muitos dos detalhes da conexão. Elas incluem o cálculo de assinaturas, o tratamento de novas tentativas de solicitação e o tratamento de erros. Para obter mais informações, consulte AWS SDKs.

  • Copilot — fornece uma ferramenta de código aberto para desenvolvedores criarem, lançarem e operarem aplicativos em contêineres prontos para produção no Amazon ECS. Para obter mais informações, consulte Copilot no GitHub site.

  • AWS CDK: fornece um framework de desenvolvimento de software de código aberto que você pode usar para modelar e provisionar recursos de aplicações em nuvem usando linguagens de programação conhecidas. O AWS CDK provisiona seus recursos de forma segura e repetível por meio do AWS CloudFormation.

Ciclo de vida do aplicativo

O diagrama a seguir mostra o ciclo de vida do aplicativo e como ele funciona com os componentes do Amazon ECS.


                Diagrama mostrando as camadas de capacidade, controlador e provisionamento.

Para implantar aplicações no Amazon ECS, os componentes das aplicações devem ser configurados para execução em contêineres. Um contêiner é uma unidade padronizada de desenvolvimento de software que contém tudo o que sua aplicação de software precisa para ser executada. Isso inclui código relevante, tempo de execução, ferramentas do sistema e bibliotecas do sistema. Os contêineres são criados a partir de um modelo somente leitura chamado imagem. Normalmente, as imagens são criadas a partir de um Dockerfile. O Dockerfile é um arquivo de texto simples que especifica todos os componentes incluídos no contêiner. Depois de criadas, essas imagens são armazenadas em um registro, como o Amazon ECR, de onde podem ser baixadas.

Depois de criar e armazenar sua imagem, você cria uma definição de tarefa do Amazon ECS. A definição de tarefa é um modelo para seu aplicativo. É um arquivo de texto no formato JSON que descreve os parâmetros e um ou mais contêineres que formam seu aplicativo. Por exemplo, você pode usá-lo para especificar a imagem e os parâmetros do sistema operacional, quais contêineres usar, quais portas abrir para seu aplicativo e quais volumes de dados usar com os contêineres na tarefa. Os parâmetros específicos disponíveis para sua definição de tarefa dependem das necessidades da aplicação específica.

Depois de definir sua definição de tarefa, você a implanta como um serviço ou uma tarefa em seu cluster. Um cluster é um agrupamento lógico de tarefas ou serviços executados na infraestrutura de capacidade registrada em um cluster.

Uma tarefa é a instanciação de uma definição de tarefa dentro de um cluster. Você pode executar uma tarefa autônoma ou executar uma tarefa como parte de um serviço. Você pode usar um serviço do Amazon ECS para executar e manter simultaneamente o número desejado de tarefas em um cluster do Amazon ECS. Ele funciona de forma que, se qualquer uma de suas tarefas falharem ou pararem por algum motivo, o programador de serviço do Amazon ECS iniciará outra instância com base na sua definição de tarefa. Ele faz isso para substituí-la e, assim, manter o número desejado de tarefas no serviço.

O agente de contêiner é executado em cada instância de contêiner em um cluster do Amazon ECS. O agente envia para o Amazon ECS informações sobre as atuais tarefas em execução e a utilização dos recursos dos seus contêineres. Ele inicia e interrompe tarefas sempre que recebe uma solicitação do Amazon ECS.

Depois de implantar a tarefa ou o serviço, você pode usar qualquer uma das seguintes ferramentas para monitorar a implantação e o aplicativo:

  • CloudWatch

Preços

Os preços do Amazon ECS dependem de você usar o AWS Fargate ou a infraestrutura do Amazon EC2 para hospedar workloads em contêineres. Ao usar o Amazon ECS no AWS Outposts, os preços seguem o mesmo modelo de quando você está usando o Amazon EC2 diretamente. Para obter mais informações, consulte Preços do Amazon ECS.

O Amazon ECS e o Fargate também oferecem Savings Plans que proporcionam uma economia significativa no uso da AWS. Para obter mais informações, consulte o Guia do usuário do Savings Plans.

Para ver sua fatura, acesse o Painel do Billing and Cost Management no console do AWS Billing and Cost Management. Sua fatura contém links para relatórios de uso que fornecem mais detalhes da fatura. Para saber mais sobre o faturamento de contas da AWS, consulte Faturamento de contas da AWS.

Se tiver dúvidas sobre faturamento, contas e eventos da AWS, entre em contato com o Suporte da AWS.

O Trusted Advisor é um serviço que você pode usar para ajudar a otimizar os custos, a segurança e a performance do ambiente da AWS. Para obter mais informações sobre o Trusted Advisor, consulte AWSTrusted Advisor.