2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Azure App Services + Blob Storage + CDNで、WordPressを構築 / [1] 全体編

Last updated at Posted at 2020-05-30

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

と仮定しています。
architecture.png

つづき

それでは、以下のとおり、記事を分けて投稿していきます!

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?