AWS용 터미널 UI (taws) – 터미널 기반 AWS 리소스 뷰어 및 관리자

1 month ago 10

  • 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 저장소에서 확인 가능

Read Entire Article