Introdução a AWS - Regiões, Zonas, Wavelength, IAM, EC2, VPC e Security Group

A AWS é uma plataforma de serviços de *computação em nuvem criada pela Amazon, ela foi criada em 2006, surgiu com a ideia de utilizar a sua infra interna como serviço para seus clientes, hoje possuí mais de 200 serviços disponíveis para uso.

*Computação em nuvem é o uso e fornecimento de recursos computacionais como armazenamento, processamento, serviços para execução de aplicações e até soluções completas de software de forma remota pela internet.

Regiões, Zona de disponibilidade, Zona Local e Wavelength

A AWS possuí sua infra espalhada pelo mundo para manter a disponibilidade, eles definem esses lugares como:

  • Região: que é uma área em algum lugar do mundo onde existe toda uma infraestrutura da AWS.
  • Zona de Disponibilidade: É o Datacenter, a Infraestrutura, e sempre possuí mais de uma Zona de Disponibilidade em cada Região, onde a distância mínima é de pelo menos 100 kilometros e todas elas se conectam entre si.
  • Zona Local: São pequenos locais de Infraestrutura da AWS, onde se diminui a distância das Zonas de Disponibilidades, com isso a latência diminui. Não são todas Regiões que possuem Zona Local e não são todos os serviços disponíveis.
  • Wavelength: É utilizado em soluções para dados móveis, então existe uma Infraestrutura da AWS dentro da operadora, assim a latência é menor. E também não estão disponíveis em todas Regiões.

Veja abaixo uma Região que possuí todos os recursos falado acima, caso queira explorar mais acesse a infra da aws:

Identity and Access Management (IAM)

É um serviço web que ajuda você a controlar com segurança o acesso aos recursos da AWS. Com o IAM, você pode gerenciar permissões que controlam quais recursos da AWS os usuários podem acessar. Você usa o IAM para controlar quem é autenticado (conectado) e autorizado (tem permissões) para usar recursos.

Os componentes presentes no IAM são:

  • Users (usuários);
  • Groups (grupos de acesso);
  • Roles (que são utilizados para liberar acesso a um recurso);
    • São permissões vinculadas a serviços;
  • Policy (acesso que deve ser dado a um user ou roles).
    • Objeto que define os acessos da AWS;
    • Uma policy pode ser vinculada a um User, Group ou Role;
    • A construção de uma policy é utilizado JSON;
    • Você pode utilizar policies já existentes ou criar as suas;
    • Para definir um recurso, se usa o ARN (Amazon Resource Names), todo recurso na AWS gera um ARN;
      • Exemplos:
        • arn:partition:service:region:account-id:resource-id;
        • arn:partition:service:region:account-id:resource-type/resource-id;
        • arn:partition:service:region:account-id:resource-type:resource-id;
      • Partition: Representa em qual grupo de regiões a conta pertence. Hoje existem as seguintes regiões:
        • aws: Regiões da AWS;
        • aws-cn: Regiões da China;
        • aws-us-gov: Regiões Gov da AWS;
      • Service: Nome do serviço que identifica o produto da AWS;
      • Region: Código da região;
      • Account-ID: O ID da sua conta na AWS;
      • Resource-Type: O tipo de recurso;
      • Resource-ID: Esse é o nome do recurso. Alguns recursos incluem o recurso pai no formato, exemplo:
        • recurso pai: sub-resource-type/parent-resource/sub-resource;
        • versão: resource-type:resource-name:qualifier;
      • Exemplos:
        • arn:aws:iam::123123123:user/jhondoe;
        • arn:aws:ec2:us-east-1:123123123:vpc/vpc-0e789798EXAMPLE;
        • arn:aws:iam::123123123:user/*;
        • arn:aws:iam::123123123:group/*;

EC2 (Elastic Compute Cloud)

É o serviço que oferece os servidores virtuais da AWS, em que é possível criar máquinas e escalá-las na Cloud. Permite uma implementação mais rápida dos sistemas ou aplicativos desejados.

  • Foi um dos primeiros serviços criado pela AWS;
  • Permite a criação de máquinas Windows, Linux e Mac;
  • Suporte a arquitetura 64 bits x86 ou 64 bits Arm;
  • A cobrança de um EC2 é feita por segundo. Mas você deve ter um consumo mínimo de 60 segundos;
  • Pode criar máquinas com acesso público ou não;

Tipos de EC2

  • Uso Geral: São instâncias com mais equilíbrio entre CPU, memória e rede. São os tipos mais usados e servem para um uso mais abrangente;
  • Otimizadas para computação: São instâncias que tem como foco o uso de CPU. São usados em tarefas de alto processamento;
  • Otimizadas para memória: São instâncias que tem como foco o uso de memória RAM. São usados em tarefas que possuem maior consumo de memória RAM;
  • Computação acelerada: São usadas para cenários de processamento gráfico ou cálculos de números flutuantes. Tem maior foco no uso de GPU;
  • Otimizadas para armazenamento: São usadas para cargas que exigem alto acesso a leitura e gravação;
  • Otimizadas para alta performance: São usadas para computação de alta performance, como simulações complexas e cargas com aprendizado profundo;

Conheça mais detalhes clicando aqui.

VPC (Virtual Private Cloud)

Com a Amazon Virtual Private Cloud, é possível iniciar recursos da AWS em uma rede virtual logicamente isolada que você mesmo define. Essa rede virtual se assemelha a uma rede tradicional que você operaria no seu data center, com os benefícios de usar a infraestrutura escalável da AWS.

  • Toda vez que criar uma VPC, vai ser definido uma região;
  • As VPCs não se comunicam entre si;
  • Pode se criar subnets para VPC;
  • Toda subnet é vinculada a uma zona de disponibilidade;
  • Siderblock (Define quais números de subredes e endereços de dispositivos):
    • 10.35.65.87/16 | 10.35.0.0/16 = 00000000.00000000.00000000.00000000
    • /16 = informa que os 16 primeiros bits vão representar endereçamento de rede;
      • 10.35 = 00000000.00000000 = endereçamento de rede;
      • 65.87 = 00000000.00000000 = dispositivos;
  • Subnet publica: tem acesso a internet;
  • Subnet privada: não tem acesso a internet;

Para ativar a internet:

  • Na VPC, precisa criar um Internet Gateway e fazer o Attach para liberar o acesso a internet;
  • Na VPC, precisa criar um Route Table, e vincular a VPC, após criada é necessário fazer as associações as subnets, após associar é necessário criar as regras de rotas:
    • É necessário adicionar as rotas com Destination e Target, exemplo: Destination: 0.0.0.0/0 - Target: Internet Gateway criado;
  • *Bastion Host: é necessário copiar a chave para EC2 privada para ter acesso a partir da pública;
  • Nat Gateway: Serve para dar acesso a internet a EC2 privada:
    • Se cria uma Nat Gateway na EC2 pública e vincular a EC2 privada;

*Um bastion host, às vezes chamado de jump box, é um servidor que fornece um único ponto de acesso de uma rede externa aos recursos localizados em uma rede privada. Um servidor exposto a uma rede pública externa, como a Internet, representa um potencial risco de segurança para acesso não autorizado. É importante proteger e controlar o acesso a esses servidores.

Security Group

É um firewall que controla o tráfego de entrada e saída de recursos (como por exemplo, o E2C, RDS, entre outros).

Suas características são:

  • É sempre vinculado a uma instância;
  • Regras de Inbound (Entrada);
  • Regras de Outbound (Saída);
  • Somente regras de liberação;
  • Por padrão, o tráfego de saída liberado;
  • São stateful (ou seja, quando liberamos o tráfego de entrada, o da saída será liberado junto. E vice-versa).

Em resumo, com os conceitos acima é possível iniciar uma estrutura de servidores para suas aplicações, claro que esse conteúdo é algo introdutório, é possível expandir muito mais os conhecimentos e adicionar muitos outros serviços.