Azure上でApp Serviceを利用し、アンケートアプリLimeSurveyを動かす

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

Microsoft Azure上でApp Serviceを利用し、アンケートアプリLimeSurveyを動かしてみました!
(LimeSurveyはアンケートの集計を主としたOSSアプリです)

App Serviceは導入が容易なWEBサーバという事で、近年注目を集めている技術です!
通常の仮想マシンではWEBサーバやphpなどなど色々セッティング行う必要がございますが、
このApp Serviceではクラウドのストレージにアプリをアップロードするだけで動作します!

システム構成

インスタンスは常に最低2つ稼働する様にし、可用性を確保しています。
データベースには「Azure MARKETPLACE」から「Mysqlデータベース」を利用します。
アプリのデプロイ先は「OneDrive」です。
cap 2016-04-15 11.27.14

仮想マシンの構成

App Service プランStandard 2S
.NET Frameworkv4.6
PHPバージョン5.6
プラットフォーム64bit

導入手順

リソースグループ作成

まず初めにリソースグループを作ります。
作り方は、以下の通りです。
①画面左の「リソースグループ」を選択し、「追加」を押下します。
②リソースグループの情報を入力します。

リソースグループ名任意の名前を入力します。
サブスクリプション登録してあるサブスクリプションを選択してください。
リソースグループ場所自分の住んでいる地域を選択してください。今回は「東日本」にします。

cap 2016-04-15 11.31.03

AppsServiceにWEBアプリ追加

続いてAppsServiceにWEBアプリを追加します。

作成方法は、以下の通りです。
①画面左のAppServiceを選択し、追加」を押下します。
②WEBアプリ情報を入力します。

アプリ名任意のアプリ名を入力します。
サブスクリプションリソースグループと同じにしてください。
リソースグループ先ほど作成してものにしてください。
AppServiceプラン環境に合わせて性能を選択してください。(今回はStandard S2を設定します。)

③「作成」を押下します。
cap 2016-04-15 11.36.12

アプリケーションの設定

アプリケーションの設定を行います。
①先ほど作成した「AppService」から、先ほど作成したWEBアプリを選択します。
②「すべての設定」⇒「アプリケーションの設定」に遷移します。
cap 2016-04-15 11.38.38
③全般設定から以下の値に設定します。

.NET Frameworkv4.6
PHPバージョン5.6
プラットフォーム64bit

cap 2016-04-15 11.41.27

アプリのアップロード設定

アプリのアップロード設定を行います。
①WEBアプリの設定から「継続的なデプロイ」を選択します。
cap 2016-04-15 11.45.42
②アップロード先を選択します。

ソースの選択OneDrive

cap 2016-04-15 11.47.36
③OneDriveのログイン情報を入力します。

承認OneDriveのログインIDを入力します。
フォルダーは選択WEBAPPS名が選択可能なので、そちらを選択します。

④「OK」を押下します。

上記手順で、OneDriveにアップロード用のフォルダが出来上がります。
cap 2016-04-15 11.50.08

OneDriveにアクセス

先ほど登録したOneDriveにアクセスします。
①「ファイル」⇒「Apps」⇒「Azure Web Apps」に移動します。
②その配下に先ほど作成されたフォルダが作成されているので、そちらにアプリをアップロードします。
(※一度に大量にアップロードするとブラウザが落ちることがあります・・・)

今回のLimeSurveyは約8000ファイル程度で100MB程度ありました。
ブラウザが落ちることによる失敗回数が多かった&フォルダを小分けしてアップロードしていたことが重なり、
最終的なアップロード完了には3時間程度を要しました。
cap 2016-04-15 11.52.10
③デプロイ画面より「同期」を押下します。
少し時間を置くと同期が完了します。
cap 2016-04-15 11.53.04

データベース作成

続いてLimeSurveyで使用するDBを作成します。
App Serviceは大きなWEBサーバにコンテンツを置く許可をもらっているようなイメージなので、それ自身にデータベースを作れません。
データベースを利用する為には、「MARKETPLACEのサービスを利用する」又は「データベース用の仮想マシンを作りそこにアクセスする」という事になります。
今回は「MARKETPLACEのサービスを利用する」を選びます。

①画面左の「新規」を押下し、「Mysqlデータベース」を検索します。
cap 2016-04-15 11.54.46
②選択すると「データベース名」や「サブスクリプション名」を決められるので、
環境に応じて対応します。今回は以下の構成でいきます。

データベース名limesurvey-data
サブスクリプション名ここまでと同じ
データベース種類共有
リソースグループここまでと同じ
場所東日本
価格レベル水星

価格レベルは後から変更することもできますが、
少し手順が複雑なので余裕のあるサイズを選択することをお勧め致します。
cap 2016-04-15 11.58.06
③「作成」を押下し、DBが出来上がります。
接続情報はデータベースを選択し、「全般」⇒「プロパティ」の中でご確認ください。
cap 2016-04-15 11.58.56

自動スケール設定

自動スケールを設定します。
アクセスが集中したり、サーバが落ちた場合でもサービスが継続できるように自動スケールを設定します。

①「App Service」から対象のサービスを選択し、
「すべての設定」⇒AppSERVICEプランより「スケールアウト」を選択します。
cap 2016-04-15 11.59.56
②スケール基準は「cpu Percentage」を選択します。

インスタンス下限を2、上限を5としました。
対象範囲下限を30、上限を45としました。

この設定の意味としては、
インスタンスのCPU稼働率を30~45%に収めるように、
インスタンスの数を2~5の間で増減させるという意味になります。

③「保存」を押下し、設定完了です。
cap 2016-04-15 12.02.15

LimeSurveyへアクセス

いよいよLimeSurveyにアクセスします。

①LimeSurveyのURLにアクセスします。

URLは「AppsServiceのURL」+「/index.php?r=installer/welcome」になります。
今回の環境ですと、以下の通りです。
https://limesurveynew.azurewebsites.net/limesurvey/index.php?r=installer/welcome
cap 2016-04-15 12.03.52
②言語は日本語にして、次に進みます。
cap 2016-04-15 12.04.44
③ここまで順番にやっていればエラーなく進むはずです。
cap 2016-04-15 12.05.20
④データベース情報は「Mysqlデータベース」から「全般」⇒「プロパティ」の中でご確認ください。
cap 2016-04-15 12.06.09
⑤「データベースを作成する」を押下します。
cap 2016-04-15 12.06.52
⑥管理者名・パスワードは決めましたら、忘れないようにメモしてください。
cap 2016-04-15 12.07.41
ここまででインストールは成功です。
⑦「管理」を押下するとログイン画面に進みます。
cap 2016-04-15 12.08.26
⑧ログインしてみましょう。
cap 2016-04-15 12.09.04
これでAppServiceにてLimeSurveyが利用できるようになりました!
cap 2016-04-15 12.09.51

アバター画像
About 荒俣 15 Articles
認証基盤、データベース構築、ID管理システム担当。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる