Roteiro de trabalho
Ao final deste roteiro, o aluno terá construído uma infraestrutura na AWS capaz de suportar aplicações conteinerizadas publicadas no Amazon ECR utilizando o Docker Swarm para montar um pequeno cluster constituído de 3 Amazon EC2.
Pré requisitos:
- O aluno deve possuir uma conta na AWS
Passo a passo
⚠ Repare em qual zona de disponibilidade você está criando sua infraestrutura!
Parte 1 - Criação da rede
Primeiro vamos criar uma VPC (Virtual Private Cloud), ou seja, uma porção de rede exclusiva para o nosso App:
- Acessar o painel do serviço VPC no console da AWS
- No menu lateral, acessar Your VPCs
- Clicar em Create VPC
- Inserir um nome (ex.:
swarm-vpc
) e inserir um bloco CIDR (ex.:172.30.0.0/24
) - Clicar em Create VPC
Após vamos criar uma subrede dentro da VPC para conectar nossas VMs:
- Acessar o painel do serviço VPC no console da AWS
- No menu lateral, acessar Subnets
- Clicar em Create Subnet
- Selecione a VPC criada (ex.:
swarm-vpc
) - Inserir um nome (ex.: swarm-subnet) e colocar o mesmo bloco CIDR (ex.:
172.30.0.0/24
) - Clicar em Create VPC
Ainda é necessário que a nossa VPC tenha acesso à internet, portanto criaremos um Internet Gateway:
- Acessar o painel do serviço VPC no console da AWS
- No menu lateral, acessar Internet Gateways
- Clicar em Create Internet Gateway
- No menu de criação, clicar em Create Internet Gateway
- Voltar para o menu de Internet Gateways
- Com o botão direito do mouse, clicar no novo Internet Gateway (detached) e escolher attach to VPC
- Selecionar a VPC criada (ex.:
swarm-vpc
) e clicar em Attach Internet Gateway
Por fim, vamos criar modificar a Routing Table para endereçar o tráfego em 0.0.0.0/0
para o Internet Gateway criado:
- Acessar o painel do serviço VPC no console da AWS
- No menu lateral, acessar Route Tables
- Selecionar a Route table que está associada à VPC criada (ex.:
swarm-vpc
) - Na seção Routes, no fim da página, clicar em Edit Route
- Clicar em add route e inserir
0.0.0.0/0
para destination e seu Internet Gateway para target - Clicar em Save Changes
Parte 2 - Criação de Amazon EC2
Parte 3 - Configuração do Docker Swarm
$ ssh -i ages-winter-2021.pem ec2-user@<ipv4-publico-ec2>
$ sudo yum update -y
$ sudo amazon-linux-extras install docker -y
$ sudo service docker start
$ sudo usermod -a -G docker ec2-user
$ logout
$ ssh -i ages-winter-2021.pem ec2-user@<ipv4-publico-ec2>
$ docker swarm init
$ docker swarm join --token <swarm-token> <swarm-master>