この記事では、小規模から中規模の WordPress インストールのためのソリューションについて説明します。 このソリューションは、複雑な構成や管理の必要なしに、Azure プラットフォームのスケーラビリティ、信頼性、セキュリティを提供します。 大規模なインストール、またはストレージを集中的に使用するインストールのソリューションについては、「 Azure での WordPress ホスティング オプション」を参照してください。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
注意
特定の WordPress ホスティング方法に固有ではないヒントと推奨事項を実装することで、このソリューションを拡張できます。 WordPress インストールをデプロイするための一般的なヒントについては、「WordPress on Azure」を参照してください。
データフロー
このシナリオでは、Azure App Service 上で実行される WordPress のスケーラブルなインストールについて説明します。
- ユーザーは、Azure Web Application Firewall が有効になっている Azure Front Door を介してフロントエンド Web サイトにアクセスします。
- Azure Front Door は、WordPress が実行されている App Service Web アプリ全体に要求を分散します。 Azure Front Door は、WordPress Web アプリからキャッシュされていないデータを取得します。
- WordPress アプリケーションでは、サービス エンドポイントを使用して、Azure Database for MySQL のフレキシブル サーバー インスタンスにアクセスします。 WordPress アプリケーションは、データベースから動的な情報を取得します。
- Azure Database for MySQL に対するローカル冗長高可用性は、同じ可用性ゾーン内のスタンバイ サーバー経由で有効化されています。
- すべての静的コンテンツは、Azure Blob Storage でホストされます。
コンポーネント
App Service は、Web アプリを構築、デプロイ、スケーリングするためのフレームワークを提供するサービスとしてのプラットフォーム (PaaS) オファリングです。 このアーキテクチャでは、App Service によって WordPress アプリケーションがホストされます。
Azure Database for MySQL - フレキシブル サーバー は、オープンソースの MySQL データベース エンジンに基づくマネージド リレーショナル データベース サービスです。 このアーキテクチャでは、データベース オプションは WordPress データを格納します。
Azure DDoS Protection は、強化された DDoS 軽減機能を提供するネットワーク セキュリティ サービスです。 このアーキテクチャでは、DDoS Protection はパブリック IP アドレスに対する DDoS 攻撃に対する防御に役立ちます。
Azure Front Door は、最新のクラウド コンテンツ配信ネットワークとグローバル ロード バランサーです。 このアーキテクチャでは、Azure Front Door が Web ユーザーのアプリケーション エントリ ポイントです。
Azure Virtual Network は、デプロイされたリソースが相互、インターネット、およびオンプレミスネットワークと通信する方法を提供するネットワーク サービスです。 このソリューションでは、Azure App Service とバックエンド コンポーネントは、仮想ネットワーク内のプライベート接続を介してのみ到達できます。
Blob Storage は、スケーラブルで最適化されたオブジェクト ストレージ サービスです。 このアーキテクチャでは、Blob Storage は WordPress アプリケーションのすべての静的コンテンツをホストします。
ネットワーク セキュリティ グループ (NSG) は、 セキュリティ規則の一覧を使用して、送信元または送信先の IP アドレス、ポート、プロトコルに基づいて受信または送信のネットワーク トラフィックを許可または拒否するセキュリティ機能です。 このアーキテクチャでは、NSG ルールによって、サブネット内のアプリケーション コンポーネント間のトラフィック フローが制限されます。
App Service の WordPress テンプレートは、App Service で WordPress をホストするためのマネージド ソリューション テンプレートです。 このアーキテクチャでは、テンプレートは、App Service と、このセクションで説明する他の Azure サービスを含む事前構成済みの WordPress デプロイを提供します。
代替
- Azure Managed Redis を使用して、WordPress パフォーマンス最適化プラグインのキーと値のキャッシュをホストできます。キャッシュは App Service Web アプリ間で共有できます。
- Azure Front Door の代わりに、Content Delivery Network を使用して Web コンテンツをユーザーに配信できます。
シナリオの詳細
このシナリオ例は、WordPress の小規模から中規模のインストールに適しています。
考えられるユース ケース
- トラフィックの急増を引き起こすメディア イベント
- コンテンツ管理システムとして WordPress を使用しているブログ
- WordPress を使用するビジネスまたは eコマースの Web サイト
- 他のコンテンツ管理システムを使用して構築された Web サイト
考慮事項
これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「 Well-Architected Framework」を参照してください。
[信頼性]
信頼性は、アプリケーションが顧客に対して行ったコミットメントを確実に満たすことができるのに役立ちます。 詳細については、「信頼性の設計レビュー チェックリスト」を参照してください。
このソリューションをデプロイするときは、次の推奨事項を考慮してください。
- App Service には、組み込みの負荷分散と正常性チェックが用意されています。 これらの機能は、App Service Web アプリに障害が起きたときに可用性を維持するのに役立ちます。
- コンテンツ配信ネットワークを使用してすべての応答をキャッシュすると、可用性の面で少し恩恵が得られます。 具体的には、配信元が応答しない場合でも、コンテンツにアクセスが可能です。 ただし、キャッシュでは完全な可用性ソリューションは得られません。
- Blob Storage をペア リージョンにレプリケートして、複数のリージョン間でのデータ冗長性を確保できます。 詳細については、「Azure Storage の冗長性」を参照してください。
- Azure Database for MySQL の可用性を向上するには、同一ゾーン高可用性を有効にします。 この機能では、プライマリ サーバーと同じ可用性ゾーンにスタンバイ サーバーが作成されます。 同一ゾーン高可用性を有効にするには、General Purpose または Business Critical のコンピューティング レベルを使用する必要があります。 詳細については、ニーズに適した高可用性オプションに関するページを参照してください。
セキュリティ
セキュリティは、意図的な攻撃や貴重なデータとシステムの誤用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。
このソリューションをデプロイするときは、次の推奨事項を考慮してください。
- Azure Front Door 上の Azure Web Application Firewall を使用して、フロントエンド アプリケーション層に流れ込む仮想ネットワーク トラフィックを保護します。 詳細については、「Azure Front Door 上の Azure Web Application Firewall」を参照してください。
- データベース層からのアウトバウンド インターネット トラフィックは許可しないでください。
- プライベート ストレージへのパブリック アクセスは許可しないでください。
WordPress のセキュリティの詳細については、「WordPress のセキュリティとパフォーマンスに関する一般的なヒント」および「Azure セキュリティに関するドキュメント」を参照してください。
コストの最適化
コストの最適化では、不要な経費を削減し、運用効率を向上させる方法に重点を置いています。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。
このソリューションをデプロイする場合は、コストに関する次の考慮事項を確認してください。
- 想定トラフィック (GB/月)。 トラフィック量は、コストに最も大きな影響を及ぼす要因です。 受信するトラフィックの量によって、必要な App Service インスタンスの数と送信データ転送の価格が決まります。 トラフィック量は、コンテンツ配信ネットワークによって提供されるデータの量にも直接関連します。この場合、送信データ転送コストが安くなります。
- ホストされているデータの量。 Blob Storage でホストするデータの量を考慮することが重要です。 ストレージの価格は、使用容量に基づいています。
- 書き込み率。 どれだけの新しいデータを Web サイトに書き込み、Azure Storage でホストするかを検討します。 新しいデータが必要かどうかを判断します。 マルチリージョン デプロイの場合、Web サイトに書き込む新しいデータの量は、リージョン間でミラーリングされるデータの量に関連します。
- 静的コンテンツと動的コンテンツ。 データベース ストレージのパフォーマンスと容量を監視して、より安価な SKU がサイトをサポートできるかどうかを判断します。 データベースには動的コンテンツが格納され、コンテンツ配信ネットワークは静的コンテンツをキャッシュします。
- App Service 最適化。 App Service コストを最適化するための一般的なヒントについては、「Azure App Service とコストの最適化」を参照してください。
パフォーマンス効率
パフォーマンス効率とは、ユーザーの要求を効率的に満たすためにスケーリングするワークロードの能力を指します。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。
このシナリオでは、App Service で WordPress フロントエンドをホストします。 自動スケーリング機能を有効にして、App Service インスタンスの数を自動的にスケーリングする必要があります。 自動スケーリング トリガーを設定して、顧客の需要に対応できます。 また、定義されたスケジュールに基づいてトリガーを設定することもできます。 詳細については、「 Azure での自動スケーリングの概要」を参照してください。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Vaclav Jirovsky | クラウド ソリューション アーキテクト
その他の共同作成者:
- Adrian Calinescu | シニア クラウド ソリューション アーキテクト
公開されていない LinkedIn プロフィールを見るには、LinkedIn にサインインしてください。
次の手順
製品ドキュメント:
- Azure Front Door とは
- Azure Web アプリケーション ファイアウォールとは
- Azure Blob Storage とは
- Azure Database for MySQL - フレキシブル サーバー
- Azure Virtual Network とは
- Azure Key Vault について
- クイック スタート: WordPress サイトを作成する
- Azure DDoS Protection とは何か?
Microsoft トレーニング モジュール: