Skip to main content

EC2

  • EC2

Os nomes dos tipos de instância EC2 da AWS seguem uma convenção específica, onde cada parte do nome indica características distintas da instância. Aqui está um resumo das siglas que aparecem após o nome:

1. Família da Instância (Primeira Letra):

  • t: Uso geral de baixo custo (ex: t2.micro)
  • m: Uso geral equilibrado (ex: m5.large)
  • c: Otimizada para computação (ex: c5.xlarge)
  • r: Otimizada para memória (ex: r5.2xlarge)
  • x: Memória extra alta (ex: x1e.32xlarge)
  • i: Otimizada para I/O e armazenamento (ex: i3.large)
  • g: Otimizada para gráficos ou baseada em processadores Graviton (ex: g4dn.xlarge)
  • p: Otimizada para processamento paralelo/GPU (ex: p3.8xlarge)
  • h: Otimizada para alto desempenho de armazenamento (ex: h1.16xlarge)
  • z: Alta frequência de CPU (ex: z1d.large)
  • d: Inclui armazenamento de instância (discos locais)

2. Geração da Instância (Número):

  • O número após a letra indica a geração da instância.
    • 2, 3, 4, 5, 6: Indicam versões mais recentes com hardware atualizado (ex: m5 é a quinta geração da família m).

3. Sufixos Adicionais (Letras Extras):

  • a: Usa processadores AMD (ex: m5a.large)
  • n: Rede otimizada com maior largura de banda (ex: c5n.large)
  • d: Inclui armazenamento de instância NVMe (ex: m5d.large)
  • ad: Combinação de AMD e armazenamento de instância (ex: r5ad.large)
  • g: Baseada em processadores Graviton da AWS (ARM) (ex: c6g.medium)
  • p: Alto desempenho de GPU (ex: p3dn.24xlarge)
  • z: Alta frequência de CPU (ex: z1d.large)
  • metal: Instâncias bare metal com acesso direto ao hardware (ex: m5.metal)
  • e: Recursos estendidos como mais memória (ex: r5e.large)

4. Tamanho da Instância (Sufixo Final):

  • Indica a capacidade de recursos (CPU, memória, rede).
    • nano, micro, small, medium, large, xlarge, 2xlarge, 4xlarge, 8xlarge, 12xlarge, 16xlarge, 24xlarge, 32xlarge, etc.

Exemplo Prático:

  • m5dn.large:
    • m: Família de uso geral equilibrado.
    • 5: Quinta geração.
    • d: Inclui armazenamento de instância NVMe.
    • n: Rede otimizada com maior largura de banda.
    • large: Tamanho da instância indicando recursos médios.

Compreender essas siglas ajuda a escolher a instância EC2 que melhor atende às necessidades específicas de computação, memória, armazenamento e rede para sua aplicação na AWS.

Metadata

  • Cada máquina tem um ip interno reservado para ser mostrado algumas informações. Funciona apenas dentro do ec2. Rode o seguinte comando:
curl http://169.254.169.254/latest/meta-data/

User data

  • Podemos criar um EC2 e logo no início executar esse script
info

httpd é um servidor web chamado Apache HTTP Server que é semelhante ao nginx.

#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

Elastic IP

  • O endereço IP elástico é um endereço público endereço IPv4 estático que é acessível a partir da Internet. Basicamente, os endereços IP elásticos são usados pela AWS para gerenciar seus serviços dinâmicos de computação em nuvem. Dentro da infraestrutura da AWS, os clientes têm nuvens privadas virtuais (VPC), dentro das VPCs, os usuários têm instâncias. Então, quando você inicia uma instância do EC2, você recebe um endereço IP público pelo qual essa instância é acessível a partir da Internet. Depois de parar essa instância e reiniciar a instância, você obtém um novo IP público para a mesma instância. Portanto, é basicamente um problema conectar sua instância da Internet por não ter um IP estático. Para superar esse problema, anexamos um IP elástico a uma Instância que não muda depois que você interrompe/inicia a instância. Em suma, o Elastic IP é um IP permanente para sua instância.

Load Balancer | EC2

  • Configuração está em: EC2 → Load Balancers
warning

Quando criado para redirecionar para os ec2, é necessário que os ec2 tenha suas portas bloqueadas para o mundo externo e só permita vindo do load balancer

  • O Load Balancer permite nas rules e listeners adicionar regras como se x caminho vier eu redirecionar para outro local ou retornar um erro

Stick Sessions (Session Affinity) | Stickiness

  • Configuração está em: EC2 → Target Groups → <nome_grupo>

alt text

  • O cliente sempre é redirecionado para a mesma instância que foi respondido na primeira vez. É semelhante ao cookie e tem um tempo que essa sessão vai expirar e ele será redirecionado para outra máquina.

Cross-Zone Load Balacing

  • Configuração está em: EC2 → Load Balancers → <nome_load> → Edit load balancer attributes
info

With Cross-Zone Load Balacing

alt text

warning

Without Cross-Zone Load Balacing

alt text

SSL Certificates

  • Configuração está em: EC2 → Load Balancers → <nome_load> → Add listeners

alt text

Auto Scaling

  • Configuração está em: EC2 → Auto Scaling Groups