Amazon Web Servicesを管理するためのCLI「awless」
2017-02-23
Amazon Web Services(AWS)の管理や操作ができるコマンドといえば、公式にAWSによって開発されているaws
コマンドがあります。
今回は、新たにもう一つの選択肢として、awless
なるコマンドラインツールを見つけたので、紹介します。
「awless」とは
awlessは、AWSを管理するための、高速で強力で使いやすいコマンドラインインターフェース(CLI)です。
GitHub上でオープンソースで開発されています。2017年2月現在はまだAlpha releaseとなっており、現在進行形で活発に開発が行われているプロジェクトです。
awless
コマンドを利用することで、AWSインフラストラクチャーを管理する新しいアプローチをもたらします。
利用方法
awless
コマンドは、awless [command]
の形式でサブコマンドと一緒に利用するのが基本の形です。それぞれ、コマンドやオプションによって以下のような特徴を持ちます。
awless list
: AWS EC2、IAM、およびS3のマルチリージョンクラウドリソースのわかりやすい一覧表示--format
: 人間も機械も理解しやすい複数の出力フォーマット(テーブル、ツリー、csv、json等)awless show
: 特定のIDや名前を持つリソースの探索awless run my-awless-templates/create_my_infra.txt
: 強力なawlessテンプレートを使用した、クラウドリソースの作成、更新、削除(CRUD)awless create instance ...
awless create vpc ...
awless attach policy ...
: 強力なCRUDawless log
: すべてのCLIテンプレート実行のレポートawless revert
: 実行されたテンプレートとリソースの作成の取消awless inspect
: クラウドリソースグラフの分析を実行するCLIユーティリティawless sync
: ローカルでリソースを読み込んで保存する、手動同期モードawless completion
: Unix / Linuxのbashとzshにおける自動補完機能awless history
: ローカルの変更履歴とバージョン管理
わかりやすい表示であったり、親切なその他の機能によって、aws
コマンドにはない便利さを持っています。
インストール方法
以下のいずれかの方法でインストールできます。
- GitHubから最新版のバイナリを取得する
- Golangを既にインストールしている場合は、次のコマンドでソースをビルドする:
go get github.com/wallix/awless
- macOSの場合は、Homebrew経由でもインストールできる:
brew tap wallix/awless; brew install awless
インストール後は、AWSの認証情報を設定します。
既にaws
コマンドやaws-shell
を利用できている方は不要です。~/.aws/credentials
から自動で認証情報を読み込みます。
認証情報を設定したことがない場合は、IAMコンソールからAWS資格情報を取得します。その後、~/.aws/credentials
(Unix)または%UserProfile%\.aws\credentials
(Windows)にダウンロードして保存することで、設定できます。
インストールと認証情報の設定が終わったら、以下のコマンドを入力してみましょう。S3のバケット一覧がテーブル形式で表示されるはずです。
awless list buckets
初めてコマンドを利用した際には、初期設定内容と初期設定が終了した旨を告げるメッセージも共に表示されます。2回目以降は表示されないので安心しましょう。
awless
の詳しい利用方法は、awless --help
と入力するか、こちらやこちらに記載されています。
まとめ
今回はAWSを管理するためのコマンドラインツール「awless」を紹介しました。
2017年2月現在、まだ開発が進んでいる最中なので、ドキュメントの充実や更なる機能追加などは今後に期待といった感じです。
AWSが公式に用意しなさそうな便利機能をawless
コマンドの導入で補うというアプローチはとても良さそうなので、興味をお持ちの方がいましたら、ぜひ試してみてはいかがでしょうか。