よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

当たり前だけどElastic IPにもURLは割り振られるよ

EC2を起動した時にはそのサーバにアクセスするためのURLが割り振られます。

Elastic IP(固定IP)については、ManagementConsole上での表記がURLではなくIPアドレスのみとなっていますよね。

で、普通に考えるとElastic IPにもURLは割り振られるだろうというのは予想できますが、念の為に確認してみたところ、想像通りでした。

 

ちなみに何故調べようと思ったかというと、先日、HerokuのShared Postgresが以下のようなエラーを返すようになり、サービスダウンしたようで、その時にHerokuのDB接続情報に関する表記を見たのがきっかけでした。

 

Sql could not translate host name "ec2-123-45-67-89.compute-1.amazonaws.com" to address: Name or service not known
 
※Herokuの SQL DaaS からDB接続情報を確認すると以下のようになっています。

 

f:id:interu:20121207153521p:plain

 

これをみて、「Elastic IPを使っていないのかっ!?」と一瞬思いました。

で、もしこのインスタンスがハングって別インスタンスを起動してリカバリしないといけない状況だとしたら、Heroku側のオペレーターが情報を書き換えてくれるまでどうしようもないのか!?という考えが脳裏をよぎり・・・。

Herokuのことなのでそんな仕組みにはしないだろうとは思いましたが、念の為に確認したところやはりElastic IPにもURLは割り振られていました。URLというかDNSの設定と言ったほうが正しいですかね。

なので、記載がURLであってもElastic IPを利用しているかもしれないということです。これで一安心ですね。

 

上記の障害については、障害発生してから20分後にはShared Postgresが復旧しました。Shared Postgresが別インスタンスでリカバリしたのか、同一インスタンスでShared Postgresがリカバリしたのかは確認するすべがなかったので定かではありませんが。。。

 

最後に1点だけ疑問点が残りました。

それは、「何故HerokuはわざわざURLを利用しているのか」というものです。

DNSの正引きをしない直IPの方が、耐障害性も上がるし、正引きの時間も無視できるのに。

まぁ、かなり細かいことでほとんど無視してもいいレベルのことですが、気になってしまいました。詳細を知っているという人がいましたら、教えてくださーい。