このページの本文へ

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位

    ITトピック

    IT技術者の4割が「5年後のスキル陳腐化」に危機感/働くシニアは多いが「長く働きやすい」環境ではない日本/トークンコストの成果証明は難しい、ほか

  2. 2位

    データセンター

    AIデータセンターの「電力・冷却課題」打破へ シュナイダーが営業・設計・現場を直結する新組織立ち上げ

  3. 3位

    TECH

    二酸化炭素を資源に変える新触媒、新しい合金を電気で合成

  4. 4位

    デジタル

    ヤマハ、RTX1300の「ひかり電話アダプターモード」を解説する無料ウェビナーを10月15日に開催

  5. 5位

    サーバー・ストレージ

    「身代金を払えば復元できる」は過去の幻想――約束を守らない攻撃者と変容するランサムエコシステム

  6. 6位

    ソフトウェア・仮想化

    Microsoft IQとは? AIエージェントが必要とする理由は? マイクロソフトの担当幹部が解説

  7. 7位

    クラウド

    NTTドコビジが「GPUaaS」提供へ 1分単位で利用でき、ハイブリッド構成も可能

  8. 8位

    sponsored

    乱立する文書管理をBoxに統合へ、オークネットは基盤整備で「AIをビジネスの武器にする」

  9. 9位

    sponsored

    ルールは作ったが… 現場の「勝手にAI利用」が止まらない! どうやったら防げた?

  10. 10位

    IoT

    フィジカルAI時代を見据え、NTTドコビジがNaaS基盤を強化 数万台のIoTデバイスをセキュアに管理

集計期間:
2026年09月23日~2026年09月29日
  • 角川アスキー総合研究所