c# Blazor Serverアプリのいろいろな公開用サーバ構築方法

はじめに

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月時点)。

https://azure.microsoft.com/ja-jp/pricing/details/app-service/linux/

  • OSがWindowsの場合

vCPUコア数:1、RAM:1.75GB、ストレージ:10GBで「9.770円/時間」≒「7,269円/月」から利用可能です(2022年1月時点)。

https://azure.microsoft.com/ja-jp/pricing/details/app-service/windows/

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との連携

コメントを残す

メールアドレスが公開されることはありません。