Azure Marketplace から Web アプリを作成する

Azure Marketplace では、オープン ソース ソフトウェア コミュニティよって開発されたさまざまな一般的な Web アプリ (WordPress や Umbraco CMS など) を提供しています。 このチュートリアルでは、Azure Marketplace から WordPress アプリを作成する方法について説明します。 ここでは、Azure Web アプリと MySQL データベースを作成します。

WordPress Wep アプリのダッシュボードの例

開始する前に

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

Azure Marketplace からデプロイする

Azure Marketplace から WordPress をデプロイするには、次の手順に従います。

Azure にサインインする

Azure Portal にログインします。

WordPress テンプレートをデプロイする

Azure Marketplace には、リソースを設定するためのテンプレートが用意されています。WordPress テンプレートの設定から始めます。

WordPress アプリとそのリソースをデプロイするには、次の情報を入力します。

WordPress 作成フロー

フィールド 推奨値 説明
アプリ名 mywordpressapp Web アプリの一意のアプリ名を入力します。 この名前は、アプリの既定の DNS 名 (<app_name>.azurewebsites.net) の一部として使用されます。そのため、Azure のすべてのアプリ間で一意である必要があります。 アプリをユーザーに公開する前に、カスタム ドメイン名をアプリにマップできます。
サブスクリプション 従量課金制 サブスクリプションを選択します。 複数のサブスクリプションがある場合は、適切なサブスクリプションを選択します。
リソース グループ mywordpressappgroup リソース グループを入力します。 リソース グループとは、Web アプリやデータベース、ストレージ アカウントなどの Azure リソースのデプロイと管理に使用する論理コンテナーです。 新しいリソース グループを作成するか、既存のリソース グループを使用できます。
App Service プラン myappplan App Service プランは、アプリをホストするために使用する物理リソースのコレクションを表しています。 場所価格レベルを選択します。 価格の詳細については、「App Service 価格レベル」を参照してください。
データベース mywordpressapp MySQL の適切なデータベース プロバイダーを選択します。 Web Apps では、ClearDBAzure Database for MySQL、および アプリ内 MySQL をサポートしています。 詳細については、次の「データベースの構成」セクションを参照してください。
Application Insights [オン] または [オフ] これは省略可能です。 [オン] をクリックすると、Application Insights による Web アプリの監視サービスが提供されます。

データベースの構成

MySQL データベース プロバイダーの選択に基づいて、次の手順に従います。 Web アプリと MySQL データベースは、同じ場所に配置することをお勧めします。

ClearDB

ClearDB は、Azure で MySQL サービスに完全に統合されたサード パーティのソリューションです。 ClearDB データベースを使用するには、クレジット カードを Azure アカウントに関連付ける必要があります。 ClearDB データベース プロバイダーを選択した場合は、既存のデータベースを一覧を表示して選択するか、[新規作成] ボタンをクリックしてデータベースを作成することができます。

ClearDB の作成

Azure Database for MySQL (Preview)

Azure Database for MySQL は、アプリの開発とデプロイを行うための管理されたデータベース サービスを提供します。このサービスでは、MySQL データベースを数分で起動し、最も信頼しているクラウドにすばやくスケールできます。 包括的な価格モデルによって、高可用性やセキュリティ、回復などの組み込みのすべての機能を追加コストなしで利用できます。 別の価格レベルを選択するには、[価格レベル] をクリックします。 既存のデータベースまたは既存の MySQL サーバーを使用するには、サーバーが存在する既存のリソース グループを使用します。

Web アプリ用のデータベース設定の構成

メモ

Azure Database for MySQL (Preview) と Web App on Linux (Preview) は、すべてのリージョンで利用できるわけではありません。 Azure Database for MySQL (Preview)Web App on Linux の制限事項については、該当するページを参照してください。

アプリ内 MySQL

アプリ内 MySQL は、MySql をプラットフォームでネイティブに実行できるようにする App Service の機能です。 機能のリリースでサポートされる主要な機能は次のとおりです。

  • MySQL サーバーは、サイトをホストする Web サーバーと同じインスタンスでサイド バイ サイドで実行されます。 これにより、アプリケーションのパフォーマンスが大幅に向上します。
  • 記憶域は、MySQL と web アプリ ファイルの間で共有されます。 Free プランと Shared プランでは、実行するアクションに基づいてサイトを使用する場合は、クォータ制限に達する可能性があることに注意してください。 Free プランと Shared プランのクォータ制限を確認してください。
  • MySQL の低速クエリ ログと全般的なログ記録をオンにすることができます。 これはサイトのパフォーマンスに影響を与える可能性があるため、常時オンにはしないでください。 ログ記録機能は、アプリケーションの問題を調査するために役立ちます。

詳細については、こちらの記事を参照してください。

アプリ内 MySQL の管理

WordPress のデプロイ中は、ポータル ページの上部にあるベル アイコンをクリックすることで、進捗状況を監視できます。
進捗状況インジケーター

新しい Azure Web アプリを管理する

Azure Portal に移動し、作成したばかりの Web アプリを表示します。

そのためには、https://portal.azure.com にサインインします。

左側のメニューで [App Services (App Services)] をクリックした後、Azure Web アプリの名前をクリックします。

Azure Web アプリへのポータル ナビゲーション

Web アプリの "ブレード" (水平方向に開かれるポータル ページ) が表示されます。

既定では、Web アプリのブレードは [概要] ページを表示します。 このページでは、アプリの動作状態を見ることができます。 ここでは、参照、停止、開始、再開、削除のような基本的な管理タスクも行うことができます。 ブレードの左側にあるタブは、開くことができるさまざまな構成ページを示しています。

Azure Portal の App Service ブレード

ブレードのこれらのタブは、Web アプリに追加することができるさまざまな優れた機能を示しています。 次の一覧では、ほんの一部の例を示しています。

  • カスタム DNS 名をマップする
  • カスタム SSL 証明書をバインドする
  • 継続的なデプロイを構成する
  • スケールアップとスケールアウトを行う
  • ユーザー認証を追加する

WordPress アプリを起動して実行するには、5 分で終了する WordPress インストール ウィザードに従います。 Web アプリの開発については、Wordpress のドキュメントを参照してください。

Wordpress インストール ウィザード

アプリの構成

WordPress アプリを運用環境で使用する前に、複数の管理手順を実行する必要があります。 次の手順に従って、WordPress アプリを構成して管理します。

目的 方法
大きいファイルのアップロードまたは保存 Blob Storage を使用するための WordPress プラグイン
電子メールの送信 SendGrid 電子メール サービスを購入し、SendGrid を使用するための WordPress プラグインを使用して構成します。
カスタム ドメイン名 Azure App Service のカスタム ドメイン名の構成
HTTPS Web アプリに対する HTTPS を Azure App Service で有効にします
運用前検証 Azure App Service で Web アプリのステージングと開発環境を設定します
監視とトラブルシューティング Azure App Service で Web Apps の診断ログ記録を有効にしAzure App Service で Web Apps を監視します
サイトのデプロイ Azure App Service で Web アプリをデプロイします

アプリをセキュリティで保護する

WordPress アプリを運用環境で使用する前に、複数の管理手順を実行する必要があります。 次の手順に従って、WordPress アプリを構成して管理します。

目的 方法
強力なユーザー名とパスワード パスワードは頻繁に変更してください。 adminwordpress のような一般的に使用されるユーザー名は使用しないでください。すべての WordPress ユーザーが一意のユーザー名と強力なパスワードを使用することを強制します。
常に最新にする WordPress のコア、テーマ、プラグインを最新の状態にします。 Azure App service で利用できる最新の PHP ランタイムを使用してください。
WordPress のセキュリティ キーの更新 WordPress のセキュリティ キーを更新して、Cookie に格納される暗号化を向上させます。

パフォーマンスを向上させる

クラウドのパフォーマンスは、主にキャッシュとスケール アウトに依存します。 ただし、Web Apps ホスティングのメモリ、帯域幅、その他の属性も考慮する必要があります。

目的 方法
App Service インスタンス機能について学ぶ App Service 階層 の機能と料金の詳細
キャッシュ リソース Azure Redis Cache を使用するか、Azure Store のその他のキャッシュ製品のいずれかを使用します。
アプリケーションのスケール Azure App Service で Web アプリと MySQL データベースをスケールする必要があります。 アプリ内 MySQL はスケール アウトをサポートしないため、ClearDB または Azure Database for MySQL (Preview) を選択してください。 Azure database for MySQL (Preview) をスケーリングするか、ClearDB High Availability Routing を使用してデータベースをスケールアップします。

高可用性と障害復旧

高可用性には、ビジネス継続性を維持するためのディザスター リカバリーの側面が含まれています。 クラウドのエラーや障害に備えるには、障害を短時間で見分ける能力が必要です。 これらのソリューションは、高可用性を実現するための戦略の実装に役立ちます。

目的 方法
サイトの負荷分散サイトの地理的な分散 Azure Traffic Manager を使用してトラフィックをルーティングします
バックアップおよび復元 Azure App Service で Web アプリをバックアップしAzure App Service で Web アプリを復元します

次のステップ

開発とスケールを行うための App Service のさまざまな機能について学習します。