私がブログにMaxCDNとGhostを利用するワケ

アクセス集中問題を回避するため、私はこのブログにMaxCDNを利用しています。「Slashdot効果」とか、GawkerTechcrunchなどのIT系ブログからリンクされるとどんな影響があるか、ということについてはよく理解しているつもりです。それどころか、ここ数年アクセス数の多いブログをいくつか運営してきた中で、私はアクセス集中に対処するノウハウを実地で身に着けてきました。それがブログ管理においての一番の問題だからです。CDNはそのようなアクセス集中問題に備える手段として優れています。

“単なる”ブログ

WordPressは単なるブログプラットフォーム以上のものだと多くのWebマスターやブロガーが言います。WordPressで成功したサイトは多く雑誌化されていますし、ブログを訪れる人たちにも大量の有用な情報を送り出しています。これ自体には何の問題もなく、いいことだと思います。ただ私が心配なのは、それまで特に人気のなかった平凡なサイトに対して突然アクセス集中が始まり、その対策としてより良いソリューションに乗り換えなくてはいけなくなる場合です。

でもApexドメインはちょっと

このブログもそうですが、多くのブログはRaw IPから配信されています。DigitalOceanを利用すればCMSサーバに転送してくれます。下記のようにあなたのドメインを指定してやればいいのです。

mydomain.com -> 123.123.123.123

この場合mydomain.comApexドメインとして知られています。そのままでも問題ないことが多いですが、CDNでプロキシ設定をしたほうがいいかもしれません。大量のコンテンツを配信している場合や、あなたのサイトが人気のあるブログからリンクされていて、そこを経由して多くのアクセスがある場合などは、CDNはとてもいい選択だと言えます。私の場合はblogというCNAMEを設定して、MaxCDNがホストするCDNのPullゾーンを指し示すようにしています。

これでblog.higg.imと、HTMLページ自体を含む全てのアセットがMaxCDNの高速CDNを経由するよう設定できました。これで閲覧者は電光石火の速さでブログをブラウズできます。また、ブログ閲覧者が世界のどこにいるかを判断することにより、image、html、cssやjsなど全てが超高速にロードされます。例えば私はアイルランドにいるので、MaxCDNのロンドン/ヨーロッパデータセンタからページが配信され、アメリカの閲覧者ならアメリカのサーバから配信されます。

以前、私はドメインをApexではなくすることについて投稿しました。Apexでないドメイン(つまり、mydomain.comのようなドメインではなくて、www.mydomain.comのようなドメイン)が望ましいのには理由があります。CNAMEや「サブドメイン」といったソリューションのほうがWebサイトのホスティングに適しています。静的なHTMLページをCDNを介してプロキシ経由するのは、特にブログがそもそも静的なHTMLページを生成する場合(Ghostで運営しているこのブログのような場合)、大したことではありません。

C.R.E.A.M-キャッシュは私の周りの全てを支配する

非常に多くのWordPressブログがPHPエンジン自体を介して配信されています。各ページは閲覧者ごとに再構築され、PHPのテンプレートエンジンを経由しなければならないのです。適切なキャッシングを行い、もう少し手をかければ、画像やJavaScriptファイルなどの他の静的なアセットと同じような方法でページをキャッシュに入れて配信することができます。

WordPressでも同じことができますが、処理が込み入っていて、どのようにWebページが配信されるかについてもっと微妙な知識を要求されます。閲覧者がcPanelやダッシュボード、PHPコードなどから切り離されるように、WordPressのダッシュボード領域をブログ自体と分けるのに苦労したのを覚えています。Googleもアセットがどこかにまとめられているサイトはホットリンクされていると見なして嫌っています。私は意識的にWordPressから離れることを決めました。WP EngineのようなソリューションはWordPressホスティングに理想的だと心から信じています。サーバの魔術は全てそういったソリューションに押しつけることができるからです(WP Engineはマネージドソリューションです)。WordPressホスティングを行うつもりなら、その辺をうまくやったほうがいいと思います。

注目サイト: