Introdução aos contêineres da AWS

Os contêineres são unidades padronizadas de desenvolvimento de software que permitem empacotar o código, as configurações e as dependências do seu aplicativo em um único objeto. Os contêineres são derivados dos princípios da virtualização no nível do SO. Permite executar o aplicativo e suas dependências em processos isolados por recursos, o que garante implantações rápidas, confiáveis ​​e consistentes em qualquer ambiente.

Tipos de recipientes

As ferramentas de gerenciamento de contêiner podem ser categorizadas em três tipos: registro, orquestração e computação. Os serviços de registro ajudam a armazenar e gerenciar com segurança suas imagens de contêiner. A orquestração gerencia quando e onde seus contêineres são executados. E os motores de computação alimentam seus contêineres. Todas as infra-estruturas subjacentes são atendidas pela AWS. Os contêineres tornam os desenvolvimentos e implantações fáceis e eficientes.

1. Registro

Amazon Elastic Container Registry (ECR)

É um registro de contêiner do Docker altamente escalável, disponível, altamente seguro e totalmente gerenciado. Ajuda os desenvolvedores a armazenar, gerenciar e implantar imagens de contêiner do Docker com eficiência. O Amazon ECR é integrado ao Amazon Elastic Container Service (ECS), que simplifica a implantação. O Amazon ECR é pago apenas pela quantidade de dados que você armazena em seus repositórios e pelos dados transferidos na Internet.

Exemplo de criação de imagem do Docker de um aplicativo Web simples e introduzido no Amazon ECR:

  1. Crie um arquivo, Dockerfile.

  1. Edite o Dockerfile.

  1. Crie uma imagem do Docker.

  1. Verifique a imagem do Docker, executando-a.

Resultado:

  1. Execute a imagem recém-criada.

  1. Aponte seu navegador para http://locallhost.com/ e a saída será:

  1. Pare o contêiner do Docker digitando Ctrl + c.
  2. Envie sua imagem para o Amazon ECR. Crie um repositório Amazon ECR para armazenar a imagem.

Resultado:

  1. Marque a imagem de exemplo com o valor Uri.

  1. Execute o comando de autenticação de login do Docker para seu registro.

  1. Execute o comando de login do Docker.
  2. Envie a imagem para o Amazon ECR com o repositório Uri

2. Orquestração

Amazon Elastic Container Service (ECS)

É um serviço de gerenciamento de contêiner totalmente gerenciado, altamente escalável e de alto desempenho. Ele suporta contêineres do Docker e permite que os usuários executem o aplicativo com eficiência em um cluster gerenciado de instâncias do EC2. As instalações e operações da orquestração de contêiner são gerenciadas pela AWS.

Exemplo de implantação de contêineres Docker no Amazon ECS:

  1. Amazon ECS - Configuração da primeira execução : permitirá criar clusters e iniciar aplicativos da web de amostra. Você entrará no console do Amazon ECS e iniciará o assistente. Você também pode usar o Amazon ECR para criar um repositório de imagens e enviar a imagem para ele.

Selecione a opção e selecione Continuar.

  1. Criação de definição de tarefa: é o modelo do seu aplicativo. Revise os valores padrão e selecione a próxima etapa.

  1. Configuração do serviço: o serviço inicia e mantém cópias da definição de tarefa no seu cluster.
  • Nome do serviço: A AWS fornece um aplicativo "Hello World" de exemplo na Web, exemplo de aplicativo da Web por padrão.
  • Número de tarefas desejado: o valor padrão é 1, para o nível gratuito da AWS.
  • Balanceamento de carga elástico: você pode usar um balanceador de carga com o seu serviço.
  • Nome do contêiner: Porta do host: selecione Aplicativo simples : 80 e padronize os campos restantes.

Selecione Função do IAM de serviço, se você já tiver no menu suspenso, ou o Amazon ECS criará uma função de serviço do ECS por padrão.

Revise suas entradas e selecione a próxima etapa.

  1. Configuração de Cluster
  • Nome do cluster: o nome padrão é cluster de amostra .
  • Tipo de instância do EC2: o tipo padrão é t2.micro para a camada livre da AWS.
  • Um número de instâncias: o valor padrão é 1, para o nível gratuito da AWS.
  • Par de chaves: Você pode continuar selecionando um - Não é possível o SSH .
  • Grupo de segurança: em qualquer lugar por padrão. Permite acesso de toda a internet.
  • Função IAM da instância do contêiner: selecione uma se você já tiver no menu suspenso ou

O Amazon ECS criará um por padrão.

Selecione Revisar e iniciar.

  1. Iniciar e exibir recursos

Você pode revisar sua definição de tarefa, configuração de tarefa e configurações de cluster antes de iniciar.

Selecione Iniciar instância e executar serviço.

Após a conclusão do lançamento, selecione Exibir serviço.

  1. Abra o aplicativo de exemplo: Você pode verificar e executar seu aplicativo de exemplo apontando o navegador para o nome DNS do balanceador de carga.

Abra a página de amostra do aplicativo da web e selecione o nome do balanceador de carga.

Copie o nome DNS do ELB e cole-o em um novo navegador e pressione Enter no teclado.

Você pode visualizar seu aplicativo de amostra.

Você também pode limpar seus recursos a qualquer momento para evitar cobranças desnecessárias.

Serviço Amazon Elastic Kubernetes (EKS)

Ele permite gerenciar, implantar e dimensionar facilmente aplicativos em contêineres usando o Kubernetes na AWS. Ele executa o serviço Kubernetes em várias zonas da AWS para eliminar um único ponto de erro. O Amazon EKS é uma integração certificada do Kubernetes. Você pode migrar facilmente os aplicativos em execução em qualquer ambiente Kubernetes padrão para o AWS EKS.

3. Computar

Amazon Elastic Compute Cloud (Amazon EC2)

É uma capacidade de computação segura e redimensionável na nuvem que executa contêineres em infraestruturas de máquinas virtuais com controle total sobre o dimensionamento e a configuração. Dá a você o controle completo de seus recursos de computação. Reduz o tempo necessário para obter e inicializar novas instâncias do servidor em apenas alguns minutos. O Amazon EC2 fornece aos desenvolvedores as ferramentas para criar aplicativos resistentes a falhas.

Exemplo: Instale um servidor da Web LAMP com a Amazon Linux AMI.

Este exemplo ajuda a instalar um servidor da web Apache com suporte a PHP e MySQL na sua instância do Amazon Linux (também chamada de servidor da web LAMP).

  1. Conecte-se à instância do Linux.
  2. Atualize pacotes de software, se houver.

  1. Instale o servidor da web Apache, MySQL e pacotes de software PHP usando o comando yum install.

  1. Inicie o servidor da web Apache.

  1. Configure o servidor da web Apache para iniciar em cada inicialização do sistema.

  1. Verifique se o httpd está ativado.

  1. Adicione uma nova regra de segurança de entrada com os seguintes valores:
  • Tipo: HTTP
  • Protocolo: TCP
  • Port Range: 80
  • Fonte: Personalizado
  1. Teste o servidor da web digitando o endereço DNS em um navegador da web.
  2. Defina as permissões de arquivo necessárias, se necessário.
  3. Teste seu servidor LAMP.
  4. Proteja o servidor de banco de dados.

AWS Fargate

É um mecanismo de computação sem servidor para Amazon ECS que permite executar contêineres sem gerenciar servidores. A Amazon cuida de todos os gerenciamentos subjacentes de servidores, permitindo que você se concentre no design e na construção de seus aplicativos

Tem dois modos:

Fargate Launch Type: Empacote seu aplicativo em contêineres, especifique os requisitos de CPU e memória, defina políticas de rede e IAM e inicie o aplicativo.

Tipo de inicialização do EC2: permite que você tenha um controle no nível do servidor sobre um recurso que executa seus aplicativos de contêiner.

Benefícios dos contêineres da AWS

  • Executa em qualquer lugar: os contêineres empacotam seu código com os arquivos de configuração e as dependências necessárias para executar em qualquer ambiente de forma consistente.
  • Melhorar a utilização de recursos: os contêineres fornecem isolamento do processo que permite definir a utilização da CPU e da memória para melhor uso dos recursos da computação.
  • Escala rápida: cada contêiner é executado como um processo separado que compartilha os recursos do sistema operacional subjacente. Isso permite que os contêineres iniciem e parem rapidamente.

Como funciona?

  1. Crie uma imagem de contêiner: empacote seu código e todas as suas dependências em um contêiner.
  2. Automatizar teste e implantação: unidade de código padronizada, o contêiner atua como um edifício consistente
  3. Executar em qualquer lugar: seu contêiner será executado em qualquer ambiente de forma consistente.
  4. Escalonamento rápido: os contêineres iniciam e terminam rapidamente, para que seu aplicativo possa aumentar e diminuir

Conclusão - AWS Containers

A Amazon fornece uma ampla gama de serviços para armazenamento, gerenciamento e execução de contêineres. Os contêineres facilitam os desenvolvimentos e implantações para os desenvolvedores, pois todas as infraestruturas subjacentes, incluindo o gerenciamento de servidores, são cuidadas pela Amazon, permitindo que os desenvolvedores se concentrem em seu desenvolvimento. Escolha o serviço AWS certo para sua carga de trabalho.

Artigos recomendados

Este é um guia para os contêineres da AWS. Aqui discutimos a introdução, tipos de contêineres, que inclui registro, orquestração e computação, além dos benefícios dos contêineres da AWS. Você também pode consultar os seguintes artigos para saber mais:

  1. Serviços da AWS
  2. AWS Kinesis
  3. Arquitetura da AWS
  4. O que é o AWS RedShift?
  5. Guia completo para concorrentes da AWS
  6. Aprenda a lista de recursos do Amazon Web Services

Categoria: