Percolで便利にEC2に接続するやつ
勉強会で教わった便利アイテムを導入した際のメモ。
percol
https://github.com/mooz/percol
ざっくり言うと動的に絞込ができる便利なやつ。
pipでインストールした。
% pip install percol
$ percol
__
____ ___ ______________ / /
/ __ \/ _ \/ ___/ ___/ __ \/ /
/ /_/ / __/ / / /__/ /_/ / /
/ .___/\___/_/ \___/\____/_/
/_/
0.0.7
You did not give any inputs to percol. Check following typical usages and try again.
かっこいい画面が出てインストール完了。
たとえば、lsして出てきた任意のディレクトリを絞り込んで、選択したやつをxargsで更にlsする
% ls | percol | xargs ls
みたいなのができる。
pythonでできているらしく、「.pecol.d/rc.py」というファイル作って、そこにファンクションを作っておけるらしい。
このへんは未検証。
C/Migemo
なんて読むんだろう。しーみげも?
http://www.kaoriya.net/software/cmigemo/
ざっくり言うとローマ字入力から日本語を検索できるようになる。
pythonのバインディングであるpymigemoも追加する。
http://www.atzm.org/etc/pymigemo.html
% brew install cmigemo
% curl -O http://www.atzm.org/etc/files/pymigemo/pymigemo-0.4.tar.gz
% pip install pymigemo-0.4.tar.gz
AWS-CLI
入れてなかったもんだから。入れる。
% wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip
% unzip awscli-bundle.zip
% awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
無事に入ったかを確認する。
% aws --version
% aws-cli/1.3.20 Python/2.7.5 Darwin/13.2.0
入ったのでconfファイルを作成する。
事前に適切な権限を持ったUserを作成して、Access keyとSecret keyを取得しておいた。
この.aws/conf内には複数の設定が記載できる。
[default]
region = ap-northeast-1
aws_access_key_id = hogehoge
aws_secret_access_key = hogehoge
[profile moge]
region = ap-northeast-1
aws_access_key_id = hogehoge
aws_secret_access_key = hogehoge
profileを指定することで切り替えもできる。
% ec2list --profile moge
書き終わったら.zshrcに環境変数を追加(ずっとbashだったけどzshづいてる最近)
export AWS_CONFIG_FILE=~/.aws/conf
今動いてるインスタンスたちを取得してみてJSONぽいのが返ってくれば動いている。
% aws ec2 describe-instances
{
"Reservations": [
{
"OwnerId": "xxxxx",
"ReservationId": "r-xxxxx",
"Groups": [],
"Instances": [
{.....
(以下略)
ec2list
gemでインストールできる。
% gem install ec2list
無事に入ったっぽいんだけどrbenvを入れていると色々複雑らしく
zsh: command not found: ec2list
と言われるので、google先生に聞いて調べたrailtiesを入れてrehashしてみる。
% gem install railties && rbenv rehash
その後再びec2listのコマンドをたたく
% ec2list
hoge xxx.xx.xx.xxx zz.zzzz.zz.zz
ec2listで表示したインスタンスにsshで接続してみる
ec2list | percol | cut -f 3 | xargs -o -n 1 ssh -i ~/.ssh/hoge.pem -l root
無事に接続できたので便利。