支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


Azureとは

Microsoft Azureとはマイクロソフト社が提供するクラウドプラットフォームで、従量課金制という、初期費用無しで使用した分だけ支払うサービスです。 膨大なサーバが設置された拠点が世界に展開されており、クラウドプラットフォームサービスを提供してくれています。またこの拠点は日本では東日本と西日本に2拠点あります。

クラウドについての説明を少ししておきますと、クラウドとはIT分野においては広義に「インターネットなどのネットワーク上でユーザーが使えるサービスのこと」を指しています。
これまではユーザーがデータを保存する際には、コンピューター本体のハードディスクに保存する方法が一般的であり、ソフトウェアを利用する際にはコンピューターにインストールする必要がありましたが、クラウドサービスを利用することによって、データをクラウド上に保存したりインストール不要でソフトウェアを利用したりできるようになりました。
クラウドは雲のようなものであるという説明をされることが多いですが、実際はMicrosoft社が運用しているデータサーバーの一部を借りているイメージになります。

Microsoft Azureが提供するプラットフォームには、「IaaS」と「PaaS」の2種類があります。
IaaSでは仮想マシンのOSにおいてマイクロソフト社が責任をもって管理しますが、仮想マシンのOSより上は利用者が責任をもって実施する必要があります。反対に、PaaSで構成できるシステムは、マイクロソフト社が提供するPaaSの機能次第となります。

PaaSは「Platform as a Service」の頭文字を取った略語で「パース」と読みます。
アプリケーションソフトが稼働するためのデータベースやプログラム実行環境などが提供されるサービスのことです。

IaaSは「Infrastructure as a Service」の頭文字を取った略語で「イァース」と読みます。仮想サーバーやストレージ、ファイアウォールなどのインフラを、インターネット上で使えるサービスとして提供する形態のものもあります。

ちなみにSaaSというものもあり。「Software as a Service」の頭文字を取った略語です。利用者はネットワーク経由でサービス機能を活用することができます。


続いて…

Web Appsとは何か

Web Apps とは、Webアプリケーションを構築するためのクラウドサービスです。
様々な言語や環境(Windowsの.NET・Java・Node.js・PHP・PythonやLinuxの.NET Core・Node.js・PHP ・Ruby)を使用することができます。
また、データベースは自分の好きなものを使えますし、Azure MarketplaceからOSSパッケージやAPIなどを活用して開発することができます。

ログの出力について

アプリケーションのログを見る必要が出てくるのは、Web Apps でアプリケーションが思うように動作しなかった場合です。
例えば、特定のエラーが発生した場合にログメッセージを表示したり、関数が処理する場合にトレースを追加し、コード内のロジックを確認することができます。

またアプリケーションログは過剰になると、パフォーマンスが悪くなり、ストレージの消費速度も早くなる可能性があります。したがってファイルシステムへのログは12時間ごに自動的に無効になるようになっています。
Azure Apps Serviceで使用できるログの種類はWindowsもしくはLinuxのどちらで実行されるかによって異なりますので注意してください。

Web Apps のログ出力

今回はWindowsのみ紹介したいと思います。

まずAzure ポータルでの設定についてです。左側の列にある「Azure Service ログ」を選択し、右側の「アプリケーションログ(ファイルシステム)」と「アプリケーションログ(Blog)」のどちらか、もしくは両方で「オン」を選択します。そうして有効にしたら「詳細」レベルでログを出力するように設定します。

このままではログが出力されませんので、「Microsoft.Extensions.Logging.AzureAppServices」パッケージを追加し、

 return WebHost.CreateDefaultBuilder(args)
  .ConfigureLogging(logging => logging.AddAzureWebAppDiagnostics())
  .UseStartup<Startup>();
というコードを追加すると、ログが表示されるようになります。
これは公式のマニュアルにあるので、気になる方は調べてみてください。

アプリのエラーや失敗した要求のトレースを保存するには、アプリに移動して「App Serviceログ」を選択し、「Detailed Error Logging」もしくは「失敗した要求のトレース」を「オン」にして最後に「保存」を選択します。
これらのログはApp Serviceのファイルシステムに格納され、最大で50件のエラーが保持されていき、50件を超えると古い順に自動的に削除されていきます。

最後に…

今回は、WindowsのAzure Web Appsのログの出力について紹介しました。 普段からAzureを使っていたり、詳しい方にとっては簡単な内容だったと思いますが、初心者の方には理解するのに手間取る内容だったと思います。 私も初心者なので、理解に手間取りましたが、このようなサービスを使いこなせるようになれば様々な企業で役に立つことができますので、共に学習に励みましょう!