実際に運用して遭遇した、Amazon EC2を使う上で極力避けるべきこと

春ですね。
そろそろ暖かくなってきたので、おっぱい出して外歩いてくれる美少女とか現れませんでしょうか。

さて、先月末の話ですが、人生三万日しかない[30thou]というwebサービスを公開しました。

一日が有意義だったかどうかを記録していくだけの単純な自己管理ツールですが、おかげさまで公開3週間で登録ユーザーは3000人を超え、現在も一日100人単位でユーザー数が増えています。

このサービスはAmazon EC2でホスティングしていますが、深夜12時以降にtwitterで自分宛にリプライして自己管理を促します。日中の稼動状況は穏やかなものですが、12時以降のピーク時に激しくアクセスが増加します。Microインスタンス1台のケチケチ設定で始めましたが、現在5台まで増やしてようやく安定稼動するようになりました。

サーバー構成としてはプロキシサーバ1台、webサーバ2台、DBサーバ2台(マスターとスレーブ、それぞれキャッシュサーバとcron処理も兼任)ですが、ピーク時の稼動状況を見るかぎりプロキシが次のボトルネックになりそうです。

ところで、Amazon EC2といえば独自の優れたオプションがありますね。
稼動状況を監視するAmazon CloudWatch、ロードバランサのElastic Load Balancing、負荷状況に応じて仮想サーバーを増減させるAuto Scalingなど。
私も当初は、負荷が増えてきたらこれらのオプションを使おうと思っていましたが、いざ使おうとした時に困ったことが起こりました。

事前の計画では、CloudWatchで稼動状況を監視、ピークタイムに負荷が増えたらサーバーがビジーになる前にAuto Scalingで仮想サーバーを増やし、Elastic Load Balancingでトラフィックを振り分ける・・・・という事を考えていましたが、

webサービスのurlにドメインそのもの(http://www.hoge.comのようなサブドメイン付きではなく、http://hoge.com)を使っていると、Elastic Load Balancingが利用できない

という事が判明しました。

しまったな・・・・と思いつつぐぐってみたら、モバツイが同じような事態に過去遭遇してましたね。アウアウ^q^

どういうことか具体的に説明しますと、

Elastic Load Balancingを使ってロードバランサを作成すると、Amazonからロードバランサのurlを割り当てられます。ロードバランサ自体は固定IPを持っていません。
このurlをDNSのCNAMEに登録するのですが、ドメインそのものにはIPしか登録できないので、現状のhttp://30thou.comというurlではElastic Load Balancingが使えません。

なんたるチーヤ。

CNAMEとかbind立てたことがある人はピンとくるでしょうが、簡単に説明すると、

DNSサーバーでホストとIPを紐付けする方法にはAレコードとCNAMEレコードがあり、AレコードにはIPアドレスを登録、CNAMEレコードにはホスト名やurlを登録できます。

Elastic Load Balancerでは固定IPではなくurlを割り振られるので、AレコードではなくCNAMEレコードにこれを登録するのですが、前述のとおりドメインそのものにはIPしか割り当てることができません(AレコードでIP指定したホストを割り当てることはできるのかな?)。

まあ、Amazon EC2の関連図書を見れば『Elastic Load BalancingはCNAMEにurlを割り当てて使う』旨が書いてありますし、頭のいい人はそれだけ読めば気付くんでしょうが、残念ながら私は気付きませんでした。くぎゅううううううううううううう。

www付きのurlに変更すれば利用できますが今更なのでこのまま行こうと思います。

EC2にTokyo Regionが出来たことや安価なMicroインスタンスがある事で今後Amazon EC2を使い始める人が増えるでしょうが、どうぞ私と同じ轍を踏まないようご注意ください。

【今日の教訓】
Amazon EC2の機能をフルで使いたければ、サービスのurlは必ずwww.等のホスト名をつけましょう。

広告

About 佐倉りおね子
世界制服。 / twitterクライアント「昼おっぱい」、webサービス「サーティーサウ[30thou]」、foursquareクライアント「位置的な彼女」とか作ったりしたけど作りたいものはまだ山のようにある。 / おっぱいー!俺だー!!結婚してくれーっ!!

2 Responses to 実際に運用して遭遇した、Amazon EC2を使う上で極力避けるべきこと

  1. 飯沼則雄 says:

    30thou.comをりようさせていただいてます。
    twitterのアイコンを変えたのですが、連動して変わらない模様です。
    また、このようなフィードバックをする場が見あたりません。
    ご検討いただけたら幸いです。よろしくお願いいたします。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。