Amazon CloudFrontの威力を少しだけ体験した話

こんにちは。今回は小ネタです。
先日公開した記事は多数の方にご覧頂き、ありがとうございました。

企業内でアウトプット文化を広めるためには
エンジニアブログ運営、発信者を増やす活動について悩みをつぶやいたところ、多数のコメントを頂戴しました。 素晴らしい意見を頂戴したので、今後の参考になればと思い記事としてまとめたいと思います。

公開初日(2022/10/17)には3200PVものアクセスがあり、これは個人サイトで発信活動を開始して26年にもなりますが過去最高です。最も多い時間帯(朝9時代)には380PV/時を観測しておりました。

実は本サイト、Amazon CloudFront配下でWordPressの環境自体はGoogle Cloudで稼働しています。

サーバはコストを抑えるためギリギリのスペックで動かしています。
それでも10PV/秒くらいは処理できるのではないかと想定しておりますが、多めのアクセスをどう処理できたのか、気になったので確認してみました。

確認結果

CloudFront:リクエスト数

ピーク時で27,500リクエスト/時(おおよそ8リクエスト/秒)
サーバ1台でも耐えられるものとは思いますが、CDN無しには一時的に動作が重くなっていた可能性はあるかと思います。

CloudFront:キャッシュヒット率

当サイトでは長年の経験を元に、アグレッシブなCloudFrontのキャッシュ制御を施して、極力CloudFrontにキャッシュして返答するように設定しています。

CloudFrontのキャッシュヒット率向上方法
WordPressサイトをCloudFrontにより配信する際、ヘッダやクッキーの設定が適切に行われていないとキャッシュにヒットせず、折角のCDNが活かせません。 CloudFront設定をチューニングしヒット率を上昇させる設定方法を記載します。

その結果、どうだったかというと

ピーク時でヒット率92.7%!
設定が正しかったことが証明されて嬉しいです。

CloudFront:データ転送量

CloudFrontで制御できた結果、概ね95%のトラフィックはCloudFront側から返答し、オリジン側から返答したトラフィックは概ね5%で有ることが確認できました。

CloudFront:応答コード

応答コードはというと、ピーク時でも5XXエラーはゼロですね。優秀。

CPU負荷

Google Compute EngineのCPU負荷はというと、ピークでも5.4%くらい。

まとめ

今回のように突然の大量アクセスが発生した場合にも備えて、個人サイトにおいてもCloudFrontなどCDNを入れると良いことが実証できました。

なお、本サイトではCloudFront自体の課金はゼロです(1TBの無料枠に収まっています)
別途AWS WAFを設定しておりますので、それで1000円/月くらいの課金が発生しておりますが。

皆様も是非ご利用ください。

コメント