【ノウハウMEMO】MovableType(個人版)を使ってウェブサイトを構築する on AWS(EC2) ついでにセキュア環境(常時SSL化)も

このサイトを構築するにあたり、どんな構成でサイトを構築するかを検討しました。
ワタシ自身は、サイト制作会社に勤め、フロントエンジニアとしてこれまで数百ものサイトを構築してきた経験を活かして構築します。

知識レベルとしては、フロント側(HTML/CSS/JS/CMS)に強く、バック側(サーバ)はいわゆる「黒い画面」をビビリながら参考資料片手に操作するといったカンジです。

この記事は備忘録の意味が強いのですが、同程度の知識レベルの方にはとても参考になるかも知れません。
「黒い画面」をなるべく丁寧に解説したいと思います。

バック側が弱いので、めちゃくちゃリスキーなことをしているかも知れないので、ほっとけないと思われた上級者の方は、もしよろしければコチラからご指摘いただければ。


では、サイト構築の概要から

サーバ

AmazonWebService(EC2)を使います。

ドメイン

ムームードメインで取得してDNSはそのままムームードメインを利用します。

ブログシステム

MovableType(以後MT)の個人版を利用します。

セキュア環境(SSL/TLS)構築

無料で使える証明書サービスである「Let's Encrypt」を利用します。


なんでAmazonWebService(EC2)?

これまで、仕事で構築させていただいたクライアントの多くは作業効率や管理コストなどを懸案して、「共用レンタルサーバ」を利用することが多かったので、今回自分でサイト構築するとなった場合でも、当然それらとの比較から入りました。
・初期コスト
・カスタマイズ性
・将来性
・学習コスト
これらを比較検討し、結果AWSを選びました。
共用サーバーは簡単で、複雑なことをやらないならホントに楽です。サーバ管理の知識もスキルもほとんど不要です。
その代わりちょっとしたことをやろうと思うと制限があって出来ないということが多いです。
特に後述するセキュア環境構築をするのに出来ないことが多かったので、選択から外れました。

AWSの場合は学習コストが最大のネックとなりました。なんせやったことがほとんど無いから。
ほぼゼロからサーバを構築することになるので、サーバ管理の知識/スキルが多いに必要です。

ただ、偉大なる先人達が残してくれたウェブサイトがたくさんあります。
それらからワタシの要件を満たす情報を探し、試し、トライ&エラーを繰り返して何とか構築にこぎつけました。
何度も諦めかけましたが、何とか出来るものです。


ムームードメインをなぜ選んだのか

国内のドメイン管理団体は、現状ほぼGMOグループに独占されています。
なのでどこを選んでもそんな大きな差は無いと言える状況です。
そんな中でなぜムームードメインを選んだのか。
決め手となったのは、取得したいと思ったドメインの「更新の価格」が安く、分かりやすく明記されていたから。
まぁ、正直どこでとっても同じ。好みとも言えるかも知れません。


なぜMovableTypeか

比較対象となるブログサービスはWordPress(以後WP)があります。
これからサイト運用をはじめようと思っている方にとっては、その特徴がよく分かっていない方もいるかも知れませんので簡単にザックリ説明すると...
・WPは動的(データベースが常時動く必要がある)
・MTは静的(データベースが動く必要があるのは管理画面操作と再構築の時だけ)
となります。

WPはデータベースが常時動いていないとダメなので、データベースに常に負荷がかかります。
アクセスが集中した際にサーバのマシンスペックが低いとその挙動に影響が大きく出ます。
データベースとウェブサーバの両方が正常に動作していないと、ウェブサイトは簡単に落ちたり、パフォーマンスが大きく下がります。

MTの場合、データベースを動かすのは管理画面を操作し、再構築を実施したタイミングだけ。
なのでデータベースへの負荷は最小限で、万が一データベースが落ちたとしても、静的なファイルが置いてあるウェブサーバが機能している限りは問題なくウェブサイトが機能し続け、表示スピードが大きく落ちるということが少ないです。
ウェブサイトを運営する上で、MTの方が「頑丈」だと言えます。
あと、誤解されがちですが、MTは個人で使用する限りは無料で使用することができます。


なんでセキュア環境を導入するのか

これからのSEOではセキュア環境(http「s」ではじまる暗号化されたページ)で構築されたページを検索エンジンは「信頼できるサイト」と見なし、検索結果で優遇するという正式なアナウンスが行われました。
これからウェブサイトを構築するならセキュア(常時SSL/TLS)環境の構築は必須と考えました。
このセキュア環境を簡易かつ無料にすることにより、普及を目指して偉大な先人達が開発してくださった、素晴らしい無料の証明書発行サービスが正式にスタートしています。
Let's Encrypt」というのがそのサービスです。

ある程度知識のある方にとっては、「簡単」という表現で多くの記事で紹介されています。
が、ワタシの様なサーバ管理の初心者にはカナリの難関でした。


次回以降

各フェーズに分けて詳しく記事にまとめていきます。
今後公開する予定のフェーズ

1.ドメインを取得する
2.AWS(EC2)でウェブサーバを立ち上げてみる
3.セキュア環境を構築する
4.サブドメインで複数サイトを構築する