1001Ferramentas
🚀Geradores

Gerador de AWS CLI EC2

Monta comandos aws ec2 (run-instances, describe-instances, terminate, start, stop) com instance-type, AMI, key-name e SG.


  

AWS CLI para EC2 — gerenciando instâncias pelo terminal

A AWS CLI é a interface oficial de linha de comando para todos os serviços da AWS; para o Amazon EC2 (Elastic Compute Cloud) ela expõe centenas de subcomandos em aws ec2 ... cobrindo instâncias, AMIs, volumes EBS, snapshots, security groups, key pairs, VPCs e preços spot. Comparada com o console web, é mais rápida, scriptável, idempotente em CI/CD e a única opção razoável quando você administra dezenas de instâncias ao mesmo tempo.

Comandos essenciais

  • aws ec2 describe-instances — lista paginada; combine com --filters "Name=instance-state-name,Values=running".
  • aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,PrivateIpAddress]' --output table — projeção JMESPath.
  • aws ec2 start-instances --instance-ids i-1234, stop-instances, reboot-instances, terminate-instances.
  • aws ec2 describe-volumes, create-snapshot, attach-volume, detach-volume.
  • aws ec2 authorize-security-group-ingress --group-id sg-xxx --protocol tcp --port 22 --cidr 0.0.0.0/0.

Subindo uma instância

A chamada canônica do run-instances:

aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t3.micro \
  --key-name mykey \
  --security-group-ids sg-abc123 \
  --subnet-id subnet-xyz789 \
  --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=web-01}]'

O ciclo de vida segue pending → running → stopping → stopped → terminated. Gere uma key pair na hora com aws ec2 create-key-pair --key-name mykey --query 'KeyMaterial' --output text > mykey.pem && chmod 400 mykey.pem. Para metadados privados, sempre exija IMDSv2 (autenticação via token PUT) — mitiga exfiltração por SSRF e já é o padrão em novos launch templates.

Famílias de instância e preços

As famílias são codificadas por letra conforme o workload: T burstable, M uso geral, C compute, R/X memória, G/P GPU, I/D storage, Z alta frequência. Opções de compra: On-Demand, Reserved (compromisso de 1–3 anos, até 72% de desconto), Savings Plans (compromisso flexível) e Spot (50–90% de desconto, pode ser interrompida com 2 min de aviso).

Output, perfis e CLI v2

Formatos de saída: --output json|text|yaml|table. Várias contas: aws configure --profile prod e depois --profile prod. A CLI v2 é distribuída como binário único, tem autocompletar nativo, suporte a SSO e é a única versão suportada desde 2023 — desinstale a v1.

Perguntas frequentes

Tenho centenas de instâncias — como pagino? Use --max-results 50 --starting-token "$TOKEN" ou confie no paginador automático (aws --no-paginate desliga). Para frotas grandes, prefira aws ec2 describe-instances --paginate via SDK; a CLI também respeita AWS_PAGER="".

Como gerar uma AMI customizada? aws ec2 create-image --instance-id i-1234 --name "web-baseline-$(date +%F)" --no-reboot. O retorno é um AMI ID pronto para próximos run-instances.

Como debugar uma instância travada? Pegue o log de boot com aws ec2 get-console-output --instance-id i-1234 ou um screenshot literal com get-console-screenshot (devolve PNG em base64).

CLI vs Terraform vs CloudFormation? A CLI é imperativa (operações pontuais, scripts); Terraform e CloudFormation são IaC declarativos para stacks reproduzíveis. Convivem — use a CLI para troubleshooting ao vivo, IaC para tudo que deve sobreviver à sessão de shell.

Ferramentas Relacionadas