このページの本文へ

Web App、マネージドMySQL、Azure DevOpsで実現するAzure PaaSのLAMP

オンプレLAMP環境を低コストで高可用なAzure PaaSへ移行しよう!

2018年12月19日 08時00分更新

文● 羽野三千世/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

2.モダンなWebアプリ実行環境を数十秒で構築する「Azure Web App on Linux」

 次に、Azure Web App on Linuxの概要と作成方法ついて、Azure TSPの服部佑樹氏がデモで解説した。

日本マイクロソフト Azureアプリケーション開発 技術営業部 テクノロジーソリューションプロフェッショナル 服部佑樹氏

 Azure Web AppはWebサイトやWebアプリケーションをホスティングするのに最適化されたフルマネージドのPaaS。Webホスティング環境とバックエンドのMySQLを一度に作成し、そこにAzure Marketplaceから「スマホにアプリを入れる感覚で」(服部氏)、WordPressなどを展開できる便利なサービスだ。Windows版とLinux版があり、Dockerコンテナーアプリケーションのホスティングにも対応する。

 「マイクロソフトのPaaSはC#や.NETしか使えないと思われている人もいるようですが、Web AppはC#、Java、PHP、Python、nodeなど多種多様な言語に対応しています。Dockerコンテナがホストできるので、実際はコンテナにのるものであればどんな言語でも大丈夫です」と服部氏。Azure Web Appも、前述のMySQLのPaaSと同様に、インフラの可用性設計やアップデート、セキュリティといった非機能要件をAzureに預けてWebサイトを運用することができる。自動スケーリングや認証の設定、スロットの用意、リモートデバックなども簡単だ。

2-1.Web Appの作成

 さっそく、デモでAzure Web Appを作成していく。AzureポータルのAzure Marketplaceから「Web App」を開き、リソースグループや必要事項を入力する(図2-1)。

図2-2 App Serviceプラン

 「OS」はWindowsとLinuxから選択する。今回はLAMPスタックのセミナーということでLinuxを選択した。

 「公開」は、コードデプロイモデル(コード)とDockerモデル(Docker)のどちらかを選択する。「LinuxベースのWeb AppでLinuxのイメージとして提供しているランタイムスタックのみを扱う場合は『コード』を、Pythonの特定のバージョンを使いたいケースなどフレームワークやランタイムのカスタマイズをするときは『Docker』を選択してください」(服部氏)。デモではコードを選択した。

 「App Serviceプラン/場所」では、作成するWeb Appをホスティングするハードウェア構成や利用するAzureリージョン、Web Appの機能セットを指定する(図2-2)。Web Appは、Azure App Serviceというサービスの1つであり、App Serviceインスタンスの上にWeb Appを作成する形になる。App Serviceプランでは、App Serviceインスタンスの性能と、その上に展開するWeb Appの必要機能を選択する。LAMPスタック向けなど、用途ごとに推奨されるプランが用意されている。

図2-2 App Serviceプラン

 「ランタイムスタック」で使用する言語を選択。最後に「作成」ボタンを押すと、20秒ほどでApp Serviceインスタンスのリソースとその上のWeb Appのリソースが立ち上がる(図2-3)。

図2-3 新規作成されたWeb App

 作成された空のWeb AppにWebサイトをデプロイする。Web Appでは、FTPやGitでアプリケーションをデプロイできるようになっており、Gitを使う場合は次に説明するCI/CDツールのAzure DevOps、オープンソースのJenkinsなどを使ってのデプロイが可能だ。今回のデモではライトに、Web AppがホストするローカルのGitでアプリケーションをデプロイした。

図2-4 Web AppのローカルのGitからアプリケーションをデプロイ

2-2.ホストしたWebアプリケーションへの「認証」設定

 Web Appは、作成したアプリケーションに対する認証を簡単に設定できる機能を備えている。Web Appの設定メニューにある「認証/承認」ページ(図2-5)で「App Service認証」をONにすると、ホストしたWebアプリケーションのエンドポイントに対して、Azure Active Directoryでの認証や、Facebook認証、Google認証などを設定することができる。

図2-5 「認証/承認」ページでWeb AppにホストしたWebアプリケーションへの各種認証を設定できる

2-3.Web Appの自動スケールアウト

 「Web Appでは、スケールイン、スケールアウトがとても簡単です」と服部氏。「スケールアウト」ページ(図2-6)でスライダーを動かして「保存」するだけで、数秒でインスタンス数が増減する。

図2-6 Web Appのスケールアウト

 さらに、自動スケールを有効化すると、Web Appのメトリックスを自動取得し、指定したルールベースで自動スケールアウトできるようになる。

図2-7 Web Appの自動スケールアウトのルール設定

2-4.Web Appの「スロット」

 Web Appに展開したWebアプリケーションの運用を強力に支援する機能に「デプロイスロット」がある。これは、プロダクション環境のスロットと、複数のステージング環境のスロットを同じWeb Appの枠組みの中にホストする仕組み。

図2-8 Web Appの「デプロイスロット」

 アプリケーションの更新をする際に、新しいアプリケーションをステージングのスロットに展開しておき、本番環境のスロットとエンドポイントを切り替えて入れ替えることで(Blue Green Deployment)、ゼロダウンタイムリリースを可能にする。スロットを複数作ってアプリケーションのバージョン管理をすることもできる。

Web AppのBlue Green Deployment

* * *

 このようにWeb Appは、WindowsやLinuxベースのWebアプリケーションホスティング環境を数十秒で構築し、自動スケール、Azure Active Directoryなどによる認証などを簡単に設定できるサービスであり、LAMPスタックの構築と運用の負荷を劇的に低減する。さらに、Blue Green Deploymentの仕組みを持ち、次に説明するCI/CDツールと組み合わせることで、LAMPスタックのDevOpsを手軽に実現する。

■関連サイト

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

アクセスランキング

  1. 1位

    トピックス

    “持たない家電”ランキング、もはや定番のアレがやっぱり1位なような

  2. 2位

    ビジネス・開発

    こんどは“市区町村の財政状況”が丸わかり デジタル庁「ジャパン・ダッシュボード」に地方財政データ追加

  3. 3位

    ITトピック

    管理職ほど機密情報をAIに入力している実態、なぜ?/27卒学生の就職人気、IT業界トップ企業は/最新インシデントの傾向10パターンまとめ、ほか

  4. 4位

    トピックス

    若い人ほど「しっかり睡眠」、中高年は眠れないのか眠らないのか

  5. 5位

    トピックス

    【無双状態】2025年、最も雑誌の表紙を飾ったのは「えなこ」! 1万誌を調査して見えた圧倒的カバークイーン

  6. 6位

    トピックス

    その発想はなかったー! 「中古の船」を海上データセンターにする構想がすごいぞ!

  7. 7位

    TECH

    技術ニュースを毎朝スマホで流し読みしたい、だから自分専用サイトを開発した話

  8. 8位

    トピックス

    「寝不足だから仕事休むね」世界は7割、日本では4割が経験

  9. 9位

    トピックス

    【人材争奪戦】大手企業の8割超が「高度IT人材」採用に危機感! 今一番欲しいのは「AI」と「セキュリティ」のプロだぞ

  10. 10位

    トピックス

    【世界最下位】「男女平等は十分に進んだ」と思う日本人、なんとたったの28%! 世界から取り残される日本のリアル

集計期間:
2026年04月26日~2026年05月02日
  • 角川アスキー総合研究所