Azure App Service に ASP.NET Core SignalR アプリを発行する
作成者: Brady Gaster
Azure App Service は ASP.NET Core を含む Web アプリをホストするための Microsoft クラウド コンピューティング プラットフォーム サービスです。
Note
この記事では、Visual Studio から ASP.NET Core SignalR アプリを発行する方法について説明します。 詳細については、Azure 用 SignalR サービスに関するページを参照してください。
アプリの発行
この記事では、Visual Studio のツールを使った発行について説明します。 Visual Studio Code ユーザーは、Azure CLI コマンドを使ってアプリを Azure に発行できます。 詳細については、コマンド ライン ツールを使って ASP.NET Core アプリを Azure に発行する方法に関するページを参照してください。
[ソリューション エクスプローラー] でプロジェクトを右クリックし、 [発行] を選択します。
[発行先を選択] ダイアログで [App Service] と [新規作成] が選ばれていることを確認します。
[発行] ボタンのドロップダウンから [プロファイルの作成] を選びます。
[App Service の作成] ダイアログに次の表に示す情報を入力し、[作成] を選びます。
Item Description 名前 アプリの一意の名前。 サブスクリプション アプリに使われる Azure サブスクリプション。 リソース グループ アプリが所属する関連リソースのグループ。 ホスティング プラン Web アプリの価格プラン。 [サービスの依存関係] セクションで [Azure SignalR Service] を選びます。 +[] ボタンを選びます。
[Azure SignalR Service] ダイアログで、[新しい Azure SignalR Service のインスタンスを作成します] を選びます。
[名前]、[リソース グループ]、[場所] を指定します。 [Azure SignalR Service] ダイアログに戻り、[追加] を選びます。
Visual Studio によって次のタスクが完了します。
- 発行設定を含む発行プロファイルを作成します。
- 指定した詳細を使って Azure Web アプリを作成します。
- アプリを発行します。
- ブラウザーを起動します。これで Web アプリが読み込まれます。
アプリの URL の形式は {APP SERVICE NAME}.azurewebsites.net
です。 たとえば、SignalRChatApp
というアプリの URL は https://signalrchatapp.azurewebsites.net
です。
プレビュー .NET Core リリースを対象としたアプリをデプロイするときに、HTTP 502.2 - Bad Gateway エラーが発生する場合は、ASP.NET Core プレビュー リリースを Azure App Service にデプロイする方法に関するページを参照して解決してください。
Azure App Service でアプリを構成する
Note
このセクションは、Azure SignalR Service を使わないアプリにのみ適用されます。
アプリで Azure SignalR Service が使われている場合、このセクションで説明するセッション アフィニティ (アプリケーション要求ルーティング処理 (ARR) アフィニティとも呼ばれている) と WebSocket の構成は App Service には必要ありません。 クライアントは、WebSocket を直接アプリにではなく、Azure SignalR Service に接続します。
Azure SignalR Service を使わずにホストされているアプリの場合、次を有効にします。
- WebSockets: WebSocket トランスポートを機能させることができます。 既定の設定は [オフ] です。
- セッション アフィニティ (ARR アフィニティ): ユーザーからの要求を同じ App Service インスタンスにルーティングします。 既定の設定は [オン] です。
- Azure portal の [App Services] にある Web アプリに移動します。
- [設定]>[構成] を開きます。
- [Web ソケット] を [オン] に設定します。
- [セッション アフィニティ] が [オン] に設定されていることを確認します。
App Service プランの制限
WebSocket とその他のトランスポートは、選択した App Service プランに基づいて制限されます。 詳細については、「Azure サブスクリプションとサービスの制限、クォータ、制約」の記事の「Azure Cloud Services の制限」と「App Service の制限」の各セクションを参照してください。
その他のリソース
ASP.NET Core