Azureで安くWordPressを構築
先日、Azureのいくつかのサービスを組み合わせて、WordPressを構築する、という作業をしました。
そこで備忘録も兼ねて、投稿してみます。
メインの部分としては、
- Azure App ServiceのWebアプリを作り、WordPressをインストール
- Azure CDNをフロントエンドにおくことで、
- SSL化を実現
- カスタムドメイン(独自ドメイン)を実現
- アクセス過多でのサーバーダウンを防止
といったことを実現できます。
このアーキテクチャについては、「のりじ」さんのブログの下の記事から学びました。
かなり詳しく解説されていますので、App ServiceからCDNまでの流れについては、補足程度にしたいと思います。
WebApps + Azure CDNを使い年間1,000円程度で独自ドメイン・SSL対応済み高負荷対策なWordPressサイトを 作ってみた話。
プラスαで行ったこと
ここまでのところで、大枠は書いたようなものですが、実際に運用するには、もう少し工夫したいところがあり、その理由から書きましょう。
WordPressの管理画面へ入りにくい -> CDNの設定を変える
CDNは、キャッシュを保存して配信する仕組みなので、ユーザーごとにページが変わるようなものは向いていません。
つまり、WordPressの管理画面も、そのままCDNを経由すると不都合が生じます。
そのために、Azure CDNのルールエンジンを設定してあげます。
Web Appsのストレージ容量 -> Blob Storageを使う
Azure App Serviceの安いプランは、まず1つはCPUの1日あたりの時間制限で、これはCDNを使えば回避できました。
もう1つはストレージの容量で、データベースを別に用意せずに、MySQL In Appだと、1GBしかストレージしかありません。
そこで、Azure Blob Storageを使います。Azure Blob Storageは従量課金でのストレージサービスです。
オリジンサーバーへの直接アクセス -> IP制限をする
CDNのエンドポイントをフロントに置くだけでは、WordPress本体のあるオリジンサーバー(配信元サーバー)へ、誰でも自由にアクセスできてしまいます。
これを解消するためには、Web App側にて、CDNのPOPサーバーからのアクセスのみを許可し、それ以外からのアクセスを禁止しておく必要があります。
最終的には、
以下のようなアーキテクチャを目指します。
ここでは、
- Web Appのオリジンサーバーは、cotoso.azurewebsites.net
- CDNのエンドポイントは、www.cotoso.com
つづき
それでは、以下のとおり、記事を分けて投稿していきます!
- [2] Azure App Service + CDNでWordPressを構築する
- [3] Azure Blob StorageをWordPressで利用する
- [4] Azure CDNのPOPサーバーを取得し、Azure Web AppsのIP制限を自動で構成する <作成中>