なるほど分かった!Microsoft AzureでMoodle!

Preview:

Citation preview

なるほどわかった!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 の場合は、サブスクリプション ( プリペイドのようなもの ) を使い切っ

たら自動停止するように設定出来ます。

• スケールアップには再起動を伴う• スケールアップには再起動を伴うため、授業中にスケールアップするのは運用上厳しい場合があります。

ありがとうございました!

•本日のハンズオンは以上です。• 今回のハンズオンが、先生方による円滑な授業運営に

お役に立てることを切に願っております。

• ご質問などありましたら、どうぞご遠慮なく不破までお問い合わせ下さい。• fuwa@kodamari.com

Recommended