Microsoft Azureが提供しているPaaS環境Azure App Service入門の入門


■ 目次

  • 概要
  • Microsoft Azureとは
  • 何故Azureにしたのか
  • Azureの無料枠について
  • Azureのアカウント作成
  • PaaS(Azure App Service)のインスタンスを作成する
  • 作成したWeb Appにデプロイを行う

■ 概要

Microsoft AzureのAzure App Serviceを使ってPaaS環境上でサンプルを動かすまでをまとめる
無料期間が終わっても無料でサービスを継続させることを目指す

■ Microsoft Azureとは

Microsoft Azure(以下省略してAzureと呼ぶ)とはクラウドコンピューティングプラットフォーム
Azure App ServiceとはMicrosoft Azureが提供するPaaSで
Web Apps、Mobile Apps、API Apps、Logic Appsの総称

AzureはPaaSに限らずIaaS(Virtual Machine)も利用することができるみたいで知名度で言うとAmazon Web Serviceの方が人気ではあるが、今回個人的に叶えたいことがAzureでしかできなかったのでAzureを使うことにした

■ 何故Azureにしたのか

やりたいこと:個人的にWebサービスを作りたい、無料のPaaS環境上に作成したい、採用言語はNodejs

無料というのは、トライアル期間内は無料という訳ではなく、トライアル期間後もずっと無料枠で使うことができることをさす
また個人的に作るので冗長化はさせずにスペックも低レベルで問題ない、コンテンツ内容もAPIを叩いて表示するぐらいのシンプルなWebサービスを考えている

対抗馬としては
・Amazon Web ServiceのAmazon Elastic Beanstalk(AEB)
・Google Cloud Platform Google App Engine(GAE)
・Heroku
・IBM Cloud
などが考えるので一つづつ見て行くと

AEB:
試用期間後は有料になる

GAE:
無料枠もあるが、Node.jsの場合だと無料枠では動かない
参考:Google App Engineを無料で運用する方法(2018年版)

Heroku:
クレカ登録をすれば全アプリケーションの合計稼働時間が1000時間/月、していない場合550時間
1アプリのみであれば常に稼働していても1000時間超えない(24h*30日=720h)
しかし、30分間アクセスがない場合にインスタンスがスリープ状態になるのが問題で
スリープ状態にさせないように30分に一度アクセスをするスケジューラを何かしら立てなければならない

IBM Cloud:
クレカ登録は不要で利用ができるが、
10日間 開発なしでアプリを自動停止、30日間 活動なしでサービスの自動削除などの制限がある

Azure App Service:
Web、モバイル、またはAPIのアプリ10個と1GBのストレージを無料で使うことができる
しかし、作成されるサイト名は「(アプリ名).azurewebsites.net」とドメインは固定

Azure App Service プランの概要より
「このレベルは開発とテストのみでの使用を対象としています。」
と書いてあるが個人Webサービスならば大丈夫なはず…きっと

■ Azureの無料枠について

Azureは30日間使える¥22,500のクレジット付きで始めることができる
またサービスによっては12ヶ月無料で使えるものもある

参考:Azure の無料アカウントを今すぐ作成しましょう

試用期間でもクレカ登録は必要だが、明示的に有料プランにしない限りは課金されないとのこと

■ Azureのアカウント作成

Azureの無料アカウント解説サイトにアクセスする
https://azure.microsoft.com/ja-jp/free/

Microsoftアカウントを持っていない場合は作成する
持っていた場合はサインインする
自分の情報を入力する

登録後、ダッシュボードが使えるようになる
初回アクセス時にはサイトツアーが表示される

■ PaaS(Azure App Service)のインスタンスを作成する

ダッシュボード左上にある「➕リソースの作成」をクリック
メニューから「Web+モバイル」の中にある「Web App」を選択する

Web Appの作成

アプリ名:
任意、[アプリ名].azurewebsites.netとなるので一意にする必要がある

サブスクリプション:
任意

リソースグループ:
新規作成、(アプリ名)+「-gr」と同じにした

OS:
Windowsを選択(Windowsにすると、Windows上のApp Serviceにアプリがデプロイされる)
LinuxにするとF1 Freeプラン(無料で使えるやつ)が選択できなかった…
参考:Azure App Service on Linux の概要

App Service プラン/場所:
クリックして新規作成
– プラン名:任意、(アプリ名)+「-plan」とした
– 場所:任意、「Japan East」にした
– 価格レベル:F1 Free

Application Insights:
アプリケーションのモニタリングサービス
使うとお金がかかりそうなので「オフ」にする

ここまで入力して作成をクリックして完了させる
デプロイが実行中の場合、ダッシュボード右上にある通知アイコン上にデプロイ中である旨の通知がある

■ 作成したWeb Appにデプロイを行う

以下のページも参考にできそうだったが、今回は別のやり方を記述する
Azure で Node.js Web アプリを作成する

ダッシュボードより「App Service」をクリック
作成したアプリをクリックして「デプロイ オプション」を選択
ソースコードをどこから引っ張ってくるのかを選択する(今回はDropboxとした)

認証まで行なって「OK」ボタンをクリックして、デプロイ元のセットアップが完了

サンプルを展開した中身を設定したDropboxのディレクトリに置く
サンプルアプリケーション

その後「デプロイ オプション」にある同期をクリックするするとデプロイするか聞かれるので「はい」を選択

このデプロイによってHello Worldが表示されるようになった


Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です