AWS CLI のコマンド実行を補助する「aws-shell」の紹介

AWS運用自動化サービス「Cloud Automator」

技術2課の多田です.

AWS CLI 使っていて予測変換機能やパラメータをドキュメントを都度確認せずとも実行できたら楽だなと思っていたのですが, AWS Labsを漁っていたところ「aws-shell」というツールを見つけましたので今回の記事ではこのツールについて紹介します.なお,このツールは現時点で開発者プレビューのツールとなりますのでその点は注意ください.

The aws-shell is currently in developer preview. We welcome feedback, feature requests, and bug reports. There may be backwards incompatible changes made in order to respond to customer feedback as we continue to iterate on the aws-shell.

aws-shell の概要

aws-shell」は,AWS CLI のコマンド入力をインタラクティブに支援してくれるツールです.

awslabs/aws-shell

普段は,コマンドを入力するときはドキュメントを確認しつつ入力しています.ただこのツールは画像のように「どんなコマンドがあるか」「どんなパラメータがあるか」をターミナルに表示しながらナビゲート(インタラクティブ)してくれるところが特徴的です.

また,過去の実行したコマンドをナビしてくれたり,パラメータを提案してくれたりもします.便利な機能ですよね.

ツールの導入方法

導入方法は簡単でpip install aws-shellのみで導入できてしまいます.なお,実行環境の Python には以下の制約があるため注意が必要です.また,当然 AWS CLIは導入しておくのはお忘れなく.

The aws-shell works on the same python versions supported by the AWS CLI:
2.6.5 and greater
2.7.x and greater
3.3.x and greater
3.4.x and greater

AWS CLI の導入のドキュメント

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html

ツール導入後はaws-shellと打てば起動完了です.

 aws-shell 利用方法

aws-shell」を導入したら実際に使ってみましょう.AWS CLI との違いはawsコマンドを入力が不要という点です.例えば,S3 関連コマンドを実行したい場合はいきなりs3 lsといった形で実行可能です.あとはツールが補完してくれるコマンドやオプションに沿ってコマンドを入力すればよいのですが,その他のツールの利用方法を以下でまとめます.

 profile の切り替え

AWS CLIではコマンド実行時にアカウントや権限を分けたい場合は--profile オプションをつけて実行しますが「aws-shell」では以下のコマンドを使うことで切り替え可能です.

Liunx コマンドの利用

Linux コマンドを一緒に使いたい場合や Linux コマンド単体で実行したい場合があると思います.基本的には!catのように「!」をコマンドの前につけます.一部のコマンドは.cd(ディレクトリ移動コマンド),.exit/.quit(「aws-shell」終了のコマンド),.edit(エディタ起動コマンド)は定義されたコマンドもあります.なお,パイプやリダイレクト時は「!」は不要のようです.

コマンド履歴の確認

過去に実行したコマンドを確認したい場合は,~/.aws/shell/historyファイルに格納されています.

aws-shell を終了する

aws-shell」を終了したい場合は.exitまたはF10,CTRL-Dを実行します.

その他のツールオプション

aws-shell」にはツールオプションが用意されていて,現状以下の利用が可能です.

F2 toggles between fuzzy and substring matching
F3 toggles between VI and Emacs key bindings
F4 toggles between single and multi column auto completions
F5 shows and hides the help documentation pane
F9 toggles focus between the cli and documentation pane
F10 or Ctrl-D exits the aws-shell

まとめ

AWS CLI 補助ツールの「aws-shell」の概要,導入方法とツールの利用例を紹介しました.AWS CLI を使うときにドキュメントを都度確認したりすることに煩雑さを感じる方は本ツールを使ってみてはいかがでしょうか? 普段使いでも使っていって改善点などあればフィードバックを行なってよりよくしていくようリクエスト出していきたいと思います.

AWS運用自動化サービス「Cloud Automator」