1. Por que Cloud Foundations?
Organiza o mapa mental da nuvem: permissões, onde os recursos vivem, como se comunicam e como se paga. Quem já tem homelab com Docker/k3s chega com vantagem — conceitos análogos, com escala e shared responsibility.
2. IAM
No homelab: usuário sudo + chaves SSH. Na AWS: IAM formal.
- Users e Groups
- Roles (preferíveis para serviços)
- Policies (Effect, Action, Resource)
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::meu-bucket",
"arn:aws:s3:::meu-bucket/*"
]
}]
}
3. VPC
- Subnets públicas/privadas
- Internet Gateway e NAT Gateway
- Security Groups (stateful por instância)
- Network ACLs (stateless por subnet)
- Route tables
No homelab: bridges e firewall. Na AWS: a mesma lógica com mais formalismo multi-tenant.
4. EC2
- Tipos de instância (famílias e tamanhos)
- AMIs oficiais e customizadas
- EBS + snapshots
- User data / cloud-init
- Elastic IP e Auto Scaling
5. S3
Object storage, não filesystem. Buckets, chaves, classes (Standard, IA, Glacier).
- Versionamento e lifecycle
- Bucket policies + IAM
- Criptografia (SSE-S3, SSE-KMS)
- Acesso público bloqueado por padrão
6. Homelab como laboratório
Docker Compose, Helm e Ansible no homelab (Proxmox e k3s) transferem para CloudFormation, Terraform e CDK. Hardening e Prometheus ajudam a entender CloudWatch e o modelo de responsabilidade compartilhada.
Homelab continua sendo o melhor lab: testa sem medo da fatura e sobe para a AWS só o que precisa de elasticidade ou serviços gerenciados.
7. Próximos passos
- Conta Free Tier: VPC + EC2 + S3 na prática
- MFA + billing alerts
- Well-Architected Framework
- Solutions Architect Associate quando os fundamentos estiverem sólidos
8. A política IAM explicada
| Campo | O que significa |
|---|---|
"Version": "2012-10-17" | Versão da linguagem de políticas da AWS. É um valor fixo. |
"Effect": "Allow" | Permite as ações. O outro valor possível é Deny, que sempre prevalece. |
"Action": ["s3:GetObject", "s3:ListBucket"] | Ações permitidas: ler objetos e listar o conteúdo do bucket. |
"arn:aws:s3:::meu-bucket" | O bucket em si. É o recurso necessário para ListBucket. |
"arn:aws:s3:::meu-bucket/*" | Os objetos dentro do bucket. É o recurso necessário para GetObject. |
| No homelab | Na AWS |
|---|---|
Usuário com sudo e chaves SSH | Usuários e roles do IAM, com MFA |
| Bridges e firewall do host | VPC, sub-redes e security groups |
| VMs no hypervisor | Instâncias EC2 |
| NAS ou armazenamento de objetos próprio | S3 |
| Docker Compose, Helm e Ansible | CloudFormation, Terraform e CDK |
| Classe do S3 | Uso |
|---|---|
| Standard | dados acessados com frequência |
| Standard-IA | acesso pouco frequente, com custo por GB menor e cobrança na recuperação |
| Glacier | arquivamento de longo prazo, com recuperação mais lenta |
9. Exemplo: o que a política permite
aws sts get-caller-identity
aws s3 ls s3://meu-bucket
aws s3 cp relatorio.pdf s3://meu-bucket/| Comando | Resultado com a política do artigo |
|---|---|
aws sts get-caller-identity | mostra quem você é (conta e usuário), útil para confirmar as credenciais |
aws s3 ls s3://meu-bucket | funciona, pois o ListBucket está permitido |
aws s3 cp relatorio.pdf s3://meu-bucket/ | falha com AccessDenied, porque a política não inclui s3:PutObject |
Esse é o princípio do menor privilégio na prática: só o que está escrito é permitido. Para enviar arquivos, adicione s3:PutObject à lista de ações.
10. Onde a conta costuma surpreender
| Recurso | Armadilha | Como evitar |
|---|---|---|
| Instância EC2 ligada 24/7 | Cobra pelo tempo ligada, mesmo sem uso. | Pare ou termine o que não usa. Use tags para saber de quem é cada recurso. |
| IP público ocioso | Endereços IPv4 públicos geram cobrança. | Libere os IPs que não estão em uso. |
| Volumes EBS sem instância | Continuam cobrando depois de a instância ser apagada. | Remova volumes e snapshots órfãos. |
| NAT Gateway | Cobra por hora e por volume de dados. | Avalie se ele é necessário no laboratório. |
Configure um alerta de orçamento (Billing Alert) no primeiro dia, como o artigo recomenda.