AmazonEC2を利用した監視体制について

2010年4月30日

管理しているサーバに外からアクセスをする場合、
どうしても/etc/hosts.allowにIP制限があると
イーモバイルなどの動的IPアクセスから入れない問題があった。

これを解決するためにAmazonEC2を利用して、AmazonEC2に接続。これを踏み台に各サーバにログイン。という仕組みを検討する。

1.AmazonEC2のサーバ立ち上げ
もっとも参考になったURL
http://itfun.jp/2008/12/amazon-ec2-putty.html

環境変数のセットは
【コントロールパネル】->システム->詳細設定->環境変数
でセットすること。

当面、EC2を利用する方法は
1)Elasticfoxを起動

2)この時、自分の鍵.ppkを利用する
事前にAmazonの鍵ファイルをputtyに直す必要がある。これは
ElasticfoxのKeyPairsで鍵を作成し、puTTYで鍵をインポートし、
puTTY用の秘密鍵を作成すれば良い。

3)起動したら、SecurityGroupsでSSHを許可。
接続許可を出すIPアドレスは、今接続中のIPがボタンを押せば設定出来る。

4)これでSSH接続が出来るようになる。

2.AmazonEC2で固定IPを取得する方法
サーバー自体が固定IPでないと、各管理サーバの/etc/hosts.allowに書く事が出来ないので、固定IPアドレスを取得する。

参考URL
http://d.hatena.ne.jp/rx7/20080426/p3

1)インスタンス起動
2)コマンドプロンプト上で
#ec2-allocate-address
ADDRESS 999.999.999.999

これで固定IPが取得される。
※999.999.999.999はIPなので人によって違います
3)現在のインスタンス確認
# ec2-describe-instances

4)割り当て
# ec2-associate-address -i [3)で確認したインスタンス] 999.999.999.999
ADDRESS 999.999.999.999   [3)で確認したインスタンス]

5)このIPアドレスを各管理したいサーバーのhosts.allowに書く。

6)インスタンスを落とす

7)再度インスタンスを起動して、きちんとIPが割り当てられたままで、
各サーバーに接続出来る事を確認。

3.メンテナンス方法

Elasticfoxにて

1)インスタンス起動
Imagesから
ami-5647a33f
を探して起動。このami-~~はAmazonの人が作ったインスタンス。一応信頼出来るので。本当は自前のインスタンスを作った方が良いかも。
2)IP割り当て
Elastic IPsで、
999.999.999.999
を選択した後に右クリックで、割り当てを行う。

3)後は普通にログイン可能
なお、割り当てを行ってもすぐには反映されないようなので、
数分待つ必要があるらしい。

========================================
ElasticIPを利用するのは、割と長時間の外出が発生する場合のみ。
その時だけ、ElasticIPを割り当てれば、費用はより安く済む。
ただしこれをすると、全サーバーに対して、
次の機会に割り当てられたIPをhosts.allowに登録し直す必要があるので、
この点が面倒。
これを何とかする必要あり。

しかし、EC2を利用したセキュリティシステムの場合、
外出ごとに固定IPを割り振り直す方が安全では?という気もする。
仮にEC2の証明書が奪われていても、その都度IPが替わるのであれば、
それほど気にする必要は無いので・・・

そもそもEC2を利用したシステムは、現在のIPをhosts.allowに登録するためだけにある。
EC2をインスタンスで起動しただけで全て自動で進むようなプログラムが
設置されていると本当は良いのだが。

このシステムの場合、
AWSの
・AccountKey
・AccountSecretKey
を取られたらアウト。というボトルネックが存在する。
サーバーへのログイン用秘密鍵は、いつでも作り出せるので意味無し。

やはりElasicIPで固定IPを取得しているのは、最低限度の方が良い気がする。