2. Heitor Vital
● Áreas de Atuação
o Cloud Computing
o Segurança Informação
o Jogos
o Dispositivos Móveis
o …
● Acadêmico
o MBA FGV
o Mestrado UFPE
o Graduação UFPE
br.linkedin.com/in/heitorvital
twitter.com/heitorvital
hvital.blogspot.com.br
labs.siteblindado.com
7. Docker is a shipping container system for code
Docker enables any application and its dependencies to be packaged up as a lightweight, portable, self-sufficient container
8. Vantagens
● Developers
o Inside the box (code)
o Build once...run anywhere
● SysAdmins / DevOps
o Outside the box (infra)
o Configure once...run anything
10. Segurança
● Ambientes Isolados
o Filesystem: root filesystem separado
o Resource: cpu e memória isolados via cgroups
o Network: namespace próprio, virtual interface e IP próprio
● Isso é suficiente??
o 6 CVEs em 2014
o Relativamente baixo ainda :)
14. Key Components
● Containers Instances
o EC2 Instances
o Docker daemon
o ECS Agent (connect to clusters)
● Clusters
o Grupo de Containers Instances
o Pode ser de tipos diferentes
o Multi-AZ Support
● Tasks [Definition]
o Grupo de containers
relacionados
o Executado nos
Containers Instances
● Containers
o Docker container
o Executor de task
18. Create Container Instances
Usar template do CloudFormation de exemplo
https://s3.amazonaws.com/amazon-ecs-cloudformation/Amazon_ECS_Quickstart.template
19. List Container Instances
$
aws
ecs
list-‐container-‐instances
-‐-‐cluster
iMastersCluster
{
"containerInstanceArns":
[
"arn:aws:ecs:us-‐east-‐1:748809930145:container-‐instance/4b89a26c-‐
a9ea-‐4149-‐bb20-‐ccbb50828860"
]
}
CUIDADO: Esperar um tempo. Se a lista estiver vazia, esperar mais um pouco!
20. Register Task Definition
$
aws
ecs
register-‐task-‐definition
-‐-‐cli-‐input-‐json
file://task.json
{
"containerDefinitions":
[
{
"name":
“sleep",
"image":
“busybox”,
"cpu":
10,
"command":
["sleep","360"],
"memory":
10,"essential":
true
}
],
"family":
"sleep360"
}
NOTAS: Aqui não é output do comando. É o conteúdo do arquivo | 1.024 cpu units por core | Mínimo de 4MB RAM por container
22. Run Task
$
aws
ecs
run-‐task
-‐-‐cluster
iMastersCluster
-‐-‐task-‐definition
sleep360:1
-‐-‐count
1
{
//
Output
grande
com
detalhes
da
task
}
NOTAS: Aqui não é output do comando. É o conteúdo do arquivo | 1.024 cpu units por core | Mínimo de 4MB RAM por container