BLOG



201605_webserver.png今日は、池田です。

片手間ウェブ担当者にとって見るべきサーバー選定のポイントということで、全てを自分ではやらないにしても、実際のサーバー構成を紹介しながら、おさえておくといいポイントを挙げていこうと思います(ウェブ開発よりもウェブ制作向けです)。片手間と言ってしまっていますが、目を引くタイトルにしたかったというだけで、皆さんをばかにしているわけではないので、お気を悪くされないようお願いします。

さて、「片手間ウェブ担当者」であるあなたがウェブサイトを新しく運用することになった時、どのような手順を踏んで、公開に漕ぎ着けるでしょうか。例えば、会社の基本的な情報の他に、定期的にブログ記事を書き続けて、会社の認知を上げるというミッションを課されたとします。サーバーについて、どうしたらいいのか、すぐに分かるでしょうか。

icon始めはレンタルサーバー

まず、始まりとして簡単なのは、レンタルサーバーを使うことです。シナップでもCPIなどをよく利用しています。サーバーの調達までは難しいことはなく、提供元サイトの案内に従って、ウェブ上で契約を進めるだけで済みます。数十分で、「あなたのサイトのURIはこれこれで、ファイルをアップロードするにはこうしてください」というガイドを目にすることができるはずです。素晴らしいですね。

準備ができたら、サイト制作・運用のためのソフトウェアを検討しましょう(本当は、サーバーを借りる前にしましょう)。ここではCMSと呼ばれる物、特にMovable Typeを例にとって話を進めます。CMSの分野ではWordPressが最大のシェアを持つようですが、シナップでは主にMovable Typeを使っているため、ここでもMovable Typeにします。

ここで、WordPressとMovable Typeの大きな違いについて触れなくてはいけません。サーバー構成と直接関係ないように思われるかも知れませんが、後々影響してくるので、どうしても使っているソフトウェアの特徴は把握しておく必要があるのです。その違いとは、Movable Typeがファイルを書き出して保存する、という点です。

Movable Typeは管理画面で記事を作成すると、その内容がHTMLファイルとしてサーバー上に保存されます。閲覧者がサイトにアクセスした際には、サーバーは単にそのファイルを配信するだけです。WordPressの方は、アクセスがあると記事の内容をデータベースから取得し、管理者が設定した「テーマ」と組み合わせてHTMLを作成して、それを閲覧者に配信します。HTMLファイルを保存するようなことはしません。この方法は、閲覧者のアクセスによってコンテンツを組み立てるので「動的」「ダイナミック」と呼ばれます。反対にMovable Typeの方法は「静的」と言い、そうして作られたサイトを「静的サイト」と言ったりします。

(なお、Movable Type、WordPressそれぞれに、設定やプラグインで、ここでの説明と違う挙動を取らせることが可能です。)

さて、CMSを選んだら、Movable Typeの場合は購入して(詳細は省きます)、サーバーにインストールします。レンタルサーバーを選ぶ際には、Movable Typeが動作する要件を満たす必要がありますが、多くの場合は大丈夫でしょう。あとはファイルをアップロードして、インストール画面を表示し、指示に従っていくだけです。

これで、サーバー管理に関する部分はお仕舞いです。途中、Movable TypeとWordPressの違いを説明したため長くなりましたが、作業はあっという間ですね。後はデザインや記事の作成を行っていくことでサイトが公開できます。

iconメンテ不要、突然のアクセス増にも強いクラウドのウェブサイトホスティング

順調にあなたのサイトが成長していくと、ある時点で問題に遭遇します。サイトの表示が遅すぎるという物です。或いは、アクセスできない人すら出てくるかも知れません。

この原因は主に二通りあります。一つは、少しずつサイトの価値が高まっていて(おめでとうございます!)徐々にアクセスが増えてきたため、サーバーのキャパシティを超えてしまったこと。もう一つは、ニュースサイトのトップページに表示されたり、SNSでバズったりして、一時的にキャパシティオーバーとなってしまったことです。

前者の、徐々にアクセスが増えてきているというパターンでは、自身でも少しずつサイトが遅くなってきていることが実感できると思います。この後の節などを参考にしながら移行計画を立ててください。

後者の、突然のアクセス増には対応できません。関係各所の問い合わせや、閲覧者からの苦情に応えながら、収まるのをじっと待つしか無いのです。その上、閲覧できなかった人が多いということは多大な機会損失なので、事後にも気を沈ませる仕事が待っていることでしょう。

こういった状況に備えるのに効果的なのが、クラウドのウェブサイトホスティングサービスです。ファイルを置くだけでそれをレンタルサーバーと同様に配信してくれます。そのため、「(CMSを動かしている)サーバーに問題があってもサイトには影響がない」「サーバーのメンテナンスにそれほど気を遣ったりコストを払わなくてよい」というメリットがあります。

更に、事実上キャパシティオーバーがない、稼働率も非常に高いといった特徴まであります。急に予想しないアクセスが集まったとしても、特に何をすることもなく、サイトが閲覧可能な状態を維持できるのです。

ウェブサイトを静的なファイルの集まりとして制作できれば(わたしたちはMovable Typeを選んだのでしたね)、とても心強い存在です。具体的には、Amazon Simple Storage Service(S3)やGoogle Cloud Storage(GCS)、Yahoo!クラウドストレージといったサービスがこの機能を提供しています。これで、安心して長期休暇も取れるようになりますね。

Movable Typeには、ページを保存する際にS3へと保存できるプラグインがあるので、これを使うといいでしょう(シナップでも運用しています)。また、使ったことはないのですが、WordPressにもファイルを書き出すStaticPressというプラグインがあるようです。

icon柔軟性が確保したい時はクラウドサーバーやVPS

静的なサイトとは言っても、ランキング情報や賞品の在庫状況を数分おきに更新したり、コメント機能などを導入したかったりといった、何かしらの「動的」な部分への要求は生まれるものだと思います。こういう時には、いよいよ、CMSの他にも自分で「ウェブサーバー」「データベースサーバー」「スクリプト」などに立ち向かう必要が出て来ます。この辺りから片手間という設定が現実的でなくなってくるので、エンジニアや外注先と相談してください。ですが、彼等が何をしているかということを大まかに把握しておくことは、何かと役に立つはずです。

これは、レンタルサーバーが予め用意してくれていた物を、自分達で用意する必要がある、いわゆる「サーバー構築をする」ということになります。それと引き換えに、レンタルサーバー以上の柔軟な運用を確保できます(Movable Type for AWSのような、構築済みのサーバーを提供し、運用だけは自分たちで行うというソリューションも増えています。過去の「実際に使ってみてよくわかったMovable Type for AWSの特徴まとめ」という記事も参考にされてください)。

こうした運用で気を付けるべきは、サーバーのダウン(サイト閲覧不可)もそうですが、データの喪失です。よく一日単位などでデータのバックアップを取りますが、コメント機能などがある場合は、データが更新される(コメントが投稿される)タイミングがコントロールできないため、最多で一日分のコメント(バックアップ直後から次のバックアップまで)が失われることになりかねません。

これを防ぐために、データベース製品にはレプリケーション(複製)という機能が用意されています。データの更新があると、ほぼリアルタイムに別サーバーに複製を作るという機能です。当然、複製先のサーバーを用意する手間、コストが掛かります。しかし、単に思い至らずにレプリケーションをしないのと、検討の上そこは諦める判断をするのとでは大違いなので、必ず検討するようにしてください。もしエンジニアが何も言わない場合は積極的に確認しましょう。

また、クラウドでは手軽にスペックアップ(より性能のいいサーバーに切り替える)ができることがほとんどです。テレビで取り上げられることが分かっている、といった場合などにはその時間帯だけでも高性能なマシンを使うといいでしょう。最近ではVPSでもスペックアップが可能な物があります。

更に、オートスケールが用意されていることもあります。これは、負荷などの指標が一定の閾値を超えると、自動でサーバーが増え、サイトがダウンしないようにするという仕組みです。ウェブサイトホスティングとは違った方法で、突然のアクセス増に備えることができます。

途中、置いてきぼりになったこともあったかも知れませんが、サイト運用の際に、安定して閲覧者にコンテンツを届けるために気を付けるべきポイントを挙げてみました。参考になれば幸いです。