はじめに
Blazor は JavaScriptのかわりにc#を使ってウェブアプリが開発できるフレームワークです。
バックエンドサーバで稼働する「Blazor Server」と、フロントエンドのみで稼働する「Blazor Web Assembly」の2種類があります。
🤔 < Blazor Serverアプリをデプロイするサーバはどのような構成があるの??
という方を想定し、この記事では「Blazor Server」をデプロイする際、どのような方法・システム構成があるか紹介します。
この記事に書かれていること
- Blazor Serverをデプロイする環境として、レンタルサーバは使用できません。BaaSまたはVPSになります。
- BaaSであれば、Azure App Serviceになります。OSからミドルウェアの部分の構築が不要なので、管理がらくになります。
- VPSであれば、WindowsまたはLinuxになります。
- Windows VPSであればIISが必須で、Linux VPSであればNginxまたはApacheが必要です。
Blazor ServerアプリやASP.NETのデプロイに必要なもの
Blazor Serverアプリの本番稼働環境を構築するためには、以下のものが必要です。
OS
OSはWindows、Linuxのどちらかが必要です。
MacOSでも動作しますが、デプロイ先の環境として公式ドキュメントに見つけることができませんでしたので、この記事では割愛させていただきます。
ウェブサーバ
Windowsであれば、IISが必要です。
Linuxであれば、NginxまたはApacheが必要です。
SDKまたはランタイム
.NET のSDKまたはランタイムのインストールが必要です。
ランタイムのみではビルドができませんので、本番環境でビルドをする要件がある場合は、SDKをインストールしましょう。
SSL証明書
SSL証明書自体は必須ではありませんが、 昨今はhttps通信が必須になっています。
余程の理由がない限りSSL証明書を取得しhttps通信ができる環境の構築、「httpからhttpsへのリダイレクト」を構築しましょう。
SSL証明書「Let\'s Encrypt」であれば無料で取得できますし、セットアップも比較的かんたんです。
システム構成
Azure App Service
Azure App Serviceとは、OSからミドルウェア(ApacheやNginx)やランタイム(.NET Core SDKまたはランタイム)の部分がクラウドサービス化されている、いわばPaaSです。
c#やrazorで記述したアプリケーションの部分をアップロードするだけでアプリケーションが動作します。
大まかな料金は以下のとおりです。
- OSがLinuxの場合、
vCPUコア数:1、RAM:1.75GB、ストレージ:10GBで「2.184円/時間」≒「1,625円/月」から利用可能です(2022年1月時点)。
- OSがWindowsの場合
vCPUコア数:1、RAM:1.75GB、ストレージ:10GBで「9.770円/時間」≒「7,269円/月」から利用可能です(2022年1月時点)。
Windows VPS + IIS
Windows VPS + IIS というシステム構成でデプロイが可能です。
Windows VPS は Linux VPSと比べて一般的に高価ですが、GUIで操作・環境構築ができますので、CLIが苦手な方にとってはハードルが下がると考えられます。
Linux VPS + Nginx または Apache
Linux VPS では、NginxまたはApacheで構築します。
Linuxは「Alpine」「CentOS」「Debian」「Fedora」「openSUSE」「Red Hat」「SLES(SUSE Linux Enterprise Server)」「Ubuntu」が利用可能です。
当サイト「usefuledge.com」では「Ubuntu + Nginx」で運用しています。
デプロイ可能なレンタルサーバは存在しない
Blazor Serverをデプロイ可能なレンタルサーバは存在しませんでした。VPSまたはPaaSを利用していく必要があります。
.NET SDK がインストールされているレンタルサーバが無いんですね。。。
Blazor のおすすめ本
私もBlazorを用いていくつかウェブアプリを開発しました。フレームワークがとても分かりやすく、簡単にSPAを作れることが楽しいと感じています。
Blazor wasm であればAWS S3のようなウェブホスティングサービスでアプリを公開することもできますし、Blazor Serverアプリであれば簡単に2要素認証を構築できます。
Blazor は現在も開発が進められているフレームワークですので本の情報は少しずつ古くなってしまいますが、全体的・体系的に学ぶには、本はとても有力なツールです。
電子書籍になっていますので、まずは試し読みから始めてはいかがでしょうか。
章 | 内容 |
---|---|
第1章 | Blazorの仕組み |
第2章 | 開発環境 |
第3章 | 最初のBlazorアプリ |
第4章 | コンポーネント |
第5章 | データバインディング |
第6章 | イベント処理 |
第7章 | Razor記法 |
第8章 | フォームと検証 |
第9章 | データベースアクセス |
第10章 | Web APIの活用 |
第11章 | SVGの活用 |
第12章 | JavaScriptとの連携 |
コメント