次の方法で共有


概要: Visual Studio を使用した Azure 用 ASP.NET Web アプリの開発

ASP.NET Core は、シンプルな Web サイトと複雑な Web アプリケーション用の包括的なソリューションを提供します。 Azure サービスは、多くのニーズに対応し、Web サイトおよび Web アプリケーション開発で生じる多くの課題を解決するのに役立ちます。 ASP.NET Core Web アプリケーションでは、クライアント側の JavaScript が頻繁に使用されます。

Visual Studio サブスクリプションの多くに、Azure の個別の Dev/Test クレジットが含まれています。 Visual Studio サブスクライバーの場合は、これらのクレジットを使用して、さまざまな Azure サービスを無料で試すことができます。 サブスクライバーでない方で、Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成できます。

前提条件

Visual Studio での Azure 開発の概要を読んでいない方は、そちらを参照してください。Visual Studio での接続済みサービスの基本、Azure への展開、Azure アプリケーションのデバッグ、Docker コンテナーの使用方法などについて説明しています。

Visual Studio 2019 以降のバージョンと、[Azure の開発] ワークロード、[ASP.NET と Web 開発] ワークロードがインストールされている必要があります。

アーキテクチャの図

次の図は、ストレージ、SQL データベースへのアクセス、認証などの一般的なシナリオを処理する Azure サービスが実装された、Azure Web アプリケーションのアーキテクチャの例を示しています。

Web アプリケーションのアーキテクチャ例の図。

ストレージとデータベースに接続する

Web アプリケーションに特有のものではなく、ほとんどの Web アプリケーションにとって重要なサービスの多くについては、メインの概要で取り上げています。 「アプリを Azure Storage とデータベース サービスに接続する」と「アプリを gRPC、OpenAPI、および WCF エンドポイントに接続する」の記事を参照してください。

Azure Cache for Redis に接続する

Azure Cache for Redis は、Azure サービス、Web サイト、および Web アプリケーション用のメモリ内データ ストアを提供します。 Azure Cache for Redis は、分散データまたはコンテンツ キャッシュ、セッション ストア、メッセージ ブローカーなどとして使用できます。 サポートされるシナリオは次のとおりです。

  • API からのデータをキャッシュする (これにより API 呼び出しを減らす)
  • キャッシュ出力 (これにより CPU 使用率が低下する可能性がある)
  • キャッシュ セッションの状態

詳細については、「Azure Cache for Redis とは」を参照するか、Visual Studio の接続済みサービスを使用して Azure Cache for Redis に接続する方法に関するページから開始してください。

ユーザーの認証

ほとんどの Web サイトには、サイト固有またはユーザーが既存のアカウントを持つ ID プロバイダーから提供される、何らかのユーザー管理および認証メカニズムが必要です。 組み込みのユーザー認証は、Azure App Service でサポートされています。 詳細については、「Azure App Service および Azure Functions での認証と認可」を参照し、Azure App Service で実行されている Web アプリにアプリの認証を追加する方法に関するページから開始してください。 Microsoft Entra ID (旧称 Azure Active Directory、Azure AD) は、完全な機能を備えたクラウドベースの ID 管理サービスです。 詳細については、Microsoft Entra の概要に関するページをご覧ください。

サポートされる認証プロバイダーは次のとおりです。

  • ソーシャル アカウント: Facebook、Google、Microsoft アカウントなど
  • Microsoft Entra アカウント (単一テナントから)
  • Microsoft Entra アカウント (複数の異なるテナントから)

アプリでこれらのサービスの使用を開始する方法については、「Visual Studio の接続済みサービスを利用して Azure Active Directory を追加する」でご確認ください。

App Configuration

Azure にデプロイされた ASP.NET ウェブ アプリでは、すべての環境 (テスト、ユーザー受け入れテスト (UAT)、運用前、運用時) に対する構成が必要になることがあります。 この構成は、Azure App Configuration を使用して管理できます。 アプリを Azure App Configuration に接続する方法については、Visual Studio の接続済みサービスを使用して、Azure App Configuration に接続する方法に関するページをご覧ください。

シークレットの管理

パスワードおよび、API プロバイダーのデータベースやトークンへのアクセス キーなどのその他のシークレットのセキュリティで保護されたストレージは、一般的な問題であり、Azure Key Vault によりセキュリティで保護されたソリューションを提供することができます。 Azure Key Vault を使用すると、Azure で実行するアプリのシークレットを格納したり、開発中に Azure のキー コンテナーを使用したり、ローカルの実行、テスト、デバッグにローカル ストア (secrets.json) を使用したりできます。 クラウドに依存せずに、設計と開発の間に開始しますが、中断することなく、後の段階であるテストと運用に移行します。 詳細については、Azure Key Vault のページを参照し、Visual Studio の接続済みサービスを使用して Key Vault を Web アプリケーションに接続する方法に関するページから開始してください。

Entity Framework を使用したデータ移行

Visual Studio は、アプリを開発し、データベースをローカルで変更してから、Azure の運用データベースと同期する問題を解決するのに役立ちます。

Azure SQL Database と Entity Framework を使用 ASP.NET Web アプリの場合、データベースにローカルで変更を加えたときに、Entity Framework の移行を使用して、スキーマの変更とデータの変更を構造化された方法で Azure にプッシュできます。 「Entity Framework 移行」をご覧ください。

Worker サービス

ASP.NET Web アプリは、worker サービスを実行してメリットを得ることができます。 既存の App Service インスタンスで worker サービスを実行する場合、追加のコストはかからず、オンプレミスまたは仮想マシンで実行している可能性がある Windows サービスを直接置き換えることができます。 「.NET の Worker サービス」をご覧ください。

次のステップ

関心をお持ちの Azure サービスの詳細については、Azure サービスをご覧ください。

Azure アーキテクチャ センターで Azure 開発のアーキテクチャに関するアドバイスを入手します。

ASP.NET のドキュメントを読む。