スケーラビリティに優れた最適化された WordPress を数分で Azure でホストする方法
このポストは、9 月 15 日に投稿された How to host a Scalable and Optimized WordPress for Azure in minutes の翻訳です。
WordPress は、動的な Web サイトを数分で構築できる低負荷のコンテンツ管理システム (CMS) です。発展、改善を続ける最も一般的な CMS であり、単なるブログ プラットフォームに留まりません。
クラウド型プラットフォームには、その価値を最高に引き出す独自のベスト プラクティスがあるものです。WordPress サイトを LAMP 環境または WAMP 環境のスタック ソリューションで運用中で、これを Azure WebSites へと簡単に移行し、オートスケール、負荷分散、自己復旧などのクラウドのあらゆる恩恵を手に入れたいとお考えなら、もう探しまわる必要はありません。Azure WebSites ギャラリーで、最適化された WordPress を見つけることができます。
WordPress サイト運用のベスト プラクティスには、Azure WebSites プラットフォームならではの次の最適化の方法が含まれています。
- ž高性能な MySQL データベースを使用します。ClearDB の価格プランについては、こちら (英語) をクリックしてください。
- ž固定接続 (英語) で接続プールを使用して MySQL データベースへと接続します。同時に、ClearDB を備えたリモート MySQL データベース サービスを使用します。
- žWordPress サイトのメディア ライブラリ コンテンツの格納に Azure Storage (英語) を使用し、構成します。
- žWordPress.com ユーザーが使用できる Jetpack (英語) の強力な機能で、WordPress サイトを強化します。
- žオートスケール、ステージング発行、SSL、カスタム ドメイン、WebJob (WordPress のバックグラウンド処理または CRON ジョブに使用)、および WebSites のバックアップと復元機能を含みます。
以上のような最適化の方法が、スケーラブルな WordPress で使用できるギャラリー テンプレートにすべて含まれています。
このチュートリアルでは、ギャラリーからスケーラブルな WordPress を新たに作成する方法、および Azure WebSites で WordPress をホストするベストプラクティスに基づく最適化の方法を説明します。
Azure 管理ポータルで WebSites を作成する
- žAzure 管理ポータルにログインします。
- žダッシュボードの左下の隅にある [NEW] アイコンをクリックします。
- ž [Everything] リンクをクリックします。
- ž[Web] をクリックし、[Blogs+CMSs] カテゴリで [See All] を選択します。
- ž[Scalable WordPress]、[Create] の順にクリックします。
- ž [RESOURCE GROUP] にリソース グループ名を入力します。
- žWebSites の構成タブをクリックし、次の情報を入力します。
- žWeb サイト名
- アプリケーション設定。これは WordPress サイトのストレージ コンテナー名で、ここに WordPress メディア アップローダーでアップロードした画像や動画など、あらゆるメディア ライブラリ コンテンツを格納します。
- ホスティング プラン
メモ: このアプリケーションは、WebSites の Standard レベルにのみ対応しており、Shared、Basic、Free などの他の料金レベルでは使用できません。
- žリージョン
- ž[WEB APP SETTINGS] で、静的なメディア コンテンツを格納するためのフォルダーの名前を設定できます。
- ž[Database Configuration] をクリックし、次の情報を入力します。
- žデータベース名
- žリージョン
- žプラン
メモ: このアプリケーションは、推奨されるデータベース レベルの Saturn プラン、Jupiter プランにのみ対応しています。これより下のレベルのプランには対応していません。
- žここで ClearDB MySQL サービスの使用条項に同意します。
- žStorage の構成タブをクリックし、このリソース グループで使用する新規または既存のストレージ アカウントのいずれかのリンクをクリックします。このチュートリアルでは、このリソース グループに新規のストレージ アカウントを追加します。次の情報を入力します。
- žストレージ アカウント名
- ž場所
- ž冗長性の種類: 地理冗長、ローカル冗長
- ž[Diagnostics] を有効にします。
メモ: 選択できるのは、他のリソース (WebSites、Database と同じサブスクリプションのストレージ アカウントのみです。異なるサブスクリプションのストレージ アカウントでは無効になります。
- ž[SUBSCRIPTION] タブをクリックし、リソース グループの適切なサブスクリプションを選択し、最後に [Create] をクリックします。
これで、新しい WordPress サイトが Azure WebSites にデプロイされます。リソース グループの作成、およびこのグループの WebSites、Database、ストレージ リソースのプロビジョニングにかかる時間は数分です。通知セクションにデプロイが正常に完了したことが表示されたら、ダッシュボードで新規に作成したリソース グループ項目「WP-Group」をクリックすると、リソース グループの WebSites、Database、Storage が表示されます。
WordPress サイトに目を通し、ブラウザーから次の情報を入力して WordPress のインストール手順を完了させます。
- žサイトのタイトル
- ž管理ユーザー、パスワード注意 : セキュリティのベスト プラクティスとして、次のガイドラインに従ってください。
1. ユーザー名に「管理者」を使用しないでください。また、サイトへの不正な攻撃を避けるために、ユーザー名には異なる一意の文字列を使用してください。
2. サイトの管理ユーザーは強力なパスワードを使用してください。
- ž管理ユーザーの電子メール アドレス
- ž[Install WordPress] をクリックして、インストールを完了させます。これで WebSites を使用する準備が整いました。WordPress ダッシュボードにログインして、コンテンツの作成を開始できます。
トラブルシューティング
žAzure WebSites では、SMTP はサポートされていません。これについては、Azure ポータルから SendGrid の無料プランを入手できます。[Azure Gallery]、[App +Data services]、[Integration] カテゴリの [SendGrid] の順に選択すると、ご利用の WordPress サイトで電子メール機能を有効にできます。これには、SendGrid の認証情報による SendGrid プラグイン (英語) のインストールと構成も必要です。
- žSSL は既定では有効になっていません。WebSites に対して SSL を有効にする方法および WordPress 管理で SSL を使用する方法 (英語) の詳細については、それぞれのリンクをクリックしてください。
- žWordPress のマルチサイト機能は既定で有効になっていません。マルチサイト機能を有効にするには、WordPress マルチサイトの設定方法 (英語) を参照してください。
- žカスタム ドメインは Azure WebSites でサポートされています。詳細については、Azure WebSites でカスタム ドメインを構成する手順を参照してください。
- žオートスケールはサポートされていますが、既定では有効ではありません。有効にするかどうかは、ご利用の WebSites のトラフィックによってご検討ください。有効にして構成するのはわずか数クリックでできます。有効にすることで、Web サイトのトラフィックの必要性に応じてスケール アップまたはスケール アウトすることができます。詳細については、Azure WebSites の規模の設定方法を参照してください。
まとめ
現在、Azure WebSites サービスはトラフィック量の多い WordPress サイトを数多くホストしており、次の点に注力しています。
- ž容易なセットアップ : WordPress サイトのセットアップと稼動開始は 5 分以内に完了できます。
- ž高速 : WebSites のロードは非常に高速で、2 秒以内で完了します。
- žスケーラビリティ : スケーラビリティに優れ、1 か月に最大 100 万 ページ ビューを容易にサポートできます。
- ž稼働時間 : サーバーからご利用の端末のブラウザーへのコンテンツ配信を中断する原因はさまざまですが、Azure WebSites では 99.9% の稼働率を保証します。複数の Azure WebSites のセットアップには、Azure Traffic Manger (英語) の利用が大変便利です。これにより、複数の WebSites 全体で負荷分散を行い、高パフォーマンスおよび高可用性を実現します。
これで、コンテンツと Web サイトへのトラフィック管理に集中できるようになり、WordPress アプリケーションを Azure Websites で使用できるように構成することに頭を悩ませることがなくなりました。