包丁一本さらしに巻いて

jungle: Simple UNIX-like AWS CLI

2015.08.23

jungleというUNIX-likeにAWSを操作するCLIを作った。

利用方法抜粋

Listing all EC2 instances

jungle ec2 ls

Filtering EC2 instances by Name tag using wildcard

jungle ec2 ls *web*

Starting instance

jungle ec2 up -i i-xxxxxx

Stopping instance

jungle ec2 down -i i-xxxxxx

SSH login to instance specified by instance id

jungle ec2 ssh -i i-xxxxxx --key-file /path/to/key.pem

SSH login to instance specified by Tag Name

jungle ec2 ssh -n blog-web-server-01 --key-file /path/to/key.pem

TL;DR

背景

既存の公式awscliは最高にフレキシブルだし全AWSのサービスに対応しており、自分も大変お世話になっている。しかし、オプションがやたら長かったり、「それ要る?」っていう機能てんこ盛りだったりという特徴もある(これはawscliが「AWSサービスとの連携においてできないことは無い」ってのをたぶん目指して作られているのでしょうが無い)。その為、正直普段使いのCLIとしては、素のままに使いづらいと言わざるを得ない、と思った。

また、今自分たちはAWSのTag:Nameを起点に色々なものを管理しており、サーバは作られては消えているので、IPやdomain等ではなくTag:Nameを使ってログイン/状態参照/ログ参照できるようにできたら便利だろう、というのがある。

解決策

と、色々書いてみたけど恐らく色んな代替案があるし、どれを実行してもなんとなくうまくできそうな気はしている。ただ、自分がよく実行するオペレーションを覚えやすい形で、ある程度の柔軟性だけ持たせて保存しておきたかった。あと、Click使いたかったしPyPIに何か登録してみたかったので書いた感もある。

ちょっと誰か使ってみて感想きかせて欲しいっす!!!!初Python OSSっす!!!!

comments powered by Disqus