MySQL 仮想マシンを基盤に Azure App Service 上で動作する WordPress アプリケーション
このポストは 1 月 4 日に投稿された WordPress on Azure App Service backed by MySQL Virtual Machines の翻訳です。
マイクロソフトは皆様からのフィードバックにお応えするために、Azure Virtual Machines 上で実行される MySQL データベース クラスターを基盤として、Azure App Service の Web Apps で動作する WordPress アプリケーションの作成を自動化するためのハイブリッド Azure Resource Manager (ARM) テンプレートを作成しました。そして今回このテンプレートが Azure Marketplace で公開されました。
このテンプレートの特徴は以下のとおりです。
- MySQL 5.6 サーバーをホストするために、Azure Virtual Machines に CentOS 6.6 が使用されています。
- GTID ベースのレプリケーションの構成とテストが行われています。
- Azure VNet で 2 ノードのマスター/スレーブ型 MySQL 構成がプロビジョニングされています。それぞれのノードが Raid 0 ストライピング用のデータ ディスク 2 台で構成され、Standard および Premium の両方のストレージ プランに対応しています。
- 2 台の VM の前面にロード バランサーがプロビジョニングされるため、VM がインターネットに直接接続されることはありません。MySQL および SSH ポートには、ネットワーク セキュリティ グループのルールに基づいてロード バランサー経由でアクセスします。
- 各 MySQL インスタンスに対して HTTP ベースの正常性プローブが構成され、MySQL の正常性を監視できます。
以下の図は、このソリューション テンプレートを Azure にデプロイした場合のアーキテクチャを示しています。
オープン ソースのデータ ソリューションを迅速に製品化する方法をお探しの場合は、無料試用版をお試しになり、Azure Marketplace で公開されている多様なソリューションをご検討ください。
ステップ 1
こちらをクリックしてデプロイするか、Azure ポータルの Marketplace で「WordPress using MySQL Replication Cluster」と検索します。
ステップ 2
WordPress using MySQL Replication Cluster のトップ ページで [Create] をクリックし、[Basics] ページで各パラメーターを入力します。ここでは、既存のリソース グループと新規リソース グループのどちらを選択することもできます。リージョンについては、Premium Storage を利用可能なリージョンを選択します。Premium Storage は一部のデータセンターでは提供されていません。その場合、Premium Storage を使用するには DS シリーズの VM を使用する必要があります。
ステップ 3
[WordPress information] ページで、提供されている料金レベルから Web サイトの SKU を選択します。このテンプレートは、Basic、Standard、Premium の各料金レベルに対応しています。さらに、Web Apps の Web サイト インスタンスのサイズを選択し、WordPress データベースのユーザー資格情報を入力します。WordPress データベースのユーザー資格情報には、強力なパスワードを設定してください。
ステップ 4
[Database cluster information] ページで、Virtual Machines のサイズとストレージ アカウントの種類を指定します。
- MySQL サーバーに一意の名前を付けます。完全な DNS 名は、<MySQL の DNS名>.<リージョン>.cloudapp.azure.com という形式になります。
- Virtual Machines のノード サイズを選択します。Virtual Machines の料金については、こちらのページでご確認ください。
- Azure Storage の命名規則に従って、一意の Azure Storage 名を指定します。次に、Azure Storage のアカウントの種類を選択します。データベース ノードに DS シリーズの VM を使用する場合は、Premium Storage のパフォーマンスを最大限に活用するために、ストレージ アカウントの種類を既定の [Standard-LRS] ではなく、[Premium-LRS] にすることをお勧めします。
- VM イメージおよび MySQL サーバーへのアクセスに使用するユーザー資格情報を入力します。
ステップ 5
仮想ネットワークの情報を入力します。ここでは、既存の仮想ネットワークを使用することも、仮想ネットワークを新たに作成することもできます。
ステップ 6
テンプレート用に入力したすべてのデータを確認します。
注: MySQL の Web サイト名、ストレージ名、ドメイン名は一意である必要があります。
ステップ 7
プライバシー ポリシーと使用条件を確認します。Web Apps および Azure Virtual Machines を利用するには、選択した料金レベルに応じて料金が発生します。 たとえば、Web Apps のサービス レベルを S2 (Standard、中サイズ)、Virtual Machines を D2 とした場合の推定コストは 565 ドルとなります。[Create] をクリックする前に、料金計算ツールを使用してコストを確認してください。
この Azure App Service 用テンプレートの改良に向けて、皆様からのご意見をお待ちしております。ぜひこちらのフォーラム (英語) までお気軽にご投稿ください。
トラブルシューティング
デプロイメントに失敗した場合は、ステップ 1 で指定したリソース グループを表示し、問題が発生したデプロイメントをクリックします。次に、問題が発生したデプロイメントを展開してスクロールし、原因となった最も古いイベントを特定して、詳細なエラー メッセージを確認します。
エラーが一時的なものである場合、または不正なパラメーターにより発生したものである場合、他のリソースがこのリソース グループに含まれていなければ、リソース グループ全体を削除してから再びデプロイすることもできます。
MySQL にアクセスする方法
MySQL サーバーへのアクセスにはパブリック DNS 名を使用できます。既定では、マスター サーバーには 3306 番ポート、スレーブ サーバーには 3307 番ポートからアクセスできます。また、既定では、ユーザー管理者にはリモート ホストからアクセスするためのすべての権限が付与されます。マスター サーバーにアクセスするためには、以下のようなコマンドを使用します。
mysql -h mysqldnsname.eastus.cloudapp.azure.com -u admin –p
MySQL コマンド ラインから上記のコマンドを実行すると、"mysqldnsname.eastus.cloudapp.azure.com" という DNS 名の MySQL サーバーのデータベースにアクセスできます。また、MySQL Workbench (英語) を使用してデータベースにアクセスすることもできます。Virtual Machines へのアクセスには SSH を使用します。既定では、2 台の VM のパブリック SSH ポートはそれぞれ 64001 および 64002 に設定されています。VM で以下のコマンドを実行すると、MySQL の正常性プローブを確認できます。ステータス コード 200 が返されれば、MySQL は正常です。
wget https://10.0.1.4:9200
wget https://10.0.1.5:9200
MySQL の正常性を監視する方法
MySQL の正常性を確認するには、MySQL プローブに HTTP クエリを発行し、ステータス コード 200 が返されるかどうかを確認します。以下のコマンドの DNS 名およびリージョンを変更して使用してください。
wget https://mysqldns.eastus.cloudapp.azure.com:9200
wget https://mysqldns.eastus.cloudapp.azure.com:9201
GitHub リポジトリ (英語) ではこの他にもテンプレートが公開されていますので、併せてご確認ください。
Comments
- Anonymous
January 11, 2016
The comment has been removed