>freo> freoでCloudflareを運用

エントリー

freoでCloudflareを運用

  • 2014/07/12 20:08
  • freo

cf-logo.jpg

07/12 : 星評価(view/1716)にリンクをしましたが、
星評価サービスが終わってるっぽいので該当記事の削除とリンクを外しました。

Cloudflare(以下CF)ってなんぞ?というところから。
freoの機能にキャッシュってありますよね。
機能としてはそれと同じです。
負荷のかかる処理をキャッシュとして保持し、
Webサーバーで行う処理数を減らして高速化。

CFはウェブサーバーと閲覧者の間に入って、
ウェブサーバーのデータをCFがキャッシュとして保存。
そのキャッシュを閲覧者に見せることで高速化してます。
freoのキャッシュ機能との違いは画像やcss等もキャッシュできる点です。

メリット : 無料で使える

有料に比べて機能制限されているものの、
個人的なサイトであれば無料でも十分すぎる内容。

メリット : 転送量が抑えられる

4GB/dayほどの転送量がCFを使うようになり、
500~800MB/dayくらいにまで激減しました。
画像を多用するサイトではかなり効果が出ます。

メリット : Webサーバーの負荷が下がる

上記とかぶる部分ではありますが、
CFのキャッシュで閲覧者にコンテンツを提供できるので、
Webサーバーへのアクセスが減って負荷も落ちます。

キャッシュする内容(設定)にもよるんですが、
画像以外に記事のテキストデータなんかもキャッシュできるため、
PHPやデータベースが重い場合は体感速度はかなり上がります。

メリット : サーバーが落ちてもキャッシュされていれば表示できる

CFにキャッシュがある場合はWebサーバーが落ちていても、
閲覧者にコンテンツを提供できます。

メリット : 不正アクセス対策が標準装備

ハッカーからのアクセスをシャットアウトできます。
特に何もする必要はありません。
個人的に拒否したい人を追加することもできます。
IPでブロックしたり、国全体でブロックもできます。

デメリット : WEB関連知識がある程度必要

独自ドメインの取得や独自ドメインの設定、
freoのテンプレート編集など、
ある程度Web制作関連の知識が必要になります。

デメリット : どのサイトでも利用できるわけではない

独自ドメインを利用している人だけしか使用できません。
また、ネームサーバーなどの設定も合わせて必要になります。

デメリット : とにかくめんどくさい

英語表記のためイマイチわかりにくい。
設定は頻繁にいじるわけではないので最初だけではありますが。

記事を更新後すぐにブログに反映させたい場合は、
CFのコントロールパネルにアクセスして、
キャッシュをパージ(削除)する必要があります。
更新頻度が多いブログは毎回パージする必要があるので面倒。
自動でパージする機能もありますが最短設定にしても2時間毎です。

デメリット : CFが落ちるとサイトが表示されない

ごくまれではありますがCFが落ちる場合があります。
CFを経由してコンテンツを提供するため、
CFが落ちるとWebサーバーが生きてても表示されません。

デメリット : freoと相性が悪い

CFの設定(Custom caching)をCache everythingにした場合、
画像以外の記事もキャッシュされます。
PHPやMySQLの動作速度が原因で表示に遅延が発生している激重サイトは
Cache everythingにすると超高速表示になります。
できればこれを使いたいわけなんですが、freoと相性が良くない。

freoはPC用と携帯用でテンプレートが分かれてます。
先にPCでアクセスがあると、
PCのテンプレート表示がキャッシュされ、
携帯で見てもPCのテンプレートで表示されます。
PCと携帯でアクセスURLを変えるようにするか、
1テンプレートで両立できるレイアウトを考える必要があります。

有料契約するとモバイル用にURLを発行する機能があるので、
テンプレート問題は解決しますが月額20ドルです。
うん。無理。
それだけ予算があったら上位プランのサーバーにしますよ。

コメント投稿されても投稿前のキャッシュが表示されて、
投稿内容が表示されません。
投稿キープラグイン等を使用している場合も投稿キーがキャッシュされてしまうため、
認証がうまくいかなくなります。

Cache everythingで運用したい場合は、
javascriptで呼び出して使うコメントフォームや
自分のドメイン以外からメールフォームを呼び出すなどして、
キャッシュを回避する工夫が必要になる。

デメリット : サーバーログはCFだらけ

CFがWebサーバーにアクセスしてキャッシュを保持する関係で、
Webサーバーのアクセスの多くがCFのIPになる。
apacheなどのサーバーログでアクセス解析はできなくなります。
google analyticsといったタグ貼り付け型を使った解析は可能。

具体的な設定例

page rulesで設定します。
登録するページルールは2つ。

http://自分のドメイン.com/admin*
http://自分のドメイン.com/*

http://自分のドメイン.com/admin*
管理画面はキャッシュさせないようにする。
管理画面は記事の変更修正を行うため、 キャッシュされると面倒です。
キャッシュしないように設定してください。
Custom cachingを Bypass cacheに。

画像下のように、/admin*が上になるようにしてください。
上にあるほうが優先順位が高いので、admin以下のURLに対してバイパスし、
それ以外はキャッシュするように設定します。
adminが下だとキャッシュされちゃいます。

cfsetting.jpg

更新頻度の多いブログは
Browser cache expire TTLを短くする。
ブラウザに保存されるキャッシュの保持期間のこと。
この設定がが長いと記事を更新しても、
ブラウザのキャッシュを表示してしまい、
閲覧者には更新されていないように見えます。

キャッシュ保持期間内でも、
手動でブラウザのリロード(F5)を行えばキャッシュは更新されます。
どうせCFがキャッシュを保持してますし、
再アクセスされてもWebサーバーには大して負荷かかりません。
短めに設定したほうが何かと便利。
無料プランだと最短に設定しても30分保持されます。

Edge cache expire TTLはCFにキャッシュする保存期間。
1dayにすれば24時間CFにキャッシュが保存されます。
更新頻度が少ない人は長めに設定すると、
サーバーへのアクセスが減るため負荷は落ちます。

キャッシュは任意のタイミングで手動パージできるので、
毎回パージする手間を覚悟の上なら、
更新頻度が多いブログでも長めに設定したほうが負荷は下がります。
寝てる間とか更新してない時に何度もパージされても負荷増えるだけですし。

Rocket Loader(現在β版)は諸刃の剣。
javaスクリプト系が高速化されますが、動作しないものも出ます。
動いたり動かなかったり微妙なので使わないほうが吉。

freo機能の代替手段

キャッシュされてしまうとうまく機能しなくなるものがあります。
コメントフォームや投稿キープラグインです。

コメントフォーム
Disqus : https://disqus.com/
intensedebate : https://intensedebate.com/

国内ではDisqusを採用しているサイトがほとんど。
元々コメントフォームがブログに備え付けられてる関係で、
Disqusもあまり利用されてませんけどね。

強力なスパム排除能力と、画像をコメントに添付できたり便利な機能付き。
intensedebateのメリットを上げるとすれば、
名前のみで投稿可能ということ(コメント投稿にユーザー登録不要)。

Disqusの設置例は簡単にですが説明書いてます。

Web拍手
FC2拍手など。

メールフォーム
Googleフォーム : 設置解説
Mface メールフォーム : http://mailform.mface.jp/

上記のコメントフォームを連絡用に使用したり、
連絡先のメアドをサイト上に掲載するという方法もありますし、
メールフォームにこだわる必要はないんですが、
必要という人は外部サービスを利用してください。

最後に

重い場合は上位プランに移行するのが最も楽で確実な方法。
外部サービスに依存することなくそのままfreoの運営ができる。

とはいっても運営費は増大するため、最も難しい選択でもある。
夜の数時間のみ重いとか限定的な場合が多いので
なかなか上位プランに移る決心がつかないのが実情。

CFの初期設定やテンプレートやコメント投稿問題。
クリアしなければならない事柄はたくさんある。
妥協しなければならない部分も当然出てくる。

デメリットがあるのは百も承知で、とにかくコストは抑えたい!
っていう人はCFの導入を検討してみる価値はあるかもしれない。
このブログはCloudflareを使ってます。

ページ移動

コメント

コメント欄への投稿方法や内容につきましては、
記事へのコメント投稿についてを参考にしてみてください

コメント欄の投稿は公開されます。
非公開を希望する内容につきましては、みさきる!管理者へ連絡をお使いください。

comments powered by Disqus

ユーティリティ

スポンサードリンク

検索

カテゴリー

新着記事

    新着コメント

    スポンサードリンク

    つぶやき

    スポンサードリンク