☁️

Azure App Service を作成する

2023/07/17に公開

関連記事リンク

  1. Azure App Service を作成する
  2. Azure Web Apps に Local Git 経由でアプリケーションをデプロイする
  3. Azure Web Apps を Azure AD アプリ登録と OpenID Conenctでアクセス制限する

Azure Web Apps と Azure App Service

Azure App Service は Linux や Windows Server などの Operating System + Web Runtime (PHP / Python / Node.js / IIS / .NET など)を提供するホスティング基盤の PaaS です。

App Service Plan は Azure App Service のサービスの提供プランのことで SLA や OS や インスタンスサイズに応じていくつか選ぶことができます。Free だと 0 円で利用できますが、初回アクセス時のスタートアップ時間が遅かったりするので商用利用するなら Standard や Premium 以上がおすすめです。

Azure Web Apps は Azure App Service の上でホスティングされる Web アプリケーション環境です。

App Service Planを作成する

Azure Portal で Marketplace から App Service Plan を検索する

Web Apps の作成画面の中で一緒に App Service Plan を作成することもできるが、一つの App Service Plan の上で複数の Web Apps をホストすることを考えると、明示的に App Service Plan だけ作成するほうがわかりやすい。

Create a resource から Azure Marketplace を開く。

検索欄に App Service Plan を入力して検索。

Plan は選びようがないのでそのまま Create する。

App Service Planのリソース作成

Subscription / Resource Group などを選択し、Operating System は Linux か Windows を選ぶ。(大抵の場合 Node.js や Docker などのランタイムを選ぶことになると思うので Linux を選ぶ)
Pricing plan は Free / Basic / Premium などから SLA やメモリ利用量に応じて選択。

Tags は指定があれば……

確認して Create する。

Web Apps を作成する

Web Apps のリソース作成

App Service Plan と同様に Azure Portal 上で Web Apps を検索して作成していきます。

Create します。

Web Apps の大まかな設定を選びます。

  • Name は ホスティングされるときのデフォルトドメイン名になるので他のユーザーとかぶらないユニークなものを選びます。(個人的なおすすめは英文字+数字でランダムに付与してしまう手です)
  • Runtime Stack は .NET / Go / Java / Node / PHP / Python / Ruby からホストするアプリケーションに応じて適切なものを選びます。

Deployment 方式を選べます。

  • GitHub Actions から自動デプロイするならここで Enable にして GitHub アカウントと紐付けるだけでできるようになります。

Networking で インターネット上に公開するのか、それとも仮想ネットワークの中に閉じ込めておくのかが選べます。(画面ショットだと仮想ネットワークがないサブスクリプション/リソースグループなのでエラーになってますが)
一つの App Service の上で インターネット上で公開する Web Apps と 仮想ネットワーク内に閉じ込めた Web Apps を混在させることもできます。
App Service のコア数やメモリを無駄なく使える感じがして私は好きです。

Azure Monitor の Application Insights との連携もここで設定できます。後で設定することもできるので No でいいと思います。アプリケーション側で Datadog や Instana などを仕込んでるものも多いでしょうけど。

タグはお好みで。

最終確認して大丈夫そうなら Create しましょう。

Discussion