Comandos essenciais para gerenciamento de recursos em nuvem e infraestrutura como código
📖 Definição
Cloud Computing é a entrega de serviços de computação através da internet, incluindo servidores, storage, bancos de dados, networking e software. Oferece escalabilidade, flexibilidade e redução de custos operacionais comparado à infraestrutura tradicional.
💪 Por que aprender?
• On-demand resource provisioning
• Pay-as-you-go pricing
• Global infrastructure
• High availability and scalability
• Managed services
🚀 O que você pode fazer?
• Web and mobile applications
• Big data and analytics
• Machine learning and AI
• Disaster recovery
• Enterprise workloads
AWS, Azure, GCP
IaC, Automation
Containers, Serverless
Auto-scaling, Load Balancing
🟠 AWS Básico
Comandos essenciais da Amazon Web Services
📋AWS CLI - Configuração
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"# Download AWS CLI
unzip awscliv2.zip# Extrai arquivo
sudo ./aws/install# Instala AWS CLI
aws --version# Verifica instalação
aws configure# Configuração interativa
aws configure --profile dev# Perfil específico
aws configure list# Lista configurações
aws configure list-profiles# Lista perfis
export AWS_PROFILE=dev# Define perfil
📋EC2 - Instâncias Básicas
aws ec2 describe-instances# Lista todas instâncias
aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,State.Name,Tags[?Key=='Name'].Value]"# Lista com formato customizado
aws ec2 describe-instances --filters Name=instance-state-name,Values=running# Lista instâncias ativas
aws ec2 start-instances --instance-ids i-1234567890abcdef0# Inicia instância
aws ec2 stop-instances --instance-ids i-1234567890abcdef0# Para instância
aws ec2 reboot-instances --instance-ids i-1234567890abcdef0# Reinicia instância
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0# Termina instância
📋S3 - Storage Básico
aws s3 ls# Lista buckets
aws s3 mb s3://my-bucket-name# Cria bucket
aws s3 rb s3://my-bucket-name# Remove bucket vazio
aws s3 rb s3://my-bucket-name --force# Remove com conteúdo
aws s3 ls s3://my-bucket/# Lista arquivos
aws s3 cp file.txt s3://my-bucket/# Upload
aws s3 cp s3://my-bucket/file.txt .# Download
aws s3 mv s3://old/file.txt s3://new/file.txt# Move
aws s3 rm s3://my-bucket/file.txt# Remove arquivo
🔵 Azure Básico
Comandos essenciais do Microsoft Azure
📋Azure CLI - Configuração
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash# Instala Azure CLI
az --version# Verifica instalação
az upgrade# Atualiza CLI
az login# Login interativo
az account list# Lista contas
az account set --subscription "Subscription Name"# Define assinatura
az account show# Mostra conta atual
az configure# Configuração interativa
az configure --defaults group=myResourceGroup location=eastus# Define padrões
📋Virtual Machines
az group create --name myResourceGroup --location eastus# Cria resource group
az group list# Lista grupos
az group show --name myResourceGroup# Mostra grupo
az group delete --name myResourceGroup --yes# Remove grupo
az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --generate-ssh-keys# Cria VM
az vm list --resource-group myResourceGroup# Lista VMs
az vm start --resource-group myResourceGroup --name myVM# Inicia VM
az vm stop --resource-group myResourceGroup --name myVM# Para VM
📋Storage
az storage account create --name mystorageaccount --resource-group myResourceGroup --location eastus --sku Standard_LRS# Cria storage account
az storage account list --resource-group myResourceGroup# Lista storage accounts
az storage container create --name mycontainer --account-name mystorageaccount# Cria container
az storage container list --account-name mystorageaccount# Lista containers
az storage blob upload --file myfile.txt --container-name mycontainer --name blobname.txt --account-name mystorageaccount# Upload arquivo
az storage blob download --container-name mycontainer --name blobname.txt --file downloaded.txt --account-name mystorageaccount# Download arquivo
🔵 GCP Básico
Comandos essenciais do Google Cloud Platform
📋gcloud CLI - Configuração
curl https://sdk.cloud.google.com | bash# Instala gcloud CLI
exec -l $SHELL# Reinicia shell
gcloud --version# Verifica instalação
gcloud components update# Atualiza
gcloud auth login# Login no browser
gcloud auth application-default login# Credenciais app
gcloud config list# Mostra configuração
gcloud config set project my-project-id# Define projeto
gcloud config set compute/region us-central1# Define região
📋Compute Engine
gcloud compute instances create my-vm --machine-type=e2-medium --image-family=ubuntu-2004-lts --image-project=ubuntu-os-cloud# Cria VM
gcloud compute instances list# Lista VMs
gcloud compute instances describe my-vm# Descreve VM
gcloud compute instances start my-vm# Inicia VM
gcloud compute instances stop my-vm# Para VM
gcloud compute instances reset my-vm# Reinicia VM
gcloud compute instances delete my-vm# Remove VM
📋Cloud Storage
gsutil mb gs://my-bucket-name# Cria bucket
gsutil ls# Lista buckets
gsutil ls gs://my-bucket/# Lista conteúdo
gsutil rb gs://my-bucket-name# Remove bucket vazio
gsutil cp file.txt gs://my-bucket/# Upload
gsutil cp gs://my-bucket/file.txt .# Download
gsutil mv gs://old/file.txt gs://new/file.txt# Move
gsutil rm gs://my-bucket/file.txt# Remove
🟢 Contabo Básico
Comandos essenciais para gerenciamento de servidores Contabo
📋SSH e Acesso
ssh root@YOUR_SERVER_IP# Conexão básica
ssh -p 22 root@YOUR_SERVER_IP# Porta específica
ssh -i ~/.ssh/private_key root@YOUR_SERVER_IP# Com chave SSH
scp file.txt root@YOUR_SERVER_IP:/root/# Upload
scp root@YOUR_SERVER_IP:/root/file.txt .# Download
scp -r ./folder root@YOUR_SERVER_IP:/root/# Upload pasta
rsync -avz ./local/ root@YOUR_SERVER_IP:/remote/# Sync eficiente
📋Informações do Sistema
uname -a# Info completa do sistema
cat /etc/os-release# Distribuição Linux
free -h# Uso de memória
df -h# Espaço em disco
lscpu# Info da CPU
top# Processos em tempo real
htop# Top melhorado
🟠 AWS Intermediário
Recursos intermediários da Amazon Web Services
📋EC2 - Recursos Intermediários
aws ec2 run-instances --image-id ami-12345678 --instance-type t2.micro --key-name my-key# Cria instância
aws ec2 run-instances --image-id ami-12345678 --instance-type t2.micro --security-group-ids sg-903004f8 --subnet-id subnet-6e7f829e --user-data file://script.sh# Cria com configurações avançadas
aws ec2 monitor-instances --instance-ids i-1234567890abcdef0# Ativa monitoring
aws ec2 unmonitor-instances --instance-ids i-1234567890abcdef0# Desativa monitoring
📋S3 - Recursos Intermediários
aws s3 sync ./local-folder s3://my-bucket/# Sincroniza
aws s3 sync s3://my-bucket/ ./local-folder# Download sync
aws s3 sync ./local s3://bucket --delete# Remove extras
📋Lambda - Serverless
aws lambda list-functions# Lista funções
aws lambda get-function --function-name my-function# Obtém função
aws lambda create-function --function-name my-function --runtime nodejs18.x --role arn:aws:iam::123456789012:role/lambda-role --handler index.handler --zip-file fileb://function.zip# Cria função
aws lambda update-function-code --function-name my-function --zip-file fileb://function.zip# Atualiza código
aws lambda invoke --function-name my-function output.txt# Invoca função
aws lambda delete-function --function-name my-function# Remove função
🔵 Azure Intermediário
Recursos intermediários do Microsoft Azure
📋Azure Functions
az functionapp create --resource-group myResourceGroup --consumption-plan-location eastus --runtime node --runtime-version 18 --functions-version 4 --name myfunctionapp --storage-account mystorageaccount# Cria function app
az functionapp list --resource-group myResourceGroup# Lista functions
az functionapp show --name myfunctionapp --resource-group myResourceGroup# Mostra function
az functionapp deployment source config-zip --resource-group myResourceGroup --name myfunctionapp --src myfunction.zip# Deploy ZIP
az functionapp config appsettings set --name myfunctionapp --resource-group myResourceGroup --settings "MySetting=Value"# Configura app settings
📋Storage - Recursos Avançados
az storage account show-connection-string --name mystorageaccount --resource-group myResourceGroup# Mostra connection string
az storage account keys list --account-name mystorageaccount --resource-group myResourceGroup# Lista chaves
az storage blob list --container-name mycontainer --account-name mystorageaccount# Lista blobs
🔵 GCP Intermediário
Recursos intermediários do Google Cloud Platform
📋Cloud Functions
gcloud functions deploy my-function --runtime nodejs18 --trigger-http --allow-unauthenticated --entry-point helloWorld# Deploy função
gcloud functions list# Lista funções
gcloud functions describe my-function# Descreve função
gcloud functions delete my-function# Remove função
gcloud functions call my-function --data '{"name":"World"}'# Invoca função
📋Compute Engine - Recursos Avançados
gcloud compute ssh my-vm# Conecta via SSH
gcloud compute scp local-file my-vm:~/remote-file# Copia arquivo
gcloud compute scp my-vm:~/remote-file local-file# Download arquivo
gcloud compute firewall-rules create allow-http --allow tcp:80 --description "Allow HTTP traffic"# Cria regra firewall
gcloud compute firewall-rules list# Lista regras firewall
🟢 Contabo Intermediário
Recursos intermediários para gerenciamento Contabo
📋Gerenciamento via API
curl -X POST "https://api.contabo.com/v1/users/login" \# Login API
-H "Content-Type: application/json" \# Header JSON
-d '{"email":"your@email.com","password":"yourpassword"}'# Dados login
curl -X GET "https://api.contabo.com/v1/instances" \# Lista instâncias
-H "Authorization: Bearer YOUR_TOKEN"# Header autorização
curl -X POST "https://api.contabo.com/v1/instances/INSTANCE_ID/restart" \# Reinicia instância
📋Monitoramento
iotop# I/O de disco
nethogs# Uso de rede por processo
journalctl -f# Logs do sistema em tempo real
tail -f /var/log/syslog# Logs do sistema
tail -f /var/log/auth.log# Logs de autenticação
dmesg | tail# Mensagens do kernel
🟣 Multi-Cloud
Ferramentas e estratégias multi-cloud
📋Comparação de Serviços
AWS: EC2# Instâncias virtuais
Azure: Virtual Machines# VMs na Azure
GCP: Compute Engine# VMs no Google
AWS: S3# Object storage
Azure: Blob Storage# Armazenamento de blobs
GCP: Cloud Storage# Object storage
AWS: Lambda# Funções serverless
Azure: Functions# Funções serverless
GCP: Cloud Functions# Funções serverless
📋Ferramentas Multi-Cloud
terraform init# Inicia projeto
terraform plan# Preview mudanças
terraform apply# Aplica mudanças
terraform destroy# Destrói recursos
pulumi up# Deploy recursos
pulumi preview# Preview mudanças
pulumi destroy# Remove recursos
kubectl get nodes# Lista nós
kubectl get pods# Lista pods
kubectl apply -f deployment.yaml# Aplica config
🏗️ Terraform Multi-Cloud
Infraestrutura como código para múltiplos provedores
📋Terraform AWS
provider "aws" {
region = "us-east-1"
}# Provider AWS
resource "aws_instance" "web" {
ami = "ami-12345678"
instance_type = "t2.micro"
}# Instância EC2
resource "aws_s3_bucket" "storage" {
bucket = "my-unique-bucket-name"
}# Bucket S3
terraform fmt# Formata código
terraform validate# Valida sintaxe
📋Terraform Azure
provider "azurerm" {
features {}
}# Provider Azure
resource "azurerm_resource_group" "main" {
name = "my-resources"
location = "East US"
}# Resource Group
resource "azurerm_virtual_machine" "main" {
name = "my-vm"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
}# Virtual Machine
terraform {
backend "azurerm" {
resource_group_name = "storage-account-resource-group"
storage_account_name = "storageaccountname"
container_name = "containername"
key = "terraform.tfstate"
}
}# Backend remoto
⚓ Kubernetes Multi-Cloud
Orquestração de containers em múltiplos provedores
📋EKS (AWS)
aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/eks-service-role --resources-vpc-config subnetIds=subnet-12345,subnet-67890# Cria cluster EKS
aws eks update-kubeconfig --name my-cluster --region us-east-1# Atualiza kubeconfig
aws eks list-clusters# Lista clusters
aws eks describe-cluster --name my-cluster# Descreve cluster
aws eks create-nodegroup --cluster-name my-cluster --nodegroup-name my-nodegroup --scaling-config minSize=1,maxSize=3,desiredSize=2 --subnets subnet-12345,subnet-67890# Cria node group
📋AKS (Azure)
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys# Cria cluster AKS
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster# Obtém credenciais
az aks list --resource-group myResourceGroup# Lista clusters
az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3# Escala cluster
📋GKE (GCP)
gcloud container clusters create my-cluster --num-nodes=1 --zone=us-central1-a# Cria cluster GKE
gcloud container clusters get-credentials my-cluster --zone=us-central1-a# Obtém credenciais
gcloud container clusters list# Lista clusters
gcloud container clusters resize my-cluster --node-pool=default-pool --num-nodes=3 --zone=us-central1-a# Redimensiona cluster
🤝 Contribuindo
Encontrou um erro? Quer melhorar um cheatsheet? Tem uma sugestão? Adoraríamos suas contribuições! Abra uma issue ou submeta um PR.
Gostou do projeto? Apoie o desenvolvimento com um café e ajude a manter tudo open source ☕