Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • workshop-ages-winter-2021
  • wiki
  • Wiki
  • Dia 2: Amazon Web Services (AWS)

Last edited by Henrique Reis Kops Jul 22, 2021
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Dia 2: Amazon Web Services (AWS)

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:

  1. Acessar o painel do serviço VPC no console da AWS
  2. No menu lateral, acessar Your VPCs
  3. Clicar em Create VPC
  4. Inserir um nome (ex.: swarm-vpc) e inserir um bloco CIDR (ex.: 172.30.0.0/24)
  5. Clicar em Create VPC

Após vamos criar uma subrede dentro da VPC para conectar nossas VMs:

  1. Acessar o painel do serviço VPC no console da AWS
  2. No menu lateral, acessar Subnets
  3. Clicar em Create Subnet
  4. Selecione a VPC criada (ex.: swarm-vpc)
  5. Inserir um nome (ex.: swarm-subnet) e colocar o mesmo bloco CIDR (ex.: 172.30.0.0/24)
  6. Clicar em Create VPC

Ainda é necessário que a nossa VPC tenha acesso à internet, portanto criaremos um Internet Gateway:

  1. Acessar o painel do serviço VPC no console da AWS
  2. No menu lateral, acessar Internet Gateways
  3. Clicar em Create Internet Gateway
  4. No menu de criação, clicar em Create Internet Gateway
  5. Voltar para o menu de Internet Gateways
  6. Com o botão direito do mouse, clicar no novo Internet Gateway (detached) e escolher attach to VPC
  7. 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 (rota padrão) para o Internet Gateway criado:

  1. Acessar o painel do serviço VPC no console da AWS
  2. No menu lateral, acessar Route Tables
  3. Selecionar a Route table que está associada à VPC criada (ex.: swarm-vpc)
  4. Na seção Routes, no fim da página, clicar em Edit Route
  5. Clicar em add route e inserir 0.0.0.0/0 para destination e seu Internet Gateway para target
  6. 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>

Parte 4 - Criação da imagem da aplicação

Parte 5 - Publicação da imagem no Amazon ECR

Parte 6 - Aplicação da imagem no Docker Swarm

Clone repository
  • Dia 1: Frontend, Backend e Git
  • Dia 2: Amazon Web Services (AWS)
  • Dia 3: Containers Docker e CI CD
  • Home