エンジニア

2018.11.29

re:Invent 2018 Cloud9でAWS CLI v2 を動かそう

re:Invent 2018 Cloud9でAWS CLI v2 を動かそう

Hello, サービス開発チームの北野です。
現在、re:Inventでラスベガスに来ています。勝手にブログ強化週間中です。
ハンズラボCLI大好き代表としては聞き逃がせないなと思って、
DEV322-R – [REPEAT] What’s New with the AWS CLIのセッションを聞いてきました。
以前からv2の話は少しずつでていましたが、ついにv2のdeveloper releaseが出たようです。
https://github.com/aws/aws-cli/releases/tag/2.0.0dev0
現在のCLIと互換性が保証されないものの、補完機能が強力になって、wizard機能がつき、yaml出力に対応するので、とっつきやすくなるんじゃないかと期待しています。

Cloud9とAWS CLI

実はCloud9とAWS CLIの相性がすごく良いと思っていて、私はIDEとしてよりブラウザで動かせるシェル環境としてCloud9を愛用しております。
Cloud9でAWS CLIを動かすときは、AWS_ACCESS_KEY_IDとAWS_SECRET_ACCESS_KEYを意識する必要がなくなります。
Cloud9がうまいことやってくれて、ログインしたユーザーが操作できる範囲の権限を持った一時的なCredentialsを生成してくれるのです。
どうなっているのかというと、Cloud9のここの設定をONにしておくと(デフォルトON)、

Cloud9が~/.aws/credentialsに一時的なCredentialsを生成して設定してくれます。便利。

Cloud9にAWS CLI v2をインストール

まずは最初にCloud9にインストールされているawscliをアンインストールしちゃいます。

AWS Developer Blogを参考に、GitHubリポジトリをソースにしてpip installします。
https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-development/

最後に、ダウンロードされたソースの中身をec2-userがさわれるようにchownします。

awsコマンドのバージョンを確認して、2.0.0dev0になっていたら無事インストールできました。

AWS CLI v2を使ってみる

DynamoDBのテーブル名まで補完してくれるらしいので、DynamoDBを作って確かめてみます。
適当な名前のDynamoDBのテーブルを作ります。

補完を適用するためのコマンドを実行して、テーブル名が補完できそうな
aws dynamodb describe-table --table-nameまで入力します。

ここで<TAB>キーを押すと…先程作ったDynamoDBのテーブル名が補完されました。すごい!

終わりに

互換性が保証されていないという点には注意が必要そうですが、補完が強力になってCLIが使いやすくなりそうです。
v2正式リリースまで情報を追っていこうと思います。

一覧に戻る