Arch CLI: o canivete suíço para times de Arquitetura, SRE e DevOps na AWS
Arch CLI: o canivete suíço para times de Arquitetura, SRE e DevOps na AWS
Quem trabalha com AWS no dia a dia sabe: a quantidade de serviços, consoles e CLIs que você precisa alternar pra fazer tarefas rotineiras é absurda. Listar recursos, verificar segurança, analisar custos, gerenciar containers — cada coisa num lugar diferente, cada uma com seus comandos específicos.
O Arch CLI nasceu pra resolver isso. É uma ferramenta open source que centraliza as operações mais comuns de times de Arquitetura, SRE e DevOps em uma única interface de linha de comando. Em vez de decorar dezenas de comandos do AWS CLI, você tem um menu interativo que organiza tudo por contexto.
Repositório: crypto-br/arch-cli
---
1. Visão Geral e Arquitetura
1.1 O que é o Arch CLI?
É uma CLI híbrida (Shell + Python) que funciona como um hub de operações AWS. Atualmente na versão 4.0, ela cobre desde tarefas básicas como configurar perfis AWS até funcionalidades avançadas como análise de custos com IA.
A ferramenta é estruturada em duas camadas:
- Camada Shell (
arch-cli.sh+modules/): o core original, com scripts bash modulares para cada funcionalidade - Camada Python (
arch_cli/): adicionada na v4.0, habilitando instalação via pip, comandos inteligentes e integração MCP
Essa abordagem híbrida significa que você pode usar como um script bash simples ou como uma CLI Python completa — o que encaixar melhor no seu workflow.
1.2 Instalação
git clone https://github.com/crypto-br/arch-cli.git
cd arch-cli
pip install -e .
Depois disso, basta rodar arch-cli pra acessar o menu interativo. Alternativamente, você pode rodar ./arch-cli.sh diretamente se preferir a abordagem bash-only.
1.3 Pré-requisitos
- AWS CLI: configurado com pelo menos um perfil
- Python 3: para a instalação via pip e os comandos inteligentes da v4.0
- Prowler: para as funcionalidades de auditoria de segurança
1.4 Compatibilidade
O Arch CLI roda em:
- Ubuntu/Debian
- Red Hat/CentOS
- Amazon Linux
- macOS
Ele detecta o sistema operacional automaticamente e instala as dependências necessárias. O comando --deps cuida disso pra você.
---
2. Deep Dive nas Funcionalidades
2.1 Auditoria de Segurança com Prowler
O Arch CLI integra o Prowler diretamente, sem precisar configurar nada separado.
arch-cli prowler
ou
./arch-cli.sh --prowler
O que acontece por baixo dos panos:
- O Prowler roda contra a conta AWS ativa
- Relatórios são gerados em CSV e HTML
- Uma barra de progresso mostra o status da auditoria em tempo real
- Resultados ficam armazenados localmente pra comparação histórica
Isso é particularmente útil pra times que precisam rodar checks de compliance regulares (CIS, PCI-DSS, HIPAA, etc.) sem configurar o Prowler separadamente. Ter isso integrado na mesma ferramenta que faz todo o resto reduz o context switching.
2.2 Listagem de Recursos AWS
arch-cli list
ou
./arch-cli.sh --list
Fornece uma visão rápida dos recursos da conta:
- EC2: instâncias rodando, tipos, estados
- S3: buckets e configuração básica
- RDS: instâncias de banco de dados
- Lambda: funções e seus runtimes
- IAM: usuários, roles, políticas
- CloudFormation: stacks e seus status
Parece simples, mas é o tipo de coisa que você faz várias vezes por dia. No console da AWS, exige navegar por múltiplas telas e serviços. Aqui, é um comando.
2.3 Monitoramento e Observabilidade
arch-cli monitor
ou
./arch-cli.sh --monitor
Centraliza operações de CloudWatch:
- Gerenciamento de alarmes: criar, listar e gerenciar alarmes do CloudWatch
- Visualização de logs: consultar e visualizar CloudWatch Logs sem sair do terminal
- Health checks de serviços: verificar o status de saúde dos seus serviços
Pra times de SRE que fazem health checks e troubleshooting diariamente, ter operações de monitoramento na mesma CLI que todo o resto elimina a necessidade de ficar alternando entre o console do CloudWatch e o terminal.
2.4 Otimização de Custos e FinOps
Duas funcionalidades complementares:
Análise de custos e identificação de recursos subutilizados
arch-cli optimize
ou
./arch-cli.sh --cost
Integração com dashboard FinOps completo
arch-cli finops
ou
./arch-cli.sh --finops
O módulo --cost:
- Analisa padrões de gastos atuais
- Identifica recursos subutilizados (instâncias EC2 ociosas, volumes EBS desanexados, etc.)
- Gerencia orçamentos e alertas
O módulo --finops integra com o aws-finops-dashboard pra uma experiência completa de visualização de custos.
Pra times que precisam justificar gastos ou encontrar onde cortar, ter isso na CLI agiliza bastante o processo comparado a navegar pelo Cost Explorer no console.
2.5 Segurança e Compliance
arch-cli security
ou
./arch-cli.sh --security
Vai além do Prowler com:
- Análise de políticas IAM: revisa políticas buscando configurações excessivamente permissivas
- Verificação de conformidade: checa contra baselines de segurança
- Gerenciamento de rotação de credenciais: rastreia e gerencia o ciclo de vida das credenciais
É o tipo de funcionalidade que todo time de segurança precisa mas que geralmente fica espalhada em scripts avulsos. Ter centralizado significa execução consistente e auditoria mais fácil.
2.6 Gerenciamento de Containers
arch-cli containers
ou
./arch-cli.sh --containers
Gerencia os três principais serviços de containers da AWS num único lugar:
- EKS: gerenciamento e operações de clusters
- ECS: gerenciamento de serviços e task definitions
- ECR: gerenciamento de repositórios de imagens
Quem opera múltiplos clusters em diferentes serviços sabe o quanto isso economiza tempo comparado a ficar alternando entre kubectl, aws ecs e aws ecr.
2.7 Gerenciamento de Banco de Dados
arch-cli database
ou
./arch-cli.sh --database
Cobre os dois serviços de banco de dados mais comuns da AWS:
- RDS: gerenciamento de instâncias, verificação de status, operações básicas
- DynamoDB: gerenciamento de tabelas e operações
2.8 Automação de Rotinas
arch-cli automation
ou
./arch-cli.sh --automation
Gerencia:
- Backups: gerenciamento automatizado de backups entre serviços
- Tarefas agendadas: gerenciamento de tarefas recorrentes
Aquelas rotinas que todo time tem mas que ficam em cron jobs esquecidos ou scripts perdidos em algum repositório — esse módulo traz tudo pra debaixo do mesmo teto.
---
3. Gerenciamento de Perfis AWS
Isso merece sua própria seção porque é uma funcionalidade pequena que faz uma diferença enorme no dia a dia.
Definir perfil ativo
arch-cli profile prod
Agora todos os comandos usam automaticamente o perfil "prod"
arch-cli list
arch-cli health
arch-cli analyze
Trocar pra outro perfil
arch-cli profile staging
Quem trabalha com múltiplas contas AWS sabe a dor de ficar alternando perfis constantemente. Com arch-cli profile, você define uma vez e todo comando subsequente usa automaticamente. Sem mais flags --profile em cada comando.
Você também pode configurar novos perfis interativamente:
arch-cli np
ou
./arch-cli.sh --np
Isso te guia pela configuração de um novo perfil AWS CLI, incluindo suporte pra AWS SSO — que é cada vez mais o padrão pra organizações usando IAM Identity Center.
---
4. Versão 4.0: Análise Inteligente com IA via MCP
A maior adição na v4.0 é a integração com o Model Context Protocol (MCP), trazendo três comandos inteligentes:
4.1 Analyze
Análise básica (~30 segundos)
arch-cli analyze
Análise abrangente (~2-3 minutos)
arch-cli analyze --comprehensive
Com perfil específico
arch-cli analyze --profile prod
O comando analyze faz uma análise contextual da conta AWS, identificando:
- Problemas de segurança e misconfigurações
- Custos desnecessários e desperdício
- Oportunidades de otimização
- Insights preditivos sobre problemas potenciais
A flag --comprehensive roda uma análise mais profunda que leva mais tempo mas fornece findings e recomendações mais detalhados.
4.2 Optimize
arch-cli optimize
arch-cli optimize --profile staging
Focado especificamente em economia de custos, esse comando:
- Identifica recursos que podem ser redimensionados
- Encontra recursos ociosos ou subutilizados
- Sugere oportunidades de Reserved Instances ou Savings Plans
- Fornece estimativa de economia pra cada recomendação
4.3 Health
arch-cli health
arch-cli health --profile prod
Um health check rápido (~10 segundos) que valida:
- Disponibilidade de serviços
- Status de saúde dos recursos
- Estado de alarmes críticos
- Postura básica de segurança
4.4 Modo Fallback
A decisão arquitetural mais interessante da v4.0: a ferramenta funciona com ou sem o servidor MCP.
- Com MCP: você ganha análises contextuais mais profundas, insights preditivos e sugestões de auto-remediação
- Sem MCP: os comandos continuam funcionando usando análise local, só com menos profundidade
Isso significa que você pode começar a usar os comandos inteligentes imediatamente, e quando configurar o servidor MCP, a qualidade da análise melhora automaticamente — sem mudanças de configuração.
---
5. Arquitetura Modular
O projeto é organizado em módulos separados por funcionalidade:
arch-cli/
├── arch-cli.sh # Script bash principal
├── arch_cli/ # Pacote Python (v4.0+)
├── modules/ # Módulos bash por funcionalidade
│ ├── utils.sh # Funções utilitárias
│ ├── dependencies.sh # Verificação de dependências
│ ├── aws_profile.sh # Configuração de perfis AWS
│ ├── prowler.sh # Execução do Prowler
│ ├── support_user.sh # Criação de usuário de suporte
│ ├── aws_resources.sh # Listagem de recursos AWS
│ ├── monitoring.sh # Monitoramento e observabilidade
│ ├── cost_optimization.sh # Otimização de custos
│ ├── security.sh # Segurança e compliance
│ ├── automation.sh # Automação de rotinas
│ ├── containers.sh # Gerenciamento de containers
│ └── database.sh # Gerenciamento de banco de dados
├── tests/ # Suite de testes
└── docs/ # Documentação
Essa abordagem modular tem dois benefícios chave:
- Fácil de contribuir: quer adicionar uma funcionalidade nova? Cria um módulo e integra. A arquitetura facilita isso.
- Fácil de manter: cada módulo é autocontido, então mudanças em uma área não afetam as outras.
---
6. Criação de Usuário de Suporte
Uma funcionalidade específica mas muito útil pra times que gerenciam múltiplas contas:
arch-cli lsu --acc
ou
./arch-cli.sh --lsu --acc
Isso cria um usuário administrativo de suporte na conta AWS especificada. Pra organizações onde o time de arquitetura ou SRE precisa de acesso temporário a contas de clientes ou projetos pra troubleshooting, isso automatiza o que seria um processo manual de IAM.
---
7. Logging e Auditoria
Todas as operações são logadas em ~/.arch-cli/arch-cli.log. Isso é importante pra:
- Debugging: quando algo dá errado, você tem um trace detalhado
- Auditoria: você pode rastrear quem rodou o quê e quando
- Compliance: algumas organizações exigem logging de todas as ações administrativas
---
8. Casos de Uso por Time
Times de Arquitetura
- Visibilidade rápida dos recursos e configurações das contas
- Avaliação de postura de segurança antes de reviews de arquitetura
- Análise de custos pra planejamento de capacidade
Times de SRE
- Health checks diários com
arch-cli health - Gerenciamento de monitoramento e alarmes pelo terminal
- Listagem rápida de recursos durante resposta a incidentes
Times de DevOps
- Gerenciamento de containers entre EKS, ECS e ECR
- Gerenciamento automatizado de backups
- Troca de perfis pra deploys multi-account
Times de FinOps
- Análise de custos e recomendações de otimização
- Identificação de recursos subutilizados
- Gerenciamento e acompanhamento de orçamentos
Security Engineers
- Auditorias Prowler integradas no workflow
- Análise de políticas IAM
- Gerenciamento de rotação de credenciais
- Verificação de compliance
---
9. Boas Práticas
- Configure perfis pra cada conta: use
arch-cli nppra configurar perfis com SSO, depois alterne entre eles comarch-cli profile
- Rode auditorias de segurança regulares: agende
arch-cli prowlerearch-cli analyze --comprehensivesemanal ou mensalmente
- Use health checks no CI/CD: integre
arch-cli healthcomo check pré-deploy
- Revise custos periodicamente: rode
arch-cli optimizemensalmente pra pegar desvios de custo cedo
- Mantenha a ferramenta atualizada: faça pull da versão mais recente regularmente pra ter novas funcionalidades e melhorias de segurança
---
Conclusão
O Arch CLI é o tipo de ferramenta que nasce da necessidade real de quem opera AWS no dia a dia. Em vez de ter dezenas de scripts espalhados, aliases no bashrc e bookmarks do console, você tem tudo centralizado numa CLI com menu interativo.
A versão 4.0 com integração MCP e análise inteligente mostra que a ferramenta está evoluindo na direção certa: não só automatizar tarefas, mas trazer insights que ajudam na tomada de decisão. E o fato de ser open source significa que qualquer time pode adaptar pra sua realidade.
Se você trabalha com AWS e ainda não testou, vale dar uma olhada. O tempo que você gasta configurando e alternando entre ferramentas hoje, o Arch CLI resolve com um comando.
---