インスタンスを作ってサイトを立ち上げた後は、自分の持っているドメインを使いたくなるのが人情。さてさてどうするのかとおもっていると、Techinical FAXのIP Informationにやり方が載っていました。Dynamic DNSを使うようです。という事は、取得しているドメインのレジストラがダイナミックDNSに対応している必要があります。
ダイナミックDNS対応のレジストラでは、ValueDomainなどが安くて良いと思います。
使い方は、curlコマンドでIPを調べて、ValueDomianに送るだけです。
current_ipの部分にcurlコマンドの結果をセットしてください。DOMAIN、PASSWORD、HOSTはバリュードメインのダイナミックDNSの設定の仕方を参照してください。
#curl http://169.254.169.254/latest/meta-data/local-ipv4 #wget -O - -q "http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=${DOMAIN}&p=${PASSWORD}&i=${current_ip}&h=${HOST}
siraisiさんが公開している自動更新シェルを使うと楽で良いですよ。もしくは、DiCEなんかも良いかも
#!/bin/bash DOMAIN=example.com 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" ;; esac if [ "$errMsg" != "" ]; then echo $errMsg logger -p cron.error "Value-Domain DDNS Error: `date` $errMsg" fi
ダイナミックDNSの設定は、下記の記事を参考にしました。
VALUE DOMAINで独自ドメインを使ったダイナミックDNSを使う
Amazon EC2で個人サイトの作成、ボチボチ続けてます。