Please enable JavaScript.
Coggle requires JavaScript to display documents.
Elastic Beanstalk - Coggle Diagram
Elastic Beanstalk
Serviço gerenciado e gratuito que permite a configuração dos ambientes para deploy das aplicações de forma automatizada
fornece 3 arquiteturas para uso
Single instance
ideam para ambientes de desenvolvimento
LB + ASG
ideal para web app nos ambientes de prod e hom
ASG only
ideial para no-web apps
possui 3 componentes principais para uso
Application
.ebextensions/
funcionalidae que permite realizar todas as configurações disponíveis na UI através de arquivo de configuração
o arquivo ZIP contendo o código deve possuir o diretório na raíz
os arquivos de configuração devem terminar com a extensão
.config
são suportados dois tipos de sintaxe
2 more items...
pode-se sobrescrever alguns parâmetros padrão usando o marcador
option_settings
1 more item...
para aplicações Docker é preciso ter alguns arquivos especiais
single docker apps
2 more items...
multi docker apps
1 more item...
Application version
a cada deploy uma nova versão é gerada e o EB é capaz de gerenciar
até 1000 versões
de uma aplicação
Lifecycle policy
funcionalidade utilizada para remover versões antigas da aplicação
Time-based
baseadas no tempo
Space-based
quantidade de versões disponíveis para uso
possível NÃO remover o código fonte do S3 atribuindo as permissões adequadas a ROLE do BS
Environment
é possível cadastradar um ou mais
ambientes
para as aplicações
Web server environment
ideal para serviços de processamento web
Worker environment
ideal para aplicações de longa duração que consomem mensagens
Para cada um dos ambientes é possível escolher
deployment modes
que atendam a cada situação
All at once
a versão atual em execução é interrompida
a nova versão é iniciada nas vms
1 more item...
Rolling
é definido um parâmetro de
bucket
para controlar a quantidade de aplicações que serão interrompidas
após o término das aplicações, a versão nova é iniciada
1 more item...
Rolling with additional batches
mesmo funcionamento que a
Rolling
, mas antes de finalizar as aplicações com a versão antiga,
novas instâncias são criadas já com a versão nova
a quantidade de instâncias criadas é definida pelo parâmetro bucket
1 more item...
Immutable
a nova versão da aplicação é provisionada em um ASG temporátio
somente uma instância é provisionada. Caso passe no health check, as demais são provionadas automaticamente
1 more item...
Blue/Green
cria-se um novo ambiente somente com a nova versão da aplicação
o novo ambiente pode ser validado independentemente da versão antiga da aplicação
1 more item...
É possível utilizar rotas com peso do serviço Route 53 para redirecinar o tráfego para o novo ambiente
Plataforma
Docker
Single container
Não provisiona o serviço ECS
1 more item...
Multi container
EB provisiona toda a infraestrutura necessária para executar a aplicação
1 more item...
Linguagens de Programação
Custom
Cloning
funcionalidade que permite a criação de um ambiente a partir de outro já proviosionado
todos os recursos e configurações são preservados e é possível realizar modificações de configuração após o término
Environment presets
Single instance
ideal para desenvolvimento
1 instância EC2
1 EIP
2 more items...
Disponível somente em uma AZ
High availabilty with ELB
Ideal para ambientes produtivos
várias instâcias EC2
disponível em várias AZs
1 ASG
2 more items...
Custom
recomendado para aplicações que não suportadas pelo EB e não usam docker
é preciso definir uma IAM através do arquivo Platform.yaml
usar o Packer para construir a plataforma necessária
1. são realizados deploys de novas versões da aplicação para o ambiente
2. promove-se a versão para o próximo ambiente
3. em caso de falha é possível realizar rollback
Tópicos avançados
HTTPS
preciso incluir o certificado no ELB
pode-se utilizar o ACM ou CLI para gerar o certificado
incluir uma segra no SG para permitir a comunicação na porta 443
redirecionamentos de HTTP para HTTPS podem ser realizados
através das intâncias dos ambientes
através de um ALB com a regra de redirecionamento