アプリケーションの迅速な開発を目指して、Azure App Serviceの導入を検討している企業担当者も多いのではないでしょうか。この記事では、Azure App Serviceを活用することにより期待できるメリット、サービスの料金体系、基本的な使い方を解説します。
Azure App Serviceとは
Azure App Serviceとは、Microsoft社が提供するHTTPベースのクラウドサービスです。Azure上でPaaSサービスとして提供されているため、自社でインフラを管理する必要はありません。2021年からは、複数のコンテナを管理するためのオープンソースソフトウエアKubernetesに対応したことで、AWSやGoogle Cloud、オンプレミスでの実行も可能となりました。
フルマネージドサービスのAzure App Serviceを活用すれば、システムを安定的に維持しながらシステム担当者はより生産的な業務に注力できるようになります。WindowsとLinux双方からの立ち上げが可能で、Python、PHP、Java、.NETなど幅広い言語に対応しているのが特徴です。
Azure App Serviceは、4つのアプリケーションで構成されています。あらゆるWebサイトやアプリケーション、APIをホストする機能を備えた「Web Apps」、スマホ向けアプリの開発に有用な機能が揃った「Mobile Apps」、Web APIの生成・管理を行う「API Apps」、システムやアプリケーションをAzureポータル上で統合できる「Logic Apps」の機能により多様なアプリ開発を可能にします。
Azure App Serviceを導入するメリット
Azure App Serviceを活用すると、どのようなメリットが享受できるのでしょうか。上述したように、Azure App Serviceは多様な言語に対応しているため、このサービスを導入した際に新たな開発言語を習得する必要はありません。これまで使ってきた言語を用いて、素早く開発に取り組めます。また、既存のクラウドサービスと連携する際に、特別なスキルを必要としないのもメリットといえるでしょう。
クラウドサービスの利用で脅威となるのは、不正アクセスやサイバー攻撃による情報漏えいやデータの改ざんです。AzureではPaaSへウイルスが侵入しないよう、データの保護、ユーザーとアプリケーションのセキュリティ管理に重点を置いたさまざまな対策が講じられています。キーとライセンス情報の暗号化、2要素認証の使用など、IDベースでセキュリティを確立しているのもポイントです。
さらにMicrosoft社では、設計の段階で脅威を列挙して早期にエラー検出できるツールも作成しています。このプロセスを追加すると、アプリケーションの特徴や性質による脅威の種類、Azureが適用する軽減策の一覧を確認できるようになっています。証明書を追加するためのオプションが複数用意されているのも大きな利点です。運用に適したプランでは、自動的なスケールアップとスケールアウトも可能になるため、コストの均一化も実現しやすくなるでしょう。
PaaSサービスにおいて、企業側が管理する範囲はユーザー管理とアプリケーションです。インフラの運用管理・保守はAzureが行ってくれるため、バッチの自動適用など脆弱性を迅速に改善できるのもメリットです。アプリケーションの開発者側とIT運用者側が相互的なコミュニケーションを促進して、開発と運用のプロセスを統合・自動化するDevOps機能も利用できるため、短期間でのスムーズなデプロイに期待できます。
Azure App Serviceの料金体系
Azure App Serviceには、無料で利用できるFreeプランが用意されているため、導入する際は、実際に体験してから検討してみるとよいでしょう。有料プランでは、使用した分だけを支払う従量課金制が採用されています。Windowsでは「Sharedプラン」「Basicプラン」「Standardプラン」「Premiumプラン」「Isolatedプラン」の6つ、LinuxではSharedプランを除いた5つが用意されており、企業規模や業界に適したサービスを選択できるようになっています。
プランを検討する際には、使用できるサービスの内容や必要なストレージの容量を確認したうえで、自社に最適なものを選ぶようにしましょう。ここからは、Windowsで利用した場合、プランごとの機能や料金にどれほど違いがあるのかを詳しく見ていきます。なお、リージョンは東日本に設定しています。
Freeプラン・Sharedプラン
開発・テスト用の環境を構築するために提供されているプランです。すべてのユーザーが共有するAzure Virtual Machines(Azure VM)上でアプリケーションを実行するため、リソースのスケールアウトには対応していません。
●Freeプラン
実行できるWebアプリケーション、APIの数:10個まで
ディスク領域:1GB
コンピューティングの種類:共有
料金:無料
●Sharedプラン
コンピューティングの種類:共有
実行できるWebアプリケーション、APIの数: 100個まで
ディスク領域:1GB
サポート対象:カスタムドメイン
コンピューティングの種類:共有
料金:1,878円/時間(サイトごと)
Basicプラン
Basicプランも開発・テスト用の環境が提供されるプランですが、プラン専用のAzure VM 上でアプリケーションを実行できる点や、オンプレミスにあるリソースにアクセスするハイブリッド接続がサポート対象に含まれてきます。
●Basicプラン
実行できるWebアプリケーション、APIの数:無制限
ディスク領域:10GB
最大インスタンス数:3
サポート対象:カスタムドメイン、ハイブリッド接続
コンピューティングの種類:プラン内のアプリケーションのみがリソースを共有
料金:10,860円/時間
Standardプラン
Standardプラン以上のレベルでは、Webアプリケーションを運用していくうえで必要なサポートが充実してくるため、自社の用途に適したサポートがあるかどうかで判断するとよいでしょう。スケールアウト・スケールインの自動化をはじめ、プライベートネットワークを構築するAzure Virtual Network(VNet)の統合設定により、アプリケーションから仮想ネットワークのリソースに対する通信が可能になるなど、より利便性が高くなってきます。
●Standardプラン
実行できるWebアプリケーション、APIの数:無制限
ディスク領域:50GB
最大インスタンス数:10
サポート対象:カスタムドメイン、ハイブリッド接続、自動スケール、仮想ネットワーク接続
コンピューティングの種類:プラン内のアプリケーションのみがリソースを共有
料金:14,480円/時間
Premiumプラン
VNetから外部に出ることなくAzure上のサービスに接続できるため、パブリックIPアドレスを使わずにサービスを提供できるようになります。実稼働するアプリケーションに対して、優れたパフォーマンスと高度なセキュリティが提供されるプランです。
●Premiumプラン
実行できるWebアプリケーション、APIの数:無制限
ディスク領域:250GB
最大インスタンス数:30
サポート対象:カスタムドメイン、ハイブリッド接続、自動スケール、仮想ネットワーク接続、プライベート エンドポイント
コンピューティングの種類:プラン内のアプリケーションのみがリソースを共有
料金:28,960円/時間
Isolatedプラン
Azure App Serviceは、金融機関におけるDX推進にも大きな注目を集めています。Isolatedは、インターネットバンキングなどのミッションクリティカルなアプリケーション向けに用意されたプランです。Isolated レベルでは、ユーザー専用のAzure VMが仮想ネットワーク上で実行されるため、セキュリティは厳重です。また、急激なトラフィックの増大に対応する最大のスケールアウト機能も提供されています。
●Isolatedプラン
実行できるWebアプリケーション、APIの数:無制限
ディスク領域:1TB
最大インスタンス数:100
サポート対象:カスタムドメイン、ハイブリッド接続、自動スケール、仮想ネットワーク接続、プライベート エンドポイント
コンピューティングの種類:アプリに対して、コンピューティングの分離とネットワークの分離を提供
料金:49,084円/時間
Azure App Serviceの使い方
ここでは、Microsoft Azureを入手していることを前提としたうえで、Azure App ServiceでWebアプリを作成・公開する方法をわかりやすく解説します。さっそくFreeプランに登録して実行してみましょう。
Webアプリの作成・公開方法
1.Azure Portalにアクセスして[リソースの作成]を選択。メニューにある[Webアプリ]をクリックしてWebアプリを作成するウィザードを開いてください。
2.[Webアプリの作成]ウィザードのフィールドを埋めていきます。まずデプロイされるリソースを管理するための[サブスクリプション]を選択しましょう。
3.[リソースグループ]に有効なプロジェクト名を入力します。
4.[アプリ名]に入力するWebアプリの名称は、このWebアプリのURLの一部となります。
5.[発行]では、WebアプリをApp Service にデプロイする方法を選択します。[コード]もしくは[Docker イメージ]のいずれかを選べるようになっています。
6.[ランタイムスタック]で使用するプログラム言語を選定します。なお、デプロイ法でDocker イメージを選んだとき、ランタイムスタックはイメージに含まれるため選定する必要はありません。
7.[オペレーティング システム]を選択します。[Windows]もしくは[Linux]のいずれかにチェックを入れましょう。
8.[リージョン]Webアプリの提供元となるAzure リージョンを選んでください。
9.[App Service プラン]では、作成するWebアプリをデプロイするApp Serviceプランを指定します。これにより、Webアプリを実行するAzure VMのパフォーマンスや機能が決定されます。
10.[確認および作成]をクリックしたら終了です。
まとめ
多様な言語に対応しているAzure App Serviceを導入すれば、セキュリティ性に優れた環境で、これまで習得した言語を使って素早く開発に取り組めます。Freeプランでも有料のSharedプランとほぼ同等のサービスが提供されるため、実際に利用してから検討してみてはいかがでしょうか。