次の方法で共有


概要: Visual Studio を使用して Azure 用 ASP.NET Web アプリを開発する

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

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

[前提条件]

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

Azure 開発および ASP.NET および Web 開発ワークロードがインストールされている Visual Studio 2019 以降が必要です。

アーキテクチャの図

次の図は、ストレージ、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) は、フル機能のクラウドベースの ID 管理サービスです。 詳細については、「 Microsoft Entra とは」を参照してください。

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

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

Visual Studio で接続済みサービスを使用 して Microsoft Entra ID に接続する方法について、アプリでこれらのサービスの使用を開始する方法について説明します。

App Configuration

Azure にデプロイされた ASP.NET Web アプリでは、すべての環境 (テスト、ユーザー受け入れテスト (UAT)、運用前、運用) の構成が必要になる場合があります。 この構成は 、Azure App Configuration を使用して管理できます。 Azure App Configuration にアプリを接続する方法を、Visual Studio の Connected Services を使用して 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 の移行に関する説明を参照してください。

ワーカーサービス

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

次のステップ

Azure サービスで関心がある可能性がある Azure サービスの詳細について説明します。

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

ASP.NET ドキュメントを参照します。