なるほどわかった!Microsoft Azure で
Moodle!こだまリサーチ株式会社 テクニカル・エヴァンジェリスト
不破 崇行
こんにちは!
不破 崇行 ( ふわ たかゆき )こだまリサーチ株式会社所属 テクニカル・エヴァンジェリスト
• 開発から保守を担当しつつ、各種セミナー講演などを担当
• 社内では AWS/Azure 案件を担当しています
• クラウド / オンプレミスサービスを活用した教育 IT ソリューションを提供しています
今日のハンズオンの目的
• 「なるほどわかった!」と言ってもらうこと• クラウドサービスを通じて簡単な Moodle サイト構築を体験する• クラウドサービスの勘所を理解する
• 今回は Microsoft Azure( あじゅーる ) を使用しますが、他のクラウドサービスの話も極力絡めるようにします
お願い
• 今回は Microsoft Azure というクラウドサービスを使用します。• クラウドサービスの利用料は皆様各自で負担して下さい• Azure 登録後 2 ヶ月の無料枠で収まるようにします。
• ハンズオン後に使用した Azure 利用料につきましても、各自でご負担下さい。
• 「インスタンスの止め忘れ」などによる課金発生にご注意下さい
「クラウドサービス」とは?
• 小規模から大規模までのサーバ / ネットワークを簡単に構築することが出来る「サービスの総称」• 世界的には、 AWS(Amazon Web Services), Microsoft Azure などが有名
• 従来あった VPS, レンタルサーバのサービスを更に進化させたイメージ
クラウドサービスの良いところ( 主に AWS/Azure の場合 )• 「使った分だけお金がかかる」仕組み (Pay as you go)
• 仮想マシンの場合、起動させた「時間 (/h) 」とサーバスペックで決まります。• シャットダウンさせている時間は課金されません
• 伸縮自在 ( スケールアウト / スケールイン )• 「必要なときに」、「必要なときだけ」サーバを増やしたり減らしたり出来る• 台数を増やすことも出来るし、サーバのスペックを減らすことも可能
• ハードウェアの事を考えなくても良い• ハードウェア (HDD/SSD など ) は全てクラウドサービスが管理してくれる• このため高い耐障害性を誇る
• 高いセキュリティ• AWS/Azure の場合、データセンターは ISO27001 認定• オンプレミス環境よりもセキュアに管理されています。
Azure における Moodle の立て方
• “Azure VM”(Windows/Linux 仮想マシン ) を作成• 自分で Apache/PHP/MySQL をインストールします
• “Azure App Service” を使う• IIS, PHP などが既にインストールされている環境• Moodle のソースコードをアップするだけで動く• 昔のレンタルサーバを高機能にしたイメージ
• 今回は App Service を使用します。
今回の構築イメージと方針
• Web サーバ 1 台 + DB サーバ 1 台
• ソースコードは Moodle 公式サイトから git 経由で取得する• 最小構成で、後でスケールアウト出来
る設計を目指す WebサーバDBサーバ(MySQL)
実践! Azureここから実際に手を動かしていきます!
Azureポータルにログインする
• https://portal.azure.com で Azureポータルにログインする• ( 事前に Azure のサインアップが必要です )
App Service を作成
• Web サーバとなる、 App Serviceを作成します• 左側から
• 「 +新規」→• 「 Web+モバイル」→• 「 App Service 」
• の順番にクリックします
App Service の設定
作成したい Moodle の URL を設定( 自由入力。ただし重複は出来ない )
リソースグループを設定今回は”MoodleHandson”
料金プランを選択するなんでもよいここでは”MoodlePlan”
データセンターの場所を選ぶ今回は” Japan East” を選択
S1 Standard を選ぶ
App Service のデプロイ開始
• 最後に「作成」をクリックすると、デプロイが始まります。• Azure側で初期構築が行われ、数分で完了します。
App Service のデプロイが完了すると
•次のように表示されたら、完了です。
App Service の設定変更
• PHP のバージョンは「 PHP7 」を選択してください
Moodle のソースコードを取得してデプロイする
Moodle のソースコードを取得する
https://github.com/moodle/moodle.git
MOODLE_31_STABLE
git
外部リポジトリ
ソースコードデプロイ時の注意点
• デプロイ中は App Service の設定を変更しないで下さい• 高確率でデプロイに失敗します• デプロイに失敗した場合は、一度「切断」を行って再度デプロイしてください
データベースサーバ作成
• MySQL サーバは別で用意します。• App Service のメニューに「 MySQL( プレビュー ) 」という項目が
ありますが、試験稼働中のサービスなので今回は使用しません
• 今回は ClearDB というサードパーティー提供の MySQL DB を使用します。
データベースサーバ作成
MySQL データベース
データベースサーバ作成
「水星」を選択する( 今回は無料でいきます )
Titan以上のプランを使用する場合はクレジットカードの登録が必要です
データベースサーバ作成
「購入」をクリック
データベースサーバ作成と確認
•接続情報などを「プロパティ」から確認します。
Moodle インストール時に使用する設定情報
Moodle サイトへアクセスする
• これで一通り Moodle インストールの準備が出来ました• 「リソースグループ」から、最初に
作った App Serviceへ進み、 Moodleの URL を確認し、ブラウザでアクセスします。 「 URL 」の部分のアクセス
用の URL があります( 自分のドメインに変更することも出来ます )
Moodle上でインストーラを起動する
• Moodleへアクセスする際、「 http://」を「 https://」に置き換えてください• Azure 提供のドメインを使用する場合、無料で SSL接続を使うことが出来ます
Moodle上でインストーラを起動するmoodledata の設定• MySQL サーバを作成したと
きの設定を見ながら入力する
Moodle インストールDB サーバの設定• “Imploved MySQL( ネイティブ /mysqli)” を選択して「次へ」を
クリック
Moodle インストールDB サーバの設定• 「データベース名」
は、 Azure の「接続文字列」に書かれています。
•赤字の部分 (acsm~ ) の部分を「データベースユーザ」に入力してください
Database=acsm_18cc380993d746f;Data Source=ja-cdbr-azure-east-a.cloudapp.net;User Id=be9ddc27edbd0e;Password=685f87c5
Moodle インストールサーバチェック画面• 既に PHP の拡張機能は全て入っ
ているので、このまま使えます。
• 「次へ」は押さないでください!
Moodle インストール続きはコマンドラインで実行• サーバスペック (特に Free) を使用すると、インストールの途中で処理が停止してしまう可能性があります。• このため、タイムアウトが発生しない「コマンドライン」での実行に切り替えます。• この方法は Azure以外でも使えます。
Moodle インストール続きはコマンドラインで実行• 「 Advanced Tools 」を選択し、
「 Go 」をクリック
Moodle インストール続きはコマンドラインで実行• 「 Debug console 」の
「 CMD 」をクリック
Moodle インストール続きはコマンドラインで実行•赤枠の部分をクリックし、次のコマンド
を入力します。
•以上でインストール完了です。
php site\wwwroot\admin\cli\install_dabatase.php --lang=cs --adminpass=soMePass123 --agree-license
App Service のメリット
• 実行環境が全てそろっている• IIS と PHP などがインストール済みです。• ミドルウェアのバージョンアップは Azure が自動的に実施してくれます。
ハンズオン後の片付け
• 今回作成した App Service/ClearDB一式を削除する場合は「リソースグループ」を削除すると全て削除することが出来ます。
クラウドサービスの勘所とハマりポイント
学校におけるクラウドサービスの勘所
• 「伸縮自在」を有効活用する• 試験期間中や課題締め切り前などはスペックアップする• 逆に、夏休み・冬休み期間中はギリギリまでスペックを落とす
• 上手に「伸縮自在」をすることで、コストダウンを図ることが出来る。
3 月1 月 12 月9 月7 月 8 月4 月
スペ
ック
夏休みはスペックを下げる試験期間中はスペックを上げる
固定金額と従量課金、違いは?代表的なサービス メリット デメリット
月額固定サービス ・さくらの VPS・Serversman@VPS
・月額料金が明確になるため、料金を見積もりしやすい
・スケールアウトが出来ない( 出来ても OS インストールからやりなおしになる )
従量課金サービス ・ Azure・ AWS
・「使った分だけ」かかる・サーバ再起動だけでサーバスペックを増やす事が出来る・動画配信サービスなど機能が非常に多い
・月額料金に変動が発生する。
2016年 9 月 13 日時点での情報です
ハマりポイント
• うっかり使いすぎてしまった!• 通称「クラウド破産」• AWS の場合は「課金アラート」 (請求予定額が指定金額を超える ) を
設定することが出来ます。• Azure の場合は、サブスクリプション ( プリペイドのようなもの ) を使い切っ
たら自動停止するように設定出来ます。
• スケールアップには再起動を伴う• スケールアップには再起動を伴うため、授業中にスケールアップするのは運用上厳しい場合があります。
ありがとうございました!
•本日のハンズオンは以上です。• 今回のハンズオンが、先生方による円滑な授業運営に
お役に立てることを切に願っております。
• ご質問などありましたら、どうぞご遠慮なく不破までお問い合わせ下さい。• [email protected]
Top Related