社長BLOG

EC2のIPアドレスの変更をno-ipでカバーする

Amazon EC2はストップして再びスタートする時、IPアドレスが変わってしまう。

「仕事開始とともにインスタンスを起動して、終了とともに停止する。休日は止めたまま」
というような使い方をしたい。

全開発スタッフにクラウド開発サーバを提供するのが今回のねらいだ。

Amazon Elastic IPを使えば簡単に固定化できる。IP固定化にかかる費用は一台あたり月に1,000円もしないが、開発サーバなので数十台にもなるかもしれない。
エンジニアが、なるべく気兼ねなく使えるようにしたい。

ということで、IPアドレスの変更をダイナミックDNSのno-ip.comでカバーする仕掛けを作ってみた。

まずはno-ip


no-ipは昔からあるダイナミックIP用のDNSサービス。
このサービスには、サーバのIPアドレスが変わったら自動的にDNSを書き換える仕組みが備わっている。
この機能はDynamic Update Client (DUC) という。

http://no-ip.comにアクセスして、無料アカウントをセットアップ。

no-ipが無料で提供しているドメインから選んで、ホストを作っておく。

IPアドレスはどうせ変更されてしまうので、デフォルトのままで良い。

no-ip側の設定はこれだけ。

EC2側の設定

EC2は、インスタンスを普通に起動(Amazon Linuxを使用)し、ec2-userとしてログイン。

次にシェルスクリプトを持ってきて、実行する。

スクリプトの内部では次の処理をしている。

1.DUCをダウンロードし保存する
2.実行パーミッションをつける
3.-C オプションを付けて設定スクリプトを実行する
4.一度DUCを実行してDNSを更新しておく
5.DUCが自動起動するようにrc.localの末尾に記述

途中の設定スクリプトの様子はこんな感じ、アカウント情報を入力して、自動更新したいホスト名を指定する。

動作確認

no-ip側の管理画面側の設定IPアドレスが書き換わっていたら、正しく動作している。
dig コマンド ( dig tejima.no-ip.info ) などで調べても良い。

まとめ

EC2を何回止めても、自動的にDNSが新しく割り当てられたインスタンスのIPアドレスを参照するようになった。
これで何台開発サーバを作っても、動かさなければ料金がかからなくなった。

OpenPNE�~�蓈���񋟃T�[�r�X�̂��m�点

  • ��K�̓z�X�e�B���O
  • �Z�p�T�|�[�g
  • �J�X�^�}�C�Y
  • OpenPNE Manager
  • ���q���܃T�|�[�g

ページの先頭に戻る