【Azure】VSCodeを使って、App ServiceにASP.NET Core WebAPIをデプロイする
表題の通り、ASP.NET Core WebAPIをApp Serviceにデプロイします。
ここでは、VSCodeを使ってデプロイを行います。
ASP.NET Core WebAPIのプロジェクトを準備する
App ServiceにデプロイするASP.NET Core WebAPIのプロジェクトを作成します。
デプロイを試すだけなので、dotnet new webapiコマンドで生成したWebAPIをそのまま使用します。

WebAPIプロジェクトの作成については、ASP.NET Core Web APIプロジェクトの作成をご参照ください。
App Serviceリソースを作成する
Azure PortalのApp Service > 作成 > WebアプリからAPIをデプロイするApp Serviceを作成します。

以下のように設定を入力します。
| 基本 - インスタンスの詳細 | |
|---|---|
| 名前 | az104-test-api |
| 公開 | コード |
| ランタイムスタック | .NET7(STS) |
| オペレーティングシステム | Linux |
| 地域 | Japan East |
| 基本 - 価格プラン | ||
|---|---|---|
| Linuxプラン | ASP-AZ104testrg-91e8 | 自動入力される |
| 価格プラン | Free F1(共有インフラストラクチャ) | テストで使うだけなので無料プラン |
| 基本 - ゾーン冗長 | |
|---|---|
| ゾーン冗長 | 無効(フリープランは選択できない) |
| デプロイ | |
|---|---|
| GitHub Actionsの設定 | フリープランは選択できない |
| ネットワーク | |
|---|---|
| パブリックアクセスを有効にする | オン |
| ネットワークインジェクションを有効にする | フリープランは選択できない |
| 監視 | |
|---|---|
| Application Insightsを有効にする | いいえ |
この状態で、作成ボタンを押します。
デプロイが完了すると、App ServiceとApp Serviceプランが作成されます。

App Service

App Serviceプラン
VSCodeの拡張機能をインストールする
VSCodeを使って、App ServiceにアプリをデプロイするためにはAzure App Serviceという拡張機能が必要です。
これをインストールします。

デプロイする
拡張機能をインストールできたら、実際にApp Serviceにデプロイしていきます。
まず、VSCode上で右クリックします。
すると、Deploy to Web App...という表示が出るので、クリックします。

Azureへのログインが求められるので、ログインします。

ログインが完了すると、ログインしたAzureアカウントに存在するApp Serviceが表示されます。
先ほど作成したaz104-test-apiをクリックします。

「本当にデプロイしても良いか」の確認が出るので、Deployを押します。

すると、運用スロットへのデプロイが開始されます。
一般的に、本番環境でいきなり運用スロットへデプロイすることは推奨されません。デプロイスロットを利用するなどの対応を取られることをオススメします。
しばらく待つと、運用スロットへのデプロイが完了します。

デプロイが完了したら、ブラウザでApp Serviceのドメインhttps://az104-test-api.azurewebsites.net/weatherforecastにアクセスします。
すると、ローカル環境と同様のJSONが返却されることが確認できました。

Discussion