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)

Dia 2: Amazon Web Services (AWS) · Changes

Page history
Update Dia 2: Amazon Web Services (AWS) authored Jul 21, 2021 by Henrique Reis Kops's avatar Henrique Reis Kops
Hide whitespace changes
Inline Side-by-side
Dia-2:-Amazon-Web-Services-(AWS).md
View page @ 9f68b38a
...@@ -63,13 +63,13 @@ Inicialmente é necessário definir quais portas dos nodos estarão expostas na ...@@ -63,13 +63,13 @@ Inicialmente é necessário definir quais portas dos nodos estarão expostas na
3. Clicar em **Create Security Group** 3. Clicar em **Create Security Group**
4. Inserir um nome (ex.: `swarm-sg`), descrição e selecionar a VPC criada (ex.: `swarm-vpc`) 4. Inserir um nome (ex.: `swarm-sg`), descrição e selecionar a VPC criada (ex.: `swarm-vpc`)
5. Na seção **Inbound Rules** acrescentar as seguintes regras: 5. Na seção **Inbound Rules** acrescentar as seguintes regras:
- **type** `HTTP` e **origin** `0.0.0.0/0` - **type** `HTTP` e **origin** `0.0.0.0/0`
- **type** `SSH` e **origin** `0.0.0.0/0` - **type** `SSH` e **origin** `0.0.0.0/0`
- **type** `All TCP` e **origin** o próprio Security Group (ex.: `swarm-sg`) - **type** `All TCP` e **origin** o próprio Security Group (ex.: `swarm-sg`)
- **type** `All UDP` e **origin** o próprio Security Group (ex.: `swarm-sg`) - **type** `All UDP` e **origin** o próprio Security Group (ex.: `swarm-sg`)
- **type** `All TCP` e **origin** o próprio Security Group (ex.: `swarm-sg`) - **type** `All TCP` e **origin** o próprio Security Group (ex.: `swarm-sg`)
- **type** `Custom TCP` e **port interval** `8080` e **origin** `0.0.0.0/0` - **type** `Custom TCP` e **port interval** `8080` e **origin** `0.0.0.0/0`
- **type** `Custom TCP` e **port interval** `9090` e **origin** `0.0.0.0/0` - **type** `Custom TCP` e **port interval** `9090` e **origin** `0.0.0.0/0`
6. Clicar em **Create Security Group** 6. Clicar em **Create Security Group**
Para facilitar a criação do cluster, podemos criar um template de execução para que os nodos iniciem com o Docker instalado: Para facilitar a criação do cluster, podemos criar um template de execução para que os nodos iniciem com o Docker instalado:
...@@ -81,20 +81,19 @@ Para facilitar a criação do cluster, podemos criar um template de execução p ...@@ -81,20 +81,19 @@ Para facilitar a criação do cluster, podemos criar um template de execução p
5. Na seção **Amazon Machine Image** selecionar `Amazon Linux 2 AMI` 5. Na seção **Amazon Machine Image** selecionar `Amazon Linux 2 AMI`
6. Na seção **Instance Type** selecionar o tipo `t2.micro` (*free tier*) 6. Na seção **Instance Type** selecionar o tipo `t2.micro` (*free tier*)
7. Na seção **Key pair** clicar em **Create New Key Pair** 7. Na seção **Key pair** clicar em **Create New Key Pair**
- Inserir um nome (ex.: `workshop-app`) e clicar em **Create New Key Pair** - Inserir um nome (ex.: `workshop-app`) e clicar em **Create New Key Pair**
> :warning: baixe o arquivo pois a AWS não realiza backup deste certificado!) - :warning: Baixe o arquivo pois a AWS não realiza backup deste certificado!
8. Na seção **Network Configuration** selecionar o grupo de segurança criado (ex.: `swarm-sg`) 8. Na seção **Network Configuration** selecionar o grupo de segurança criado (ex.: `swarm-sg`)
9. Na seção **Advanced Details** acessar o campo de texto **User Data** e inserir o seguinte *shell scrpit*: 9. Na seção **Advanced Details** acessar o campo de texto **User Data** e inserir o seguinte *shell scrpit*:
```sh
#!/bin/bash
```sh # install docker
#!/bin/bash yum update -y
amazon-linux-extras install docker -y
# install docker service docker start
yum update -y sudo usermod -a -G docker ec2-user
amazon-linux-extras install docker -y ```
service docker start
sudo usermod -a -G docker ec2-user
```
Por fim, vamos executar os nodos a partir do modelo criado: Por fim, vamos executar os nodos a partir do modelo criado:
...@@ -113,22 +112,22 @@ Para configurar o cluster Swarm é necessário que seja feito o SSH em cada uma ...@@ -113,22 +112,22 @@ Para configurar o cluster Swarm é necessário que seja feito o SSH em cada uma
2. No menu lateral, acessar **Instances** 2. No menu lateral, acessar **Instances**
3. Verificar as instâncias (nodos) criadas e buscar **Public IPV4 Address** 3. Verificar as instâncias (nodos) criadas e buscar **Public IPV4 Address**
4. Para a primeira instância executar 4. Para a primeira instância executar
```sh ```sh
# acessar via SSH # acessar via SSH
$ ssh -i <certificado> ec2-user@<ipv4-publico-ec2> $ ssh -i <certificado> ec2-user@<ipv4-publico-ec2>
# iniciar a nodo como mestre Swarm # iniciar a nodo como mestre Swarm
$ docker swarm init $ docker swarm init
``` ```
5. Nomear esta máquina de `swarm master` no menu **Instances** 5. Nomear esta máquina de `swarm-master` no menu **Instances**
6. Para as demais instâncias (caso existam), executar: 6. Para as demais instâncias (caso existam), executar:
```sh ```sh
# acessar nodo via SSH # acessar nodo via SSH
$ ssh -i <certificado> ec2-user@<ipv4-publico-ec2> $ ssh -i <certificado> ec2-user@<ipv4-publico-ec2>
# iniciar nodo como escravo Swarm # iniciar nodo como escravo Swarm
$ docker swarm join --token <token-swarm> <ip-interno-swarm-master> $ docker swarm join --token <token-swarm> <ip-interno-swarm-master>
``` ```
7. Nomear as demais máquinas de `swarm-node-<numero>` no menu **Instances** 7. Nomear as demais máquinas de `swarm-node-<numero>` no menu **Instances**
### Parte 4 - Execução das aplicações ### Parte 4 - Execução das aplicações
......
Clone repository
  • Dia 1: Frontend, Backend e Git
  • Dia 2: Amazon Web Services (AWS)
  • Dia 3: Containers Docker e CI CD
  • Home