aws-shellでaws-cliをより快適に触りつつドキュメント併用のハンズオンをも行う方法
AWSを使う上で色々と便利なコマンドが既に存在していますが、意外に知る機会が少ないことを実感しています。
Github上のawslabsを眺めていたところ、aws-shellの存在を発見し、aws-cliの存在からしてshellライクなものだと予感し、取り入れてみました。
インストール
pipを直接使う場合の手順です。
% sudo pip install aws-shell
pipenvを利用する場合は以下の通りになります。ここでは開発作業専用という前提で、dev指定しています。
% pipenv install --dev aws-shell
実行と終了
実行は以下の通りコマンドを打ちます。
# 実行 % aws-shell
あとはaws-cliと同じ感覚で入力します。
終了は.exit
あるいは.quit
と入力するか、F10を押します。
AWSアカウント指定を切り替える
aws-cliによるプロファイルが利用可能です。
% aws-shell --profile xxxx
プロファイルへの追記もaws-shellから可能です。
% aws-shell aws> configure set profile.testing2.output json aws> configure set profile.testing2.region ap-northeast-1 % cat ~/.aws/config [profile testing2] output = json region = ap-northeast-1
ドキュメントを参照する
コマンドを入力時にF9でフォーカスがドキュメント側に切り替わります。上下でドキュメントの文字送りができます。コマンド側に戻す場合はもう一度F9を押します。
この操作による一番のメリットはドキュメントを参照しながらコマンドを打てるところだと思われます。
aws-cliとの併用
aws-shellにはシェル上にて実行したいパラメータを引数として渡すことができません。ですが、aws-shellで実行を確認した後に.edit
と入力することで、実行したコマンドがエディタ上に出力されます。それをファイルとして保存することにより、aws-cliを実行することが可能です。
% aws-shell aws> s3 ls aws> .edit aws s3 ls :save $HOME/s3_ls.sh "~/s3_ls.sh" [New] 1L, 10C written % sh ~/s3_ls.sh
まとめ
aws-shellはコマンドの入力フォローが強力ですが、.edit
コマンド経由で保存することにて、一度実行したコマンド群をターミナル上から再実行することも容易になります。
aws-cliを利用してのハンズオンにおいても負担が大幅に下がると思われます。是非一度利用してみてください。