Amazon CloudFrontのオリジンタイムアウトが変更できるようになりました
ども、大瀧です。
本日、CloudFrontのオリジンタイムアウトを変更できる機能が追加されました。解説します。
CloudFrontのオリジンタイムアウトとは
CloudFrontは、CDN(Content Delivery Network)としてWebサーバー(オリジンサーバー)が提供するコンテンツをキャッシュすることで、コンテンツ配信を高速化します。クライアントからリクエストを送ってレスポンスが返ってくるまでの流れを下図にまとめました。
オリジンタイムアウトとは、図の2および3にかかる設定値です。以下2種類があります。従来はいずれも固定値でしたが、今回のアップデートで変更できるようになりました。
- Origin Read Timeout : CloudFrontがオリジンからのレスポンスを待つ時間。初期値は30秒で、4〜60秒の間で秒単位で設定可能
- Origin Keepalive Timeout : CloudFront-オリジン間のTCP接続を持続させる有効時間。初期値は5秒で、1〜60秒の間で秒単位で設定可能
CloudFrontのオリジン設定の画面で設定します。
Origin Read Timeoutはオリジンでデータベースクエリなど時間のかかる処理をする場合に大きくすると良さそうです。Origin Keepalive Timeoutは特にオリジンプロトコルがHTTPSの場合、SSLセッションが持続でき処理効率の向上が期待できますが、世界中からアクセスのある環境や高負荷な環境ではオリジンに接続するエッジロケーションの台数が多くなりそうですので、オリジンのポート数やソケット数などに注意して検証しつつ調整するのが良いでしょう。
まとめ
CloudFrontのオリジンタイムアウトの変更設定をご紹介しました。あまり変更するケースは多くないかもしれませんが、頭の片隅に置いておくと役に立つことがあるかもしれません。
参考URL
- Configure Read Timeout and Keep-Alive Timeout values for your Amazon CloudFront Custom Origins
- Request and Response Behavior for Custom Origins - Amazon CloudFront (2017/03/31時点で日本語ページは今回のアップデートは未反映)
- CloudFrontをかますとキャッシュなしのAPIコールでも速くなるようだ - sonots:blog
- Amazon ELBをうまくつかうには、KeepAliveを有効にしよう。Timeoutは60秒よりだいぶ長くしよう。その背景。 | debiancdn