Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Azure Microsoft

Azure App Serviceとは?概要と基本的な使い方をご紹介

投稿日:

 

<目次>

(1) Azure App Serviceとは?概要と基本的な使い方をご紹介
 (1-1) Azure App Serviceとは?
 (1-2) Azure App ServiceでWebアプリを作成する手順(Hello World)
 (1-3) Azure App Serviceの主要ブレードのご紹介

(1) Azure App Serviceとは?概要と基本的な使い方をご紹介

(1-1) Azure App Serviceとは?

●概要

HTTP(インターネットで使われるプロトコル)に基づいた、Webアプリケーション(ご自身の作りたいWebサイトなど)をホストする(AzureがWebアプリの土台を提供してくれる)サービスです。

OSは「Windows」と「Linux」系から選択ができ、開発言語も「.NET」「Java」「Ruby」「Node.js」「Python」など様々な言語から選択できる事に加え、Azureの利点である「負荷分散」「自動スケーリング」(リソース増強)や、基盤および実行環境をAzure側で管理してくれる点(IaaS、PaaS)等のメリットも教授する事ができます。

●主な利点

Azure App Serviceを使うメリットとしては、次のような点が挙げられます。
 
(表)
●多くの言語をサポート ・C#
・PHP
・Java
・JavaScript(Node.js)
・Python
・Ruby
●Azureの利点を享受 Azure App Serviceを使うと、Azureの利点である以下のようなメリットを享受できます。
①負荷分散
プランにもよりますが、トラフィック(HTTP要求等の通信)の負荷分散を自動で実施してくれます。

②セキュリティ
・パッチの自動適用
・通信の暗号化(PowerShell、Azure CLI経由など)
・DDoS攻撃の防止
・TLS/SSL証明書(⇒★URL)の発行・適用

③高可用性
スケールアップ(スペックを上げる)、スケールアウト(台数を増やす)が可能。

●DevOps機能が使える ①継続的改修のためのスムーズなデプロイ
各種ソースからのデプロイがスムーズのため、開発者と運用者が協業しやすい。
・Azure DevOps
・GitHub(コード共有のリポジトリ)
・DockerHub(コンテナイメージのリポジトリ)

●コスト(料金)

Azure App Serviceは「App Service プラン」と呼ばれる、スペック(+その料金プラン)に沿って稼働しています。App Service Planは以下のカテゴリから選択できます。
 
(表)
■App Service プラン ■説明
「F系」(F1)
=Free
●開発・テスト向け
・無料
・他のインスタンス(≒VM)をシェア
⇒他のお客さんのアプリも同インスタンスで稼働している可能性あり
・SLAなし
「B系」(B1~B3)
=Basic
●低トラフィック&スケーリング不要なアプリ向き
・有料
・専用のVMで稼働
・SLAあり(稼働率をコミット)
「S系」(S1~S3)
=Standard
「P系」(P1V1~P3V3)
=Premium
●本番環境向け(高トラフィック)のプランです。
・有料
・専用のVMで稼働
・SLAあり(稼働率をコミット)
・スケーリング可(インスタンス=VM数のスケールアウト MAX=20)
・負荷分散あり(Traffic MangerによるDNSベースのLB)
「I系」(I1~I3) ●本番環境&ミッションクリティカル向け(超高トラフィック)のプランです。
⇒「銀行」などのミッションクリティカル(絶対に落ちてはいけない)&非常に厳重なセキュリティを求めるアプリ向けです。

・有料
・専用のVMで稼働
・SLAあり(稼働率をコミット)
・スケーリング可(インスタンス=VM数のスケールアウト MAX=100)
・負荷分散あり(Traffic MangerによるDNSベースのLB)
・内部負荷分散あり(ロードバランサ)

実際の画面では以下のように「①開発/テスト」「②運用」「③Isolated」に分かれています。
 
・「①開発/テスト」
スペック・価格ともに3つの中では一番低く、お求めやすいです。
(図111)「F系」「B系」がこのカテゴリに属しています。

・「②運用」
スペック・価格ともに「①開発」よりランクが上がり、「カスタムドメイン」や「バックアップ」機能もあります。
(図112)「S系」「P系」がこのカテゴリに属しています。

 

・「③Isolated」
スペック・価格ともに「①開発」よりランクが上がり、「仮想ネットワーク」の中で利用でき、「負荷分散」も最高レベルです。
(図113)「I系」がこのカテゴリに属しています。
 

目次にもどる

(1-2) Azure App ServiceでWebアプリを作成する手順(Hello World)

●STEP0:前提条件

・①Azureアカウントと、それに紐づく有効なサブスクリプション
 
・②Visual Studio 2019がインストール済み+ASP.NETウェブ開発のワークロードがある
下記の手順●●を実施の際に「ASP.NET」のワークロードにチェックを含めます

 

●STEP1:App Service画面を開く

・Azure Portalから「App Service」を検索し、作成画面を開きます。
(図121)①

・「App Service」の作成を押下します。
(図121)②

 

●STEP2:主要設定項目の入力

・主要な設定項目の概要は以下の通りです。例を参考に、ご自身の設定値を入力して
 
(表)
タブ 設定項目 説明 設定値(例)
基本 サブスクリプション
(Subscription)
Azure Cosmosアカウントを紐づけるサブスクリプションの名前を入力します。 ご自身の値
基本 リソースグループ
(Resouce Group)
Azure Cosmos DBに紐づけるリソースグループを選択します。
リソースグループの概念や作成方法については、こちらのページ(⇒★リソースグループのURL)をご参照頂けたらと思います。
ご自身の値
基本 名前 Webアプリの名前を指定します。ここで指定した名前+「.azurewebsites.net」が『サイトのURL』になります。 ご自身の値
基本 公開 「公開」
①「コード」
通常のプログラムをビルドし、その資源をデプロイする型式の場合は「コード」を選択します。

②「Docker コンテナー」
Dockerコンテナーをデプロイするためのオプションです。コンテナ技術は「アプリケーション」(C#やJavaで作成したWebアプリ)に加えて、「実行環境」(Javaで言うJRE=コンパイル済PGの実行環境)をセットで「コンテナ」として固めているため、次の「ランタイムスタック」を選ぶ必要がありません。

コード
基本 ランタイムスタック 「公開」で「コード」を選択した場合に設定します。アプリの開発に使用する言語(Java、.NETなど)を選択します。

(備考)
Javaの場合はプラスで「Java Webサーバのスタック」という項目があり、APサーバの種類を選択する事ができます。

ASP.NET 4.8
基本 オペレーティングシステム LinuxかWindowsかを選択できます。 Windows
基本 地域
(Region)
Azure Virtual Machineをホストする地理的な立地(リージョン)を選択します。ご自身のサービスのユーザが居る場所に最も近い場所を選択する事で、最も高い性能を発揮できます。
基本 Windows プラン 「App Service プラン」の紐づけを行います。App Service Planでは「マシンのスペック(+その料金プラン)」をいくつかの選択肢から選んだ情報です。
(※F1、B1~B3、S1~S3、P1V2~P3V3、I1~I3等の中から選択)
基本 SKUとサイズ SKUは「Stock Keeping Unit」の略で、いわゆる価格帯のようなものです。
ご自身で選択したApp Service Planの内容が表示されています。
F1
デプロイ デプロイ設定 「有効化」を選択するとGitHubとの連携が可能になります。

例えば、Gitのリポジトリでコミットがされる度に、App Service側にデプロイしたりといった連携が可能です。

OFF
監視 Application Insights 「Application Insights」はAzure上で稼働するWebアプリのログ監視、パフォーマンス監視等を行うためのサービスです。 OFF
(図122)①~②:タブ「基本」


(図122)③:タブ「デプロイ」

(図122)④:タブ「監視」

●STEP3:確認及び作成

設定値の入力が出来たら「確認および作成」を押下します。
(図123)
 

●STEP4:作成完了

デプロイが完了したら「リソースに移動」で、Webサイトの基本情報をチェックします。
(図124)

 

●STEP5:疎通テスト

・「概要」ブレードに表示されているURLが、ご自身のWebサイトのURLになります。これをブラウザに入力して、初期ページが表示されるか?を確認します。
(図125)

 

目次にもどる

(1-3) Azure App Serviceの主要ブレードのご紹介

Azure App Serviceにおいて、重要となるブレード(左メニューの項目)をいくつかご紹介します。

●概要

最も重要なブレードで、Webアプリケーションの基本情報を見る事ができます。
 
・ご自身のWebサイトのURL
⇒このURLでブラウザからご自身のサイトを表示します。
・FTPホスト名
⇒「WinSCP」等でFTP接続する際の情報
 
また「停止」、「再起動」などの操作が出来るほか、「状態」でアプリケーションが実行中かどうか?を見る事ができます。
 
(図131)

 

●問題の診断と解決

「問題の診断と解決」ブレードでは、アプリケーションに異常が発生した際に、問題の内容をいくつかの観点からチェックする事ができます。
 
(図132)例:F1(無料)のSKUではカスタムドメインが使えない旨の警告が出ている

 

●セキュリティ

セキュリティに関する推奨事項を見る事ができます。
 
(図133)

 

●デプロイスロット

「デプロイスロット」は「独立したホスト名」を持つ「稼働できるアプリ」の枠の事です。分かりやすく言うと、本番環境以外にも、スロットの数だけ「検証環境」や「テスト環境」のような位置づけのアプリをデプロイする事ができ、尚且つ「スワップ」をする事で「本番スロット」と「ステージング用スロット」を「ダウンタイムなく」即座に入れ替える事ができます。

●デプロイセンター

デプロイセンターは「継続的な改修・リリース」のための機能で、GitHubなどの各種リポジトリ(ソースのバージョン管理をしている場所)と連携し、Webアプリを即座にデプロイする事を可能にする機能です。
 
(図134)
 

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Azure, Microsoft

執筆者:


comment

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

関連記事

Azure DevOpsのPipelineの使い方をご紹介(入門編)

  <目次> (1) Azure DevOpsのPipelineの使い方をご紹介(入門編)  (1-1) 概要  (1-2) Pipeline疎通の手順 (1) Azure DevOpsのP …

Azure AI Search(旧Cognitive Search)の使い方をご紹介(Pythonサンプルあり)

  <目次> Azure AI Search(旧Cognitive Search)の使い方をご紹介(Pythonサンプルあり)  やりたいこと  概要  STEP0:前提条件  STEP1: …

Azureの「NSG」と「Azure Firewall」の違いについて

  <目次> (1) Azureの「NSG」と「Azure Firewall」の違いについて  (1-1) Azure Firewallとは?  (1-2) Azure Firewallの設 …

Outlookで予定表の分類の「色」選択が表示されない原因と対策

  <目次> (1) Outlookで予定表の分類の「色」選択が表示されない原因と対策  (1-1) 発生事象  (1-2) 原因  (1-3) 対策 (1) Outlookで予定表の分類の …

Azure Machine Learningで「Failed to pull Docker image」が出る原因と対処法について

  <目次> (1) Azure Machine Learningで「Failed to pull Docker image」が出る原因と対処法について  (1-1) エラー概要  (1-2 …

  • English (United States)
  • 日本語
Top