Show HN: AWS用ターミナルUI
102日前原文(github.com)
概要
tawsはAWSリソース管理用のターミナルUIツール。
マルチプロファイル・リージョン対応やVim風操作など多機能。
95%以上の主要AWSサービスをカバーし、リアルタイム監視も可能。
簡単インストールと多彩なキーバインドで直感的操作を実現。
Rust製で高いパフォーマンスと拡張性を持つ。
taws:AWSリソース管理のためのターミナルUI
- AWSリソースをターミナルUIで直感的に管理・監視できるツール
- プロジェクトの目的はAWSインフラのナビゲーション・観察・操作の簡易化
- リアルタイム監視機能で変更を即時検知
- 後続コマンドで観察中リソースへ直接操作
主な特徴
- マルチプロファイル対応:AWSプロファイルの簡単切替
- マルチリージョン対応:異なるAWSリージョン間の移動
- 60以上のAWSサービス、94種類以上のリソースタイプに対応
- リアルタイム更新:ワンキーでリソース情報をリフレッシュ
- キーボード中心操作:Vim風ナビゲーション&コマンド
- リソースアクション:EC2インスタンスの起動・停止・削除など直接操作
- 詳細ビュー:リソース情報をJSON/YAML形式で表示
- フィルタリング:名前や属性でリソースを絞り込み
- オートコンプリート:ファジーマッチングによるスマート補完
インストール方法
- Homebrew (macOS/Linux)
brew install huseyinbabal/tap/tawsによる簡単インストール
- バイナリダウンロード
- Releasesページから各プラットフォーム用バイナリ取得
- macOS (Apple Silicon/Intel)
- Linux (x86_64/ARM64)
- Windows (x86_64)
- Releasesページから各プラットフォーム用バイナリ取得
- クイックインストール(macOS/Linux)
- curl+tar+mvコマンドで即導入
- Cargo経由
cargo install tawsでRustパッケージとして導入
- ソースからビルド
- Rust 1.70+必要
git clone→cargo build --releaseでビルド
前提条件
- AWS認証情報の設定
aws configure(AWS CLI)- 環境変数(
AWS_ACCESS_KEY_ID等) - IAMロール(EC2/ECS/Lambda実行時)
~/.aws/credentials内プロファイル
- IAM権限
- 最低限
Describe*とList*権限が必要
- 最低限
クイックスタート
- デフォルトプロファイルで起動
taws
- 特定プロファイルで起動
taws --profile production
- 特定リージョンで起動
taws --region us-west-2
キーバインド一覧
- ナビゲーション
- 上移動:
k/↑ - 下移動:
j/↓ - ページアップ:
Ctrl-u - ページダウン:
Ctrl-d - 最上部:
g - 最下部:
G
- 上移動:
- ビュー操作
- リソース選択:
: - 詳細表示:
Enter/d - 戻る:
Esc - ヘルプ:
?
- リソース選択:
- アクション
- 更新:
r - フィルタ:
/ - プロファイル切替:
p - リージョン切替:
R - 終了:
q/Ctrl-c
- 更新:
- EC2アクション
- 起動:
s - 停止:
S - 削除:
T
- 起動:
リソースナビゲーション
:でリソースピッカーを開く- 例:
:ec2(EC2インスタンス)、:lambda(Lambda関数)、:s3(S3バケット)
- 例:
- Tabキーで補完、Enterキーで決定
対応AWSサービス
-
コンピュート:EC2, Lambda, ECS, EKS, Auto Scaling
-
ストレージ:S3
-
データベース:RDS, DynamoDB, ElastiCache
-
ネットワーク:VPC, Route 53, CloudFront, API Gateway, ELB
-
セキュリティ:IAM, Secrets Manager, KMS, ACM, Cognito
-
運用管理:CloudFormation, CloudWatch Logs, CloudTrail, SSM, STS
-
メッセージング:SQS, SNS, EventBridge
-
コンテナ:ECR
-
DevOps:CodePipeline, CodeBuild
-
分析:Athena
- サポート外サービス追加希望時はディスカッションで提案
設定・環境変数
- 認証情報読み込み場所
~/.aws/credentials~/.aws/config- 環境変数
- 主な環境変数
AWS_PROFILE:デフォルトプロファイルAWS_REGION:デフォルトリージョンAWS_ACCESS_KEY_ID:アクセスキーAWS_SECRET_ACCESS_KEY:シークレットキーAWS_SESSION_TOKEN:一時認証トークン
既知の問題
- 一部リソースは追加IAM権限が必要
- ページネーションによりリソース数が一時的に変動する場合あり
- グローバルサービス(IAM, Route53, CloudFront)は常にus-east-1を使用
コントリビューション
- 貢献歓迎、詳細はContributing Guide参照
- 新サービス追加前には必ずディスカッションを実施
その他
- k9s(Kubernetes CLI)にインスパイア
- Ratatui(Rust TUIライブラリ)を使用
- aws-sigv4でリクエスト署名
- MITライセンスで公開
- AWSコミュニティへの愛を込めて開発