-
taws는 터미널 환경에서 AWS 리소스를 탐색하고 관리할 수 있는 Rust 기반 UI 도구로, AWS 인프라를 실시간으로 관찰하고 제어할 수 있음
-
94개 이상의 리소스 유형과 60개 이상의 AWS 서비스를 지원하며, 프로필 및 리전 전환, Vim 스타일 키보드 조작, 자동 완성 기능을 제공
- EC2 인스턴스의 시작·중지·종료, 리소스의 JSON/YAML 상세 보기, 필터링 및 실시간 갱신 기능을 지원
- macOS, Linux, Windows에서 Homebrew, Cargo, 바이너리 다운로드 등 다양한 설치 방법을 제공하며, AWS 자격 증명 및 IAM 권한 설정이 필요
-
k9s에서 영감을 받아 Ratatui 라이브러리로 제작된 오픈소스 프로젝트로, AWS CLI 사용자에게 시각적이고 직관적인 관리 경험을 제공
taws 개요
-
taws는 터미널 기반의 AWS 리소스 뷰어 및 관리자로, AWS 인프라를 쉽게 탐색하고 관리할 수 있도록 설계
- AWS 리소스 변화를 지속적으로 감시하고, 관찰된 리소스에 대한 명령 실행 기능 제공
- 프로젝트의 목적은 AWS 인프라 관리의 단순화 및 효율화
-
MIT 라이선스로 공개되어 있으며, Rust 언어로 작성됨
주요 기능
-
멀티 프로필 및 리전 지원으로 다양한 AWS 계정과 리전을 손쉽게 전환 가능
-
94개 이상의 리소스 유형과 60개 이상의 서비스 탐색 및 관리 지원
-
실시간 갱신 기능으로 단일 키 입력으로 리소스 상태 새로고침 가능
-
Vim 유사 키보드 조작을 통한 빠른 탐색 및 명령 실행
-
EC2 인스턴스 제어(시작, 중지, 종료) 기능 내장
-
JSON/YAML 상세 보기, 이름·속성 기반 필터링, 퍼지 매칭 자동완성 기능 제공
설치 방법
-
Homebrew(macOS/Linux) : brew install huseyinbabal/tap/taws
-
사전 빌드 바이너리 다운로드: macOS, Linux, Windows용 아키텍처별 패키지 제공
-
Cargo 설치: cargo install taws
-
소스 빌드: Rust 1.70 이상, C 컴파일러 및 링커 필요
- 플랫폼별 개발 도구 설치 명령 제공 (예: xcode-select --install, sudo apt install build-essential -y)
실행 및 설정
-
AWS 자격 증명은 aws configure, 환경 변수, IAM 역할, ~/.aws/credentials 파일 등 표준 경로에서 인식
-
IAM 권한은 최소한 Describe*, List* 권한 필요
- 실행 예시:
- 기본 프로필 실행: taws
- 특정 프로필 지정: taws --profile production
- 특정 리전 지정: taws --region us-west-2
- 디버그 로그 활성화: taws --log-level debug
- 로그 파일 경로:
- Linux: ~/.config/taws/taws.log
- macOS: ~/Library/Application Support/taws/taws.log
- Windows: %APPDATA%\taws\taws.log
키 바인딩
-
탐색: j/k 또는 화살표 키로 이동, Ctrl-u/d로 페이지 이동
-
뷰 전환: :로 리소스 선택기 열기, Enter 또는 d로 상세 보기
-
작업: r 새로고침, / 필터, p 프로필 전환, R 리전 전환, q 종료
-
EC2 제어: s 시작, S 중지, T 종료
지원 서비스
-
30개 핵심 AWS 서비스 지원 (전체 사용의 95% 이상 커버)
-
Compute: EC2, Lambda, ECS, EKS, Auto Scaling
-
Storage: S3
-
Database: RDS, DynamoDB, ElastiCache
-
Networking: VPC, Route 53, CloudFront, API Gateway, ELB
-
Security: IAM, Secrets Manager, KMS, ACM, Cognito
-
Management: CloudFormation, CloudWatch Logs, CloudTrail, SSM, STS
-
Messaging: SQS, SNS, EventBridge
-
Containers: ECR
-
DevOps: CodePipeline, CodeBuild
-
Analytics: Athena
환경 변수 설정
-
AWS_PROFILE: 기본 프로필
-
AWS_REGION: 기본 리전
-
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN: 인증 정보
알려진 이슈
- 일부 리소스는 기본 읽기 전용 정책으로 접근 불가할 수 있음
- 페이지네이션으로 인해 로딩 중 리소스 수가 변동될 수 있음
- IAM, Route53, CloudFront 등 일부 글로벌 서비스는 항상 us-east-1 리전을 사용
기여 및 기술 기반
- 기여는 환영되며, 새로운 서비스 추가 전에는 GitHub Discussions에서 제안 필요
-
k9s에서 영감을 받았으며, Ratatui(Rust TUI 라이브러리)와 aws-sigv4(AWS SDK for Rust) 사용
- AWS 커뮤니티를 위한 오픈소스 프로젝트로, 622개 Star, 15개 Fork 기록
라이선스
-
MIT License로 배포
- 소스 및 라이선스 파일은 GitHub 저장소에서 확인 가능