はい、前回の書き込みから1週間くらい空きましたが、ネットリと前進しております。
個人サイト作成。
多少は皆さんのお役に立てそうなトピックもあるので、書きとめておきます。
とりあえず今までのあらすじは、「Amazon EC2で個人サイトを作ろうと思ってたら、『公開ドメインを使いたければ、DynamicDNSを使え』と書いてあったので、VALUE DOMAINという、ドメイン管理代行&DDNSサービスを同時に提供しているサイトがあったので、"siraisi.net"ドメインを作った」というところです。
で、その続き。
まず、"siraisi.net"のIPを動的に変更できるよう、こちらのページの13ステップを忠実に実行しました。
こちらのページに書いてあるのはつまり、「今現在のサーバの公開IPを調べて、手で入力してみてよ」ということ。
ここで一つ目のポイント。Amazon EC2インスタンス内で、自分の公開IPを調べる方法ですが、以下のコマンドを実行します。
curl http://169.254.169.254/latest/meta-data/local-ipv4
この前翻訳したドキュメントを見るとわかりますが、"169.254.169.254"はAmazon EC2インスタンスが所属するLAN内のサーバを指しています。
そこにcurlでHTTPアクセスをかければ、自分の公開IPを教えてくれるというわけ。
で、このコマンドの結果表示されたIPアドレスをVALUE DOMAINに登録し、数分待ってから「http://siraisi.net」にアクセスすると・・・
表示されない。なぜだ。
当たり前だ。httpd立ち上げてなかった。と言うか、Apacheのインストールすらしてない。
僕が使用したEC2のイメージは、こちらのページで見つけたFedora Core 6 Lite Base Imageという、Fedora6インストール直後みたいな超プレーンなやつです。Xも入ってないやつ。
ということで、yum install apache でApacheを入れ、HTTPを立ち上げて再度アクセスすると、ページが見えました!
はーよかったよかった。手作業による実験完了。
であとは、EC2のインスタンスは再起動するたびにIPアドレスが変わってしまうので、cronで起動時にVALUE DOMAINにIPを通知するようなスクリプトを作成。
こちらによると、VALUE DOMAINは決まったURLにGETアクセスを行うだけでIPを通知できるようです。ということで、wgetでURLにGETアクセスを行うスクリプトを書きました。
#!/bin/bashDOMAIN=siraisi.net
PASSWORD=******
HOST="*"
current_ip=`curl http://169.254.169.254/latest/meta-data/local-ipv4 2&>1 1 > /dev/null`result=`wget -O - -q "http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=${DOMAIN}&p=${PASSWORD}&i=${current_ip}&h=${HOST}"`
result=${result:7:1}
echo $result
errMsg=""case $result in
0)
exit 0
;;
1)
errMsg="Invalid request"
;;
2)
errMsg="Invalid domain name or password"
;;
3)
errMsg="Invalid IP address"
;;
4)
errMsg="Invalid password"
;;
5)
errMsg="Database server is busy"
;;
9)
errMsg="Unknown error"
;;
esacif [ "$errMsg" != "" ]; then
echo $errMsg
logger -p cron.error "Value-Domain DDNS Error: `date` $errMsg"
fi
# crontab -e
@reboot /root/ddns_update.sh
:wq
なんとかこれで、ドメイン名によるサイトアクセスは実現できたようです。
今日は眠いのでこれまで。次は、いくつかアプリでもインストールしてみますか。
Techno Exchange
DELL連載第4回 〜「Microsoft System Center」
ZDNet Japan ホスティング特集
ZDNet Japan Green IT
契約してわかった、iPhoneのさまざまな注意事項
フォトレポート:USIMカードはどこに?--「iPhone」開封の儀
iPhone 3G、発売前夜から祭りのあとまで