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

O que é o Amazon Elastic Container Service?

O Amazon Elastic Container Service (Amazon ECS) é um serviço de gerenciamento de contêineres altamente rápido e escalável. Você pode usá-lo para executar, interromper e gerenciar contêineres em um cluster. No Amazon ECS, seus contêineres são definidos em uma definição de tarefa que você usa para executar tarefas individuais ou tarefas em um serviço. Nesse contexto, um serviço é uma configuração que você pode usar para executar e manter simultaneamente um número especificado de tarefas em um cluster. Você pode executar tarefas e serviços em uma infraestrutura sem servidor gerenciada pelo AWS Fargate. Como alternativa, para ter mais controle da infraestrutura, é possível executar tarefas e serviços em um cluster de instâncias do Amazon EC2 que você gerencia.

O Amazon ECS fornece os seguintes recursos:

  • Uma opção sem servidor com o AWS Fargate. Com o AWS Fargate, você não precisa gerenciar servidores, lidar com o planejamento de capacidade ou isolar workloads de contêiner para segurança. O Fargate lida com os aspectos de gerenciamento de infraestrutura de sua workload para você. Você pode programar o posicionamento dos contêineres no cluster com base nas suas necessidades de recursos, políticas de isolamento e requisitos de disponibilidade.

  • Integração com o AWS Identity and Access Management (IAM). Você pode atribuir permissões granulares para cada um de seus contêineres. Isso permite um alto nível de isolamento ao criar suas aplicações. Em outras palavras, você pode iniciar seus contêineres com os níveis de segurança e conformidade que você espera da AWS.

  • Orquestração de contêineres gerenciada pela AWS. Como um serviço totalmente gerenciado, o Amazon ECS vem com práticas recomendadas operacionais e de configuração da AWS incorporadas. Isso também significa que você não precisa gerenciar o ambiente de gerenciamento, nós ou complementos. Ele é integrado ao Alexa Web Information Service 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.

  • Integração e implantação contínuas (CI/CD) Esse é um processo comum para arquiteturas de microsserviço que são baseadas em contêineres do Docker. Você pode criar um pipeline CI/CD que execute as seguintes ações:

    • Monitora alterações em um repositório de códigos-fonte

    • Cria uma nova imagem de docker a partir dessa fonte

    • Envia a imagem a um repositório de imagens, como o Amazon ECR ou o Docker Hub

    • Atualiza os serviços do Amazon ECS para usar a nova imagem na sua aplicação

  • Suporte a descoberta de serviço. Esse é um componente importante na maioria dos sistemas distribuídos e arquiteturas orientadas a serviço. Com a descoberta de serviço, os componentes de microsserviço são descobertos automaticamente à medida que são criados e terminados em uma infraestrutura específica.

  • Support para envio das informações de log da sua instância de contêiner para o CloudWatch Logs. Depois de enviar essas informações ao Amazon CloudWatch, você pode exibir os logs das instâncias de contêiner em um local conveniente. Isso evita que os logs de contêiner ocupem espaço em disco nas instâncias de contêiner.

A equipe de serviços de contêiner da AWS mantém um roteiro público no GitHub. O roteiro contém informações sobre no que as equipes estão trabalhando e permite que os clientes da AWS forneçam feedback diretamente. Para obter mais informações, consulte Roteiro de contêiners da AWS no site do GitHub.

Tipos de inicialização

Existem dois modelos que você pode usar para executar seus contêineres:

  • Tipo de inicialização do Fargate: esta é uma opção de pagamento conforme o uso, sem servidor. Você pode executar contêineres sem precisar gerenciar sua infraestrutura.

  • Tipo de inicialização do EC2: configura e implanta instâncias do EC2 em seu cluster para executar seus contêineres.

O tipo de inicialização do Fargate é adequado para as seguintes workloads:

  • Grandes workloads que precisem ser otimizadas para baixa sobrecarga

  • Pequenas workloads que têm explosão ocasional

  • Workloads pequenas

  • Workloads em batch

O tipo de inicialização do EC2 é adequado para as seguintes workloads:

  • Workloads que exijam uso consistente de núcleo de CPU e memória

  • Grandes workloads que precisem ser otimizadas para preço

  • Suas aplicações precisam acessar o armazenamento persistente

  • Você deve gerenciar diretamente sua infraestrutura

Acesse o Amazon ECS

Você pode criar, acessar e gerenciar seus recursos do Amazon ECS usando qualquer uma das seguintes interfaces:

  • 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 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.

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

  • CLI do Amazon ECS: fornece uma interface de linha de comando para você executar suas aplicações no Amazon ECS e no AWS Fargate usando o formato de arquivo Docker Compose. Você pode provisionar recursos rapidamente, enviar e extrair imagens usando o registro do contêiner elástico e monitorar aplicações em execução no Amazon ECS ou no Fargate. Você também pode testar contêineres em execução localmente juntamente com contêineres na nuvem, dentro da CLI. Para obter mais informações, consulte CLI do Amazon ECS no site do GitHub.

  • 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. Para mais informações, consulte Conceitos básicos do Amazon ECS usando o AWS CDK.

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 ajuda você 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.