Skip to content
Latchkey

Azure App Service とは?マネージドな web アプリホスティング

Azure App Service は web アプリ、API、コンテナをホストする platform-as-a-service です。コードやイメージをデプロイすると、Azure が代わりに実行、スケール、パッチ適用を行います。

App Service を使えば、基盤の VM、OS、load balancing を管理せずに web アプリケーションをホストできます。多くの言語やランタイム、加えてカスタムコンテナをサポートし、スケーリング、TLS、deployment slot を処理します。Azure で web アプリを動かす最も簡単な方法の 1 つです。

App Service が実行するもの

.NET、Node.js、Python、Java、PHP などのコード、あるいはカスタム Docker コンテナをデプロイできます。Azure はランタイムをプロビジョニングし、OS とプラットフォームのパッチを適用し、azurewebsites.net ドメインまたは独自ドメインで HTTPS 経由でアプリを公開します。

App Service plan

App Service plan は、アプリが実行される compute(サイズと tier)を定義します。複数のアプリが 1 つの plan を共有できます。tier は free や shared から dedicated や isolated まであり、コストと引き換えにパフォーマンスや autoscaling のような機能を得られます。

deployment slot

  • 本番前にデプロイして検証するための staging slot。
  • ほぼダウンタイムなしのリリースのための slot swap。
  • 問題があれば swap を戻すだけの簡単なロールバック。

組み込み機能

App Service には autoscaling、カスタムドメインとマネージド証明書、認証の統合、診断ロギングが含まれます。これらは、生の VM の周りに自分で構築するはずだった配管の多くを取り除きます。

CI/CD での役割

パイプラインはアプリまたはコンテナを build し、staging slot へデプロイして production へ swap し、ダウンタイムなしのリリースを行います。GitHub Actions は azure/webapps-deploy action を使い、OIDC 経由で service principal に認証するため、publish profile や secret は保存されません。

重要なポイント

  • App Service は web アプリ、API、コンテナをホストする Azure の PaaS です。
  • deployment slot により staging での検証と、ほぼダウンタイムなしの swap が可能です。
  • パイプラインは slot へデプロイして swap し、service principal 経由で認証します。

関連ガイド