生涯未熟

生涯未熟

プログラミングをちょこちょこと。

ELBによるtimeoutの罠

AWSには暗黙的な縛りが色々とありすぎて・・・

そんな中の一つ、ELBでのtimeoutについてのお話です。

ELBって?

簡単にELBの説明をば。

ELBはEC2のインスタンスと関連付けて簡単に負荷分散をしよーってな感じのシステムになります。(一般的にはロードバランサーと呼ばれてます)


詳しくはこちら

timeoutって?

これも簡単に言うと、クライアントがサーバにリクエストを投げて返ってくるまでを何秒待つか?の設定になります。

設定した時間以上になると白紙のページで返ってきちゃいます。
(多分ですけどエラーログにエラーが吐かれないことに注意)

で、どんな罠よ?

なんとELBにはデフォルトでtimeoutに60秒と設定されてます。
これが調べた限り公式に載ってないので質が悪い・・・


なので、php.iniやらhttpd.confやらの設定を変えてもレスポンス返すまでに60秒以上かかる場合は、白紙ページで返ってきちゃいます。

んじゃどうすんだよ!?

なんとAWSに連絡すればこの値変更できます。
フォーラムなりAWSサポートを契約しているなら、そっちから変更することができます。

ちなみに、サポートに公式の申請フォームがあるのかどうか聞いてみたんですが、どうも現状無いみたいです・・・


ってなわけでAWSのELBを使う際はこんな罠もありますので、皆様注意して下さいー!


参考URL:
Amazon ELBをうまくつかうには、KeepAliveを有効にしよう。Timeoutは60秒よりだいぶ長くしよう。その背景。 | debiancdn