Microsoft Azure上でApp Serviceを利用し、アンケートアプリLimeSurveyを動かしてみました!
(LimeSurveyはアンケートの集計を主としたOSSアプリです)
App Serviceは導入が容易なWEBサーバという事で、近年注目を集めている技術です!
通常の仮想マシンではWEBサーバやphpなどなど色々セッティング行う必要がございますが、
このApp Serviceではクラウドのストレージにアプリをアップロードするだけで動作します!
システム構成
インスタンスは常に最低2つ稼働する様にし、可用性を確保しています。
データベースには「Azure MARKETPLACE」から「Mysqlデータベース」を利用します。
アプリのデプロイ先は「OneDrive」です。
仮想マシンの構成
App Service プラン | Standard 2S |
---|---|
.NET Framework | v4.6 |
PHPバージョン | 5.6 |
プラットフォーム | 64bit |
導入手順
リソースグループ作成
まず初めにリソースグループを作ります。
作り方は、以下の通りです。
①画面左の「リソースグループ」を選択し、「追加」を押下します。
②リソースグループの情報を入力します。
リソースグループ名 | 任意の名前を入力します。 |
---|---|
サブスクリプション | 登録してあるサブスクリプションを選択してください。 |
リソースグループ場所 | 自分の住んでいる地域を選択してください。今回は「東日本」にします。 |
AppsServiceにWEBアプリ追加
続いてAppsServiceにWEBアプリを追加します。
作成方法は、以下の通りです。
①画面左のAppServiceを選択し、追加」を押下します。
②WEBアプリ情報を入力します。
アプリ名 | 任意のアプリ名を入力します。 |
---|---|
サブスクリプション | リソースグループと同じにしてください。 |
リソースグループ | 先ほど作成してものにしてください。 |
AppServiceプラン | 環境に合わせて性能を選択してください。(今回はStandard S2を設定します。) |
③「作成」を押下します。
アプリケーションの設定
アプリケーションの設定を行います。
①先ほど作成した「AppService」から、先ほど作成したWEBアプリを選択します。
②「すべての設定」⇒「アプリケーションの設定」に遷移します。
③全般設定から以下の値に設定します。
.NET Framework | v4.6 |
---|---|
PHPバージョン | 5.6 |
プラットフォーム | 64bit |
アプリのアップロード設定
アプリのアップロード設定を行います。
①WEBアプリの設定から「継続的なデプロイ」を選択します。
②アップロード先を選択します。
ソースの選択 | OneDrive |
---|
③OneDriveのログイン情報を入力します。
承認 | OneDriveのログインIDを入力します。 |
---|---|
フォルダーは選択 | WEBAPPS名が選択可能なので、そちらを選択します。 |
④「OK」を押下します。
上記手順で、OneDriveにアップロード用のフォルダが出来上がります。
OneDriveにアクセス
先ほど登録したOneDriveにアクセスします。
①「ファイル」⇒「Apps」⇒「Azure Web Apps」に移動します。
②その配下に先ほど作成されたフォルダが作成されているので、そちらにアプリをアップロードします。
(※一度に大量にアップロードするとブラウザが落ちることがあります・・・)
今回のLimeSurveyは約8000ファイル程度で100MB程度ありました。
ブラウザが落ちることによる失敗回数が多かった&フォルダを小分けしてアップロードしていたことが重なり、
最終的なアップロード完了には3時間程度を要しました。
③デプロイ画面より「同期」を押下します。
少し時間を置くと同期が完了します。
データベース作成
続いてLimeSurveyで使用するDBを作成します。
App Serviceは大きなWEBサーバにコンテンツを置く許可をもらっているようなイメージなので、それ自身にデータベースを作れません。
データベースを利用する為には、「MARKETPLACEのサービスを利用する」又は「データベース用の仮想マシンを作りそこにアクセスする」という事になります。
今回は「MARKETPLACEのサービスを利用する」を選びます。
①画面左の「新規」を押下し、「Mysqlデータベース」を検索します。
②選択すると「データベース名」や「サブスクリプション名」を決められるので、
環境に応じて対応します。今回は以下の構成でいきます。
データベース名 | limesurvey-data |
---|---|
サブスクリプション名 | ここまでと同じ |
データベース種類 | 共有 |
リソースグループ | ここまでと同じ |
場所 | 東日本 |
価格レベル | 水星 |
価格レベルは後から変更することもできますが、
少し手順が複雑なので余裕のあるサイズを選択することをお勧め致します。
③「作成」を押下し、DBが出来上がります。
接続情報はデータベースを選択し、「全般」⇒「プロパティ」の中でご確認ください。
自動スケール設定
自動スケールを設定します。
アクセスが集中したり、サーバが落ちた場合でもサービスが継続できるように自動スケールを設定します。
①「App Service」から対象のサービスを選択し、
「すべての設定」⇒AppSERVICEプランより「スケールアウト」を選択します。
②スケール基準は「cpu Percentage」を選択します。
インスタンス | 下限を2、上限を5としました。 |
---|---|
対象範囲 | 下限を30、上限を45としました。 |
この設定の意味としては、
インスタンスのCPU稼働率を30~45%に収めるように、
インスタンスの数を2~5の間で増減させるという意味になります。
③「保存」を押下し、設定完了です。
LimeSurveyへアクセス
いよいよLimeSurveyにアクセスします。
①LimeSurveyのURLにアクセスします。
URLは「AppsServiceのURL」+「/index.php?r=installer/welcome」になります。
今回の環境ですと、以下の通りです。
https://limesurveynew.azurewebsites.net/limesurvey/index.php?r=installer/welcome
②言語は日本語にして、次に進みます。
③ここまで順番にやっていればエラーなく進むはずです。
④データベース情報は「Mysqlデータベース」から「全般」⇒「プロパティ」の中でご確認ください。
⑤「データベースを作成する」を押下します。
⑥管理者名・パスワードは決めましたら、忘れないようにメモしてください。
ここまででインストールは成功です。
⑦「管理」を押下するとログイン画面に進みます。
⑧ログインしてみましょう。
これでAppServiceにてLimeSurveyが利用できるようになりました!