Ec2-Connect は AmazonWebService EC2 インスタンスへ SSH ログインするためのヘルパーツールである。
ElasticIP のない EC2 インスタンスへのログインは常に煩わしさがつきまとう。
その煩わしさを多少軽減するツールとして利用すると良い。
使い方だ。
まずパラメータを何も与えずにコマンドを撃て。
$ EC2-Connect
0: running WebServiceApp
1: running DatabaseApp
2: terminated ScaleOutApp
3: running ScaleOutApp
4: stopped TestServer
5: terminated
このように現在稼働しているインスタンスが表示される。
今回表示しているのはサンプルのインスタンスだ。
では、WebServiceApp インスタンスにログインしてみよう。
このようにコマンドを撃て。
$ EC2-Connect 0
引数に与えた 0 は先刻表示したインスタンス群の一番左に記載されている数字だ。
数字で対象のインスタンスを指定することが出来る。
このままインスタンスにログイン出来れば素晴らしいが、そこまでは出来ない。
煩わしさを多少軽減するツールだからだ。
おもむろに Ctrl + v を押せ。
こうなる。
$ ssh ec2-user@ec2-xxx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com -i /Users/hoge/.ssh/a_1.pem
ENTER を押せばインスタンスにログイン可能だ。
要するに、SSH のコマンドがクリップボードに格納されている。
こんな指定の仕方も可能だ。
$ EC2-Connect WebService
$ EC2-Connect ec2-user@ec2-xxx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com
どちらも同じでログインするための SSH コマンドがクリップボードに格納される。
どうだろう、煩わしさが多少軽減したのではないだろうか。
うむ。EC2-Connect を使いたくなっているのは分かっている。
この煩わしさ多少軽減ツールを使うためには準備が必要だ。
EC2-Connect は内部で AwsSdkPHP2 を使っている。
それを Composer でダウンロードしてみろ。
$ composer.phar install
AWS の認証キーを指定しなければもちろん使えない。
オリジナルの設定ファイルをコピーして書き換えろ。
$ cp config/aws.ini.orig config/aws.ini
ファイルを開いて設定を記載しろ。
sshkey には使用する ssh キーへのパスを指定するのだ。
key=xxxxxxxxxxxxxxxx
secret=xxxxxxxxxxxxxxxx
sshkey=/Users/hoge/.ssh/a_1.pem
これで準備完了だ。
まずこのコマンドを何も考えずに撃て。
$ EC2-Connect
0: running WebServiceApp
1: running DatabaseApp
2: running ScaleOutApp
3: stopped TestServer
どうだ。
多少煩わしさが軽減出来ただろう?