ec2sshを試してみた

結論

チョー便利。

大まかには作者のブログに乗ってるんですが一部訂正が必要だったので。

http://blog.mirakui.com/entry/20101205/1291551625

概要

中身はgemのライブラリです。

sshでec2に接続する時は

~/.ssh/config

を設定して

ssh app1

とかでつなぐと思いますが。

ec2はstopするとipが変わって一々書き換えるのが面倒くさい。 それを

ec2ssh init
ec2ssh update

の二回だけで全部のconfigを作ってくれる。

initは最初だけだから実質 「ec2に繋がらんな」と思ったら updateするだけで済む。

まじで便利。 これは色々流用出来そう。

導入

インストール

gem install ec2ssh

以上。 自分はbundler使ってる。

環境変数を設定

export AMAZON_ACCESS_KEY_ID="..."
export AMAZON_SECRET_ACCESS_KEY="..."

イニシャライズ

ec2ssh init

bundlerだったら

bundle exec ec2ssh init

設定読み込み

ec2ssh update

元記事だとこれで行けるんだけど。

Set aws keys at ~/.ec2ssh

と出る。

何か設定ファイルが必要みたいだから開いてみると。

vim ~/.ec2ssh
---
path: ~/.ssh/config
aws_keys:
  default:
    access_key_id: 
    secret_access_key: 
regions:
- ap-northeast-1

yamlファイルだった。

アクセスキーと シークレットキーをセットして。

ec2ssh update

キター

という事で

export AMAZON_ACCESS_KEY_ID="..."
export AMAZON_SECRET_ACCESS_KEY="..."

これは不要みたい。

作者のgithubを読んだらちゃんと変わってた。

configに書き込まれたログがダーっと流れて。 configに書き込まれたと思います。

configが上書きされるので 心配な人は念のためバックアップ取っておいた方が良いと思います。 configを入力補完させれば完璧。

ちゃんとec2インスタンスに解りやすい名前を付けようと思った次第です。 これからは

これで完璧。

デプロイとかに流用出来そう。

他にも

configに設定する

  • IdentityFile
  • user

とかも指定出来るから

作者のgithubを見てみると良い。

https://github.com/mirakui/ec2ssh