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

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?

Amazon Elastic Container Service(Amazon ECSO) é um serviço de gerenciamento de contêineres altamente escalável e rápido que facilita a execução, a interrupção e o gerenciamento de contêineres em um cluster. 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 permite executar e manter simultaneamente um número especificado de tarefas em um cluster do. Você pode executar tarefas e serviços em uma infraestrutura sem servidor gerenciada peloAWS Fargate. Como alternativa, para obter mais controle sobre sua infraestrutura, você pode executar suas tarefas e serviços em um cluster deAmazon EC2que você gerencia.

Amazon ECSpermite que você inicie e interrompa seus aplicativos baseados em contêiner usando chamadas de API simples. Você também pode recuperar o estado do cluster a partir de um serviço centralizado e ter acesso a muitosAmazon EC2Recursos do.

Você pode programar a colocação de contêineres no cluster com base em suas necessidades de recursos, políticas de isolamento e requisitos de disponibilidade. comAmazon ECSVocê não precisa operar seus próprios sistemas de gerenciamento de cluster e configuração ou se preocupar com a escalabilidade da infraestrutura de gerenciamento.

Amazon ECSO pode ser usado para criar uma criação consistente, criar experiência, gerenciar e escalar workloads Extração-Transformação-Carga (ETL, na sigla em inglês) e criar arquiteturas de aplicativo sofisticadas em um modelo de microsserviços. Para obter informações sobre casos de uso e cenários do Amazon ECS, consulte Casos de uso 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 o que as equipes estão trabalhando e habilita oAWSpara fornecer feedback direto. Para obter mais informações, consulte Roteiro de contêineres da AWS.

Recursos do Amazon ECS

Amazon ECSO é um serviço regional que simplifica a execução de contêineres de uma forma altamente disponível em várias Zonas de disponibilidade em uma região. Você pode criar clusters do Amazon ECS em uma VPC nova ou existente. Depois que um cluster estiver funcionando, você poderá criar definições de tarefas que definem as imagens de contêiner executadas em seus clusters. Suas definições de tarefa são usadas para executar tarefas ou criar serviços. Imagens de contêiner do são armazenadas em registros de contêiner e extraídas deles, por exemplo, o contêiner doAmazon Elastic Container Registry.

O diagrama a seguir mostra a arquitetura de umAmazon ECSambiente executado emAWS Fargate.


                Diagrama mostrando a arquitetura de umAmazon ECSUsar o ambiente de configuraçãoFargate.

As seções a seguir mergulham nesses elementos individuais da arquitetura do Amazon ECS mais detalhadamente.

Reciineres e imagens

Para implantar aplicativos no Amazon ECS, os componentes de aplicativos devem ser projetados para serem executados em contêineres. Um contêiner é uma unidade padronizada de desenvolvimento de software que contém tudo que seu aplicativo de software precisar para executar, incluindo código relevante, tempo de execução, ferramentas de sistema e bibliotecas de 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, que é um arquivo de texto simples que especifica todos os componentes que estão incluídos no contêiner. Após serem criadas, essas imagens são armazenadas em um arquivo doRegistro doEm que elas podem ser obtidas por download e executadas em seu cluster. Para obter mais informações sobre a tecnologia de contêiner, consulte Noções básicas do Docker para Amazon ECS.


                    Diagrama mostrando a criação e o registro da imagem do Docker em umAmazon ECSMeio ambiente do.

Definições de tarefa tarefa

Para preparar seu aplicativo para execução noAmazon ECS, você deve criar um arquivo dodefinição de tarefa. A definição de tarefas é um arquivo de texto (em formato JSON) que descreve um ou mais contêineres (até um máximo de dez) que formam seu aplicativo. A definição de tarefas pode ser considerada como um esquema do seu aplicativo. Ele especifica vários parâmetros para seu aplicativo. Por exemplo, esses parâmetros podem ser usados para indicar os contêineres que devem ser usados, as portas que devem ser abertas para seu aplicativo e os volumes de dados que devem ser usados com os contêineres na tarefa. Os parâmetros específicos disponíveis para sua definição de tarefas dependem das necessidades de seu aplicativo específico. Para obter mais informações sobre como criar definições de tarefa, consulte Definições de tarefa do Amazon ECS.

A seguir está um exemplo de uma definição de tarefas que especifica o uso do Fargate para executar um único contêiner que executa um servidor web NGINX. Para um exemplo mais estendido que demonstra uso de vários contêineres em uma definição de tarefa, consulte Exemplos de definições de tarefa.

{ "family": "webserver", "containerDefinitions": [ { "name": "web", "image": "nginx", "memory": "100", "cpu": "99" }, ], "requiresCompatibilities": [ "FARGATE" ], "networkMode": "awsvpc", "memory": "512", "cpu": "256", }

Tarefas e programação

Uma tarefa é a instanciação de uma definição de tarefa dentro de um cluster. Depois de criar uma definição de tarefa para seu aplicativo noAmazon ECSVocê pode especificar o número de tarefas a serem executadas em seu cluster.

O programador de tarefas do Amazon ECS é responsável por posicionar tarefas dentro do seu cluster. Há várias opções diferentes de programação disponíveis. Por exemplo, você pode definir um serviço que executa e mantém um número de tarefas especificado simultaneamente. Para obter mais informações sobre as diferentes opções de programação disponíveis, consulte ProgramaçãoAmazon ECSTarefas do.


                    Diagrama mostrando o agendamento e o posicionamento de tarefas dentro de umAmazon ECSUsar o ambiente de configuraçãoFargate.

Clusters

UmaAmazon ECS clusterO é um agrupamento lógico de tarefas ou serviços. Você pode registrar um ou maisAmazon EC2(também chamadas de instâncias do (chamadas deInstâncias de contêiner do) com o cluster para executar tarefas neles. Ou, você pode usar a infraestrutura sem servidor queFargatefornece para executar tarefas. Quando suas tarefas são executadas noFargate, seus recursos de cluster também são gerenciados peloFargate.

Quando você usa pela primeira vezAmazon ECS, um cluster padrão é criado para você. Você pode criar clusters adicionais em uma conta para manter os recursos separados.

Para mais informações sobre como criar clusters, consulte Clusters do Amazon ECS. Para obter mais informações sobre como executar instâncias de contêiner e registrá-las em seus clusters, consulteInstâncias de contêiner do Amazon ECS.

Agente do contêiner

OAgente do contêineré executado em cada instância de contêiner dentro de umAmazon ECSCluster do. O agente envia informações sobre as atuais tarefas em execução do recurso e utilização de recursos para oAmazon ECS. Ele inicia e interrompe tarefas sempre que recebe uma solicitação deAmazon ECS. Para obter mais informações, consulte Amazon ECSAgente do contêiner.


                    Diagrama mostrando tarefas do agente de contêiner em umAmazon ECSMeio ambiente do.

Conceitos básicos do Amazon ECS

Para saber mais sobre as ferramentas de desenvolvedor disponíveis para usarAmazon ECS, consulteAmazon ECSFerramentas de desenvolvedor visão geral.

Se você está usando o Amazon ECS pela primeira vez, o AWS Management Console para o Amazon ECS fornece um assistente de primeira execução que conduz você na criação de uma definição de tarefa para um servidor web, na configuração de um serviço e na execução de sua primeira tarefa Fargate. Recomendamos enfaticamente que você use o assistente de primeira execução se você tiver pouca ou nenhuma experiência anterior usando oAmazon ECS. Para obter mais informações, consulte Conceitos básicos do Amazon ECS.

Como alternativa, você pode instalar o AWS Command Line Interface (AWS CLI) para usar o Amazon ECS. Para obter mais informações, consulte Configuração com o Amazon ECS.

O Amazon ECS pode ser usado junto com os seguintes serviços da AWS:

AWS Identity and Access Management

IAMO (Identity and Access Management, Management) é um serviço de gerenciamento de acesso que ajuda você a controlar o acesso ao acesso doAWSrecursos da AWS. Você pode usar o IAM para controlar quem é autenticado (fez login) e autorizado (tem permissões) a exibir ou executar ações específicas em recursos. DentroAmazon ECS, você pode usarIAMPara controlar acesso no nível de instância de contêiner usando oIAMe no nível da tarefa usandoIAMFunções de tarefa. Para obter mais informações, consulte Identity and Access Management para o Amazon Elastic Container Service.

Amazon EC2 Auto Scaling

Auto ScalingO é um serviço que permite aumentar ou reduzir a escala das tarefas com base em políticas definidas pelo usuário, verificações de status de integridade e cronogramas. Você pode usar o Auto Scaling com uma tarefa Fargate em um serviço para escalar em resposta a uma série de métricas ou com uma tarefa EC2 para escalar as instâncias de contêiner dentro do seu cluster. Para obter mais informações, consulte Auto Scaling de serviço.

Elastic Load Balancing

OElastic Load BalancingO distribui automaticamente o tráfego de entrada do aplicativo entre as tarefas em seu seu seu dispositivo doAmazon ECSServiço do. Ele permite que você atinja um nível maior de tolerância a falhas em seus aplicativos, fornecendo a capacidade necessária de balanceamento de carga necessária para distribuir o tráfego dos aplicativos. Você pode usar o Elastic Load Balancing para criar um endpoint que balanceie o tráfego entre os serviços em um cluster. Para obter mais informações, consulte Balancing de serviço.

Amazon Elastic Container Registry

O Amazon ECR é um serviço gerenciado de registro seguro, dimensionável e confiável do Docker da AWS. O Amazon ECR oferece suporte a repositórios do Docker privados com permissões baseadas em recursos usando o IAM, de maneira que usuários específicos ou tarefas possam acessar repositórios e imagens. Os desenvolvedores podem usar a CLI do Docker para enviar, extrair e gerenciar imagens. Para mais informações, consulte o Guia do usuário do Amazon Elastic Container Registry.

AWS CloudFormation

AWS CloudFormationO oferece aos desenvolvedores e administradores de sistemas uma maneira fácil de criar e gerenciar uma coleção de relacionados aoAWSrecursos da AWS. Mais especificamente, ele torna o provisionamento e a atualização de recursos mais ordenados e previsíveis. Você pode definir clusters, definições de tarefa e serviços como entidades em um script do AWS CloudFormation. Para obter mais informações, consulteAWS CloudFormationReferência do modelo.

Pricing

Amazon ECSO preço depende se você estiver usando oAWS FargateouAmazon EC2para hospedar suas cargas de trabalho em contêineres. Ao usar oAmazon ECSnoAWS Outposts, o preço segue o mesmo modelo de quando você usaAmazon EC2. Para obter mais informações, consulte Definição de preço do Amazon ECS.

Amazon ECSeFargateTambém oferecem uma ofertaSavings Plansque proporcionam poupanças significativas com base na suaAWSUso de. Para obter mais informações, consulte o Guia do usuário do Savings Plans.

Para visualizar sua fatura, acesse a página daPainel de Billing and Cost ManagementnoAWS Billing and Cost Managementconsole. Sua fatura contém links para relatórios de uso que fornecem detalhes adicionais sobre sua conta. 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.

Para obter uma visão geral do Trusted Advisor, um serviço que ajuda você a aperfeiçoar os custos, a segurança e o desempenho do ambiente da AWS, consulte AWS Trusted Advisor.