e1sをご紹介:k9sに触発されたAWS ECS用CLIツール
AWS ECSをご利用の皆様、FargateでもEC2でも、aws-cli
を駆使してリソースを管理するのは時に一苦労ですね。k9s
がKubernetesにもたらした使い勝手の良さをECSにも提供することを目指し、e1s
はあなたが待ち望んでいたツールになることでしょう。
e1sとは何でしょうか?
e1s
は、AWS ECSリソースを簡単に管理するために開発されたコマンドラインインターフェースツールです。KubernetesのCLIツールであるk9sにインスピレーションを受け、AWS ECSの使用者に同等の利便性と効率をもたらすことを目指しています。
e1s
を使えば、ターミナルから直接ECSのクラスタ、サービス、タスク、コンテナを簡単に管理できます。ターミナルベースのワークフローを好む開発者最適なECSの運用ツールです。
e1sの主要機能
- リードオンリーモード: 意図せずに変更を加えることなくECSリソースを閲覧できます。
- 自動更新: ECS環境の最新の変更を常に反映します。
- リソースの説明: クラスタ、サービス、タスクなどに関する詳細情報を取得できます。
- CloudWatchログ統合: ログをターミナルから直接表示し、ストリーミングします。
- コンテナへのSSHアクセス: ECS Exec APIを通じて、迅速なデバッグとトラブルシューティングのためにコンテナに直接アクセスできます。
- サービスの編集: 新しいTask DefinitionのJSONをすばやく登録し、登録されたTask Definitionのリビジョンとdesired task countでサービスを即座に更新できます。
- ポートフォワーディングセッション: プライベートサブネット内のサービスにローカルから簡単にアクセスするためのポートフォワーディングを設定できます。
- ファイル転送: ローカルマシンとECSコンテナ間でファイルを移動できます。
- テーマ: にカスタマイズ可能なカラーテーマ
e1sが解決する実際のECS運用課題
コンテナへExec実行
e1s
を使えば、ECSコンテナに即時アクセスできます。ecs-exec機能により、実行中のコンテナに直接対話的Exec実行、リアルタイムでのデバッグやコマンドを行い、SSHのように実行が可能です。
これは、ECS環境内の問題を迅速に診断し、解決する必要がある開発者やオペレーターにとって特に便利です。
リモートホストポートフォワーディング
e1s
のリモートホストポートフォワーディング機能を使えば、ECSコンテナを介してローカルマシンからリモートサービスへの安全な接続を作成できます。これは、RDS、ElastiCache、APIなど、プライベートサブネット内に安全に配置されたサービスとやり取りする必要がある開発者にとって非常に貴重です。
e1s
を活用して、ネットワークアクセスとセキュリティの複雑さを簡素化し、ローカル開発環境をクラウドに簡単かつ安全に接続する橋渡しをしましょう。
S3バケットを利用したファイル転送
e1s
を使えば、ローカルシステムとECSコンテナ間のファイル転送を簡単に行えます。新しいアプリケーション設定のデプロイやログの分析のための抽出など、S3バケットを利用することで、転送は迅速かつ安全、信頼性の高いものになります。
即時タスク定義の登録とサービス更新
e1s
でデプロイ戦略を革新しましょう。JSONファイルから新しいタスク定義をすばやく登録し、リアルタイムで最新のリビジョンと希望するカウントでECSサービスを更新できます。
e1s
でECSデプロイのスピードを高めましょう。ターミナルでデプロイ、コンテナの健康状態、ログも監視できます。
テーマを独自で定義できる
--theme
で色々なtheme選択できますし、--config-file
のcolors指定したら、どのような色でも指定可能です。
- command
e1s --theme dracula
- screenshot
- config file
colors:
BgColor: "#272822"
FgColor: "#f8f8f2"
BorderColor: "#a1efe4"
Black: "#272822"
Red: "#f92672"
Green: "#a6e22e"
Yellow: "#f4bf75"
Blue: "#66d9ef"
Magenta: "#ae81ff"
Cyan: "#a1efe4"
Gray: "#808080"
- screenshot
- config file
colors:
BgColor: black
FgColor: cadeblue
BorderColor: dodgerblue
Black: black
Red: orangered
Green: palegreen
Yellow: greenyellow
Blue: darkslateblue
Magenta: mediumpurple
Cyan: lightskyblue
Gray: lightslategray
- screenshot
e1sでECS管理を一歩前進
e1s
は、ECSの管理を直感的かつ効率的に行うためのユーザーフレンドリーな代替手段を提供することを目指しています。e1s
がまだk9s
と同じレベルの力を持っていないかもしれませんが、進化し続けており、皆さんのフィードバックが成長には不可欠です。
e1s
が皆さんのECS管理ツールキットに欠かせない存在となり、操作を簡素化し、貴重な時間を節約するお手伝いができれば幸いです!
詳細は https://github.com/keidarcy/e1s をご覧ください。
https://medium.com/@keidarcy.1015/introducing-e1s-the-k9s-inspired-cli-for-aws-ecs-c492bd124b3c から日本語に翻訳しました。
Discussion
素晴らしいツールありがとうございます。
ecs-execはsshを実現するものではなく、コンテナのnamespaceで指定したプロセスを実行(exec)し、そのセッションと接続してくれるものなので、誤解のないよう訂正いただくのがよいかと思います😊
ecspressoとの比較、優位性の情報もあるととってもうれしいです!
コメントありがとうございます。
確かにSSHは厳密ではない言い方です。修正しました。