AWS Admin

Guia Completo de Introdução à AWS: Regiões, AZs, Console, CLI e SDK na Prática Já leu

Fundamentos: Regiões e Zonas de Disponibilidade A AWS (Amazon Web Services) é organizada geograficamente em Regiões, que são áreas geográficas completas do planeta. Cada Região contém múltiplas Zonas de Disponibilidade (AZs), que são data centers isolados fisicamente, mas conectados por redes de baixa latência. Essa arquitetura garante alta disponibilidade, recuperação de desastres e conformidade regulatória. Uma Região é um conjunto independente de infraestrutura. Se você implanta uma aplicação em , ela existe apenas naquela Região. Para replicar para outra Região como , é necessário configurar explicitamente. As AZs dentro de uma Região (ex: , , ) protegem contra falhas de data center individuais. Na prática, distribuir sua aplicação entre 2 ou 3 AZs é essencial para produção. Use o comando abaixo para listar Regiões disponíveis via CLI. Acessando a AWS: Console, CLI e SDK AWS Management Console O Console é a interface web oficial (https://aws.amazon.com/console). Você faz login com suas credenciais, seleciona uma Região no canto superior direito e acessa

Fundamentos: Regiões e Zonas de Disponibilidade

A AWS (Amazon Web Services) é organizada geograficamente em Regiões, que são áreas geográficas completas do planeta. Cada Região contém múltiplas Zonas de Disponibilidade (AZs), que são data centers isolados fisicamente, mas conectados por redes de baixa latência. Essa arquitetura garante alta disponibilidade, recuperação de desastres e conformidade regulatória.

Uma Região é um conjunto independente de infraestrutura. Se você implanta uma aplicação em us-east-1, ela existe apenas naquela Região. Para replicar para outra Região como eu-west-1, é necessário configurar explicitamente. As AZs dentro de uma Região (ex: us-east-1a, us-east-1b, us-east-1c) protegem contra falhas de data center individuais. Na prática, distribuir sua aplicação entre 2 ou 3 AZs é essencial para produção. Use o comando abaixo para listar Regiões disponíveis via CLI.

aws ec2 describe-regions --output table

Acessando a AWS: Console, CLI e SDK

AWS Management Console

O Console é a interface web oficial (https://aws.amazon.com/console). Você faz login com suas credenciais, seleciona uma Região no canto superior direito e acessa todos os serviços. É perfeito para aprender, prototipar e gerenciar recursos pequenos, mas não é viável para automação ou scripts.

AWS CLI (Command Line Interface)

A CLI permite gerenciar recursos AWS via terminal. Primeiro, instale-a e configure credenciais. Você precisa de uma Access Key ID e Secret Access Key obtidas no IAM (Identity and Access Management).

# Instalar CLI v2 (Linux/Mac)
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

# Configurar credenciais
aws configure
# Digite: Access Key ID
# Digite: Secret Access Key
# Digite: Região padrão (ex: us-east-1)
# Digite: Formato de saída (ex: json)

# Testar acesso
aws sts get-caller-identity

A CLI é excelente para scripts, automação, DevOps e gerenciamento em larga escala. Você pode usar perfis para múltiplas contas e regiões.

# Listar instâncias EC2 em us-west-2
aws ec2 describe-instances --region us-west-2 --output table

# Criar bucket S3
aws s3 mb s3://meu-bucket-unico-12345 --region us-east-1

AWS SDK (Software Development Kit)

Os SDKs permitem integrar AWS diretamente no código da sua aplicação. Existem SDKs para Python (boto3), JavaScript/Node.js, Java, Go, C#/.NET e mais. Python é a escolha mais popular para começar.

# Instalar boto3
pip install boto3

# Exemplo: Listar buckets S3
import boto3

s3_client = boto3.client('s3', region_name='us-east-1')
response = s3_client.list_buckets()

for bucket in response['Buckets']:
    print(f"Bucket: {bucket['Name']}")

# Exemplo: Criar instância EC2
ec2 = boto3.resource('ec2', region_name='us-east-1')

instances = ec2.create_instances(
    ImageId='ami-0c55b159cbfafe1f0',  # Amazon Linux 2
    MinCount=1,
    MaxCount=1,
    InstanceType='t2.micro'
)

print(f"Instância criada: {instances[0].id}")

Boas Práticas e Padrões na Prática

Ao trabalhar com AWS em produção, siga essas práticas essenciais. Primeiro, nunca armazene credenciais no código. Use variáveis de ambiente, arquivos de configuração protegidos ou IAM Roles (em EC2). Segundo, sempre use múltiplas AZs para redundância. Terceiro, implemente logging e monitoramento com CloudWatch desde o início.

# Melhor: usar variáveis de ambiente para credenciais
import os
import boto3

# boto3 automaticamente busca em ~/.aws/credentials ou variáveis de ambiente
# export AWS_ACCESS_KEY_ID='sua-chave'
# export AWS_SECRET_ACCESS_KEY='sua-senha'
# export AWS_DEFAULT_REGION='us-east-1'

ec2 = boto3.client('ec2')

# Exemplo: Criar auto-scaling group em múltiplas AZs
autoscaling = boto3.client('autoscaling')

autoscaling.create_auto_scaling_group(
    AutoScalingGroupName='meu-grupo',
    LaunchConfigurationName='minha-config',
    MinSize=2,
    MaxSize=6,
    DesiredCapacity=3,
    AvailabilityZones=['us-east-1a', 'us-east-1b', 'us-east-1c']
)

print("Auto Scaling Group criado com sucesso em 3 AZs")

Mantenha o principio do menor privilégio: crie usuários e roles IAM com apenas as permissões necessárias. Use tags para organizar recursos por projeto, ambiente (dev/prod) e custo. Implemente versionamento no S3 para buckets críticos e ative MFA Delete para proteção extra.

Conclusão

Você aprendeu que a AWS organiza-se em Regiões e AZs para garantir disponibilidade global, que o Console é intuitivo mas limitado, que a CLI é indispensável para automação, e que os SDKs integram AWS diretamente no código. Na prática, você combinará esses três métodos: Console para explorar e aprender, CLI para scripts e automação, SDK para aplicações completas. Comece criando uma conta gratuita AWS, explore o Console, instale a CLI, e pratique scripts simples com boto3. Distribuir aplicações em múltiplas AZs e usar credenciais seguras são o diferencial entre um hobby e uma arquitetura robusta.

Referências


Artigos relacionados