1 ポイント 投稿者 GN⁺ 2026-01-05 | 1件のコメント | WhatsAppで共有
  • 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 Star15 Fork を記録

ライセンス

  • MIT License で配布
  • ソースおよびライセンスファイルはGitHubリポジトリで確認可能

1件のコメント

 
GN⁺ 2026-01-05
Hacker Newsのコメント
  • TUIの魅力がいまいちよく分からない
    CLIの強みはスクリプト化と組み合わせやすさにあるのに、TUIはただのブラウザUIの低解像度版のように感じる

    • 実用面で言えば、キーボード中心のプログラムの多くはTUI形式だ
      GUIではこうした表現力のあるキーボードインターフェースはあまり見かけない
    • サーバーに単にターミナル接続するだけで操作できるのが魅力
    • たとえばLazygitが本当に好きだ。CLIの次に速く、視覚的な情報も一緒に見られるので、gitを扱うには最も効率的だ
    • k9sを見ればよい例だ。ほとんどの操作が一度のキー入力で可能だ
    • 別の意見に付け加えるなら、TUIはサーバーにインストールしてSSHでリモート利用できる
  • うまく動かなかった
    AWSインフラの上にミドルウェアレイヤーを追加するのが気になる。誤ったコマンドやバグが深刻な結果を招く可能性がある
    特にAWSには状態を持つデータベースや本番ワークロードが多く、復旧が難しい
    CLI体験を改善しようという試みは良いが、個人的には読み取り専用モードですらためらう
    AWS CLIやコンソールなら、少なくとも失敗地点をひとつ減らせる

    • 読み取り専用なら、その程度の心配は過剰だと思う。失敗してもツールがクラッシュしたり誤ったデータを出す程度だ
      これはAWS CLIやコンソールも同じだ。
      IaCで変更を管理しているなら、視覚的にリソースを探索できるツールは有用だ。AWSコンソールはあまりに使いづらい
    • 私も似た考えだ。すでにTerraformでプロビジョニングを管理していて、ad-hocな作業はaws-cliで十分だ
      さらに別のレイヤーを追加するのはリスクが大きい
    • それでもログとコンソールを素早く行き来して状況を把握できるなら良さそうだ
      k9sのように読み取り専用権限だけで使う用途なら問題なさそう
    • Terraformのように実行前に**"plan"を出力**し、それ以外の動作は一切しないエンジンがあればいいのに
  • メニューバーに**「現在の変更コスト(Price of Current Changes)」**のような項目があるといい
    変更が0.01ドルなのか10,001ドルなのかをすぐ確認できるように

    • Amazonがそこまで単純にしてくれていたらどれほどよかったかと思う
  • コードに// TODO: Handle credential_source, role_arn, source_profile, sso_*というコメントがある
    つまり、SSOやマルチアカウントログインをサポートしておらず、AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYを直接使わなければならない
    本番環境ではセキュリティ上のリスクが大きく、実運用は難しいと思う

    • 私もセキュリティが重要だとは思うが、これは初期バージョンだ。コミュニティのフィードバックを反映しながら段階的に機能を追加していく予定だ
    • SSO非対応なら、私も使いづらいと感じる
  • 最近は15行のシェルスクリプトがいつの間にか50k行のbun CLIやTUIアプリに膨らんでいく感じがする

    • 用途が違う。aws-cliはスクリプティングと反復作業向けで、こうしたツールは探索と一時的な確認向けだ
      既存CLIを置き換えるのではなく、補完ツールとして見るべきだ
    • いわばターミナルの中のElectronのような感じだ
  • 複数のAWSアカウントを持つ組織なら、aws-sso-utilのようなツールであらかじめプロファイルを設定しておくと、アカウント切り替えがずっと速くなる

  • タイトルを最初に見たとき、「AWS UIがターミナルベースに変わった」という意味かと思って一瞬わくわくした

  • ばかげた質問かもしれないが、明るい背景のターミナルでもTUIが見やすいのか気になる

    • 全然ばかげた質問ではない。昔のグリーンスクリーン端末世代なので、白背景に黒文字のほうがずっと楽だ
      ダークモードはむしろ目の疲れを引き起こす
      残念ながら私の明るい背景のターミナルでは、アプリが起動直後にクラッシュしてしまい、試せなかった
  • 起動した瞬間にクラッシュした。この状態ではバズるのは難しい

    • リソース処理の問題があったが、1.0.1で修正されたので、もう一度試してみるといい
  • もっと多くのTUIデザイナーがHerculesのようなメインフレーム時代のインターフェースを体験してみてほしい
    その時代のUI設計思想には学ぶ点が多い

    • 私もそこが気になる。最近のTUIアプリはどれも似たり寄ったりで、当時の差別化されたデザインアプローチに興味がある
    • 具体的にどんな点が気に入っていたのか、もっと聞いてみたい