Visual Studio を使用した Azure 開発

クラウドサービスを利用すると、通常は実装しなければならない多くの問題を処理できるため、アプリケーション開発が容易になります。 Azure クラウドでホストされているクラウド サービスを使用する場合は、Microsoft が管理する信頼性の高い高可用性クラウド環境を使用して、多くのアプリやサービスが必要とするインフラストラクチャの大半を処理して、アプリケーションに固有の開発作業に集中できるようにします。

この記事では、Web サイトを作成して稼働させる場合、ストレージ、データベース、シークレット管理などのサービスへの接続、キャッシュなどの価値を高めるサービスの使用など、Visual Studio が Azure 開発にどのように役立つかについて説明します。

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

Azure で Web アプリをホストし、動的にスケールアウトすることで、限られたインフラストラクチャに負荷をかけずに、より多くのユーザーに同時にサービスを提供することができます。 Azure でのホスティングによって、Azure プラットフォームが提供する豊富なサービス エコシステムを利用できます。 アプリは、App Service や Azure Container Apps (コンテナー化されたアプリの場合) などの豊富なサービスを使用して、簡単に管理することができます。

オンプレミス アプリの場合は、Azure にアタッチして、BLOB のストレージ、Azure でホストされているデータベース、App Insights による監視、ID 管理など、特定の Azure サービスの利点を得ることができます。

Visual Studio には、Azure サービスに接続するアプリケーションや、Azure にデプロイされ Azure クラウドでホストされるアプリケーションの開発をより簡単に行うための機能が多数用意されています。 Visual Studio には、初期開発フェーズ中にサービスに簡単に接続できるようにするメカニズムと、Azure へのアプリケーションの発行またはデプロイを容易にするメカニズムが用意されています。また、ローカル コンピューター上で Visual Studio デバッガーを使用して Azure アプリケーションに接続できるため、クラウド アプリケーションのデバッグ操作がローカル デバッグと同じくらい簡単になります。

サポートされているテクノロジと言語

Visual Studio を使用すると、Azure クラウドで実行されるアプリの開発と、オンプレミス、デスクトップ、モバイル アプリからの Azure サービスへの接続の両方を行うことができます。 Visual Studio は、Windows 開発者が .NET および ASP.NET アプリケーションを Azure サービスに接続するための最も充実した完全な環境です。 Visual Studio では、Node.js や Python など、Azure CLI を使用して Azure にデプロイできるウェブサイトやウェブ アプリケーションの作成に使用できる他のテクノロジー スタックでの開発もサポートしています。

C++ 開発者は C++ クライアント ライブラリを使用して Azure Storage などの Azure サービスにアクセスでき、C および C++ を使用する IoT デバイス開発者はデバイスとサービスを Azure に接続できます。 「Visual C++ でのクラウドおよび Web プログラミング」をご覧ください。

以前の多くのリリースで Visual Studio でサポートされている Azure Cloud Services のユーザーは、Azure Cloud Services (延長サポート) を使用して Visual Studio でこれらのサービスを引き続きお使いいただけます。

Azure サービスに接続する

アプリケーションで Azure サービスを使用する場合、通常、パッケージ参照、コードの変更、構成の変更など、プロジェクトに複数の変更を加える必要があります。また、接続するサービスを指定したり、それがまだ存在しない場合は作成したりするために、Azure で多くの変更が必要になります。 Visual Studio は、指定した情報に基づいて、プロジェクトと Azure でこれらの変更を加えて、このプロセスを容易にするのに役立ちます。 また、Visual Studio にはすべての変更の一覧が表示されるので、変更内容を確認して完全に理解できます。

Visual Studio 接続済みサービス は、プロジェクト (Web およびオンプレミス) を Azure サービスに接続するために使用できるステップ バイ ステップ ウィザードの名前です。 Visual Studio から接続して管理できる Azure サービスの詳細については、「Visual Studio 接続済みサービスについて」をご覧ください。

接続済みサービス ウィザードを使用すると、Visual Studio IDE から必要なすべての Azure の操作を直接実行できます。 Azure portal を使用する代わりに、Azure でのリソースのプロビジョニング、リソース グループの作成、Azure リソースの参照と表示、アプリケーションとサービスのデプロイを行うことができます。 プロジェクトが Azure サービスに接続されるかデプロイされると、[接続済みサービス] タブにリソースに関する情報が表示され、デプロイへの便利なリンクが表示されます。 「Visual Studio での Azure 開発について」をご覧ください。

Azure クラウドにアプリケーションをデプロイする

Visual Studio を使用すると、ボタンをクリックするだけで、オンデマンドでアプリケーションを Azure にデプロイできます。 この利便性は、CI/CD がまだ構成されていない可能性がある開発およびテスト時に役立ちます。 CI/CD (継続的インテグレーションと継続的デリバリー (CI/CD)) は、デプロイされたサービスを中断することなく、開発チームがアプリケーション コードに加えたローカルの変更を Azure で実行している実装アプリケーションに自動的に統合するシステムです。 Azure Pipelines または GitHub Actions を使用して、これを設定できます。

何をデプロイしますか?

配置ターゲット ドキュメント
Azure App Service (.NET Core) ASP.NET Core Web アプリをデプロイする
Azure App Service (.NET Framework) ASP.NET Web アプリをデプロイする (.NET Framework)
Azure Container Apps Visual Studio を使用して Azure Container Apps にデプロイする
Azure Functions Visual Studio を使用して Azure で初めての C# 関数を作成する
Azure Container Registry Visual Studio を使用して ASP.NET Docker コンテナーをコンテナー レジストリにデプロイする

GitHub リポジトリの CI/CD を初めて構成する際にヘルプが必要な場合は、GitHub Action スターター ワークフローの使用を開始するのに、Visual Studio が役立ちます。 詳細については、「Visual Studio で作成した GitHub Actions ワークフローを使用してアプリケーションを Azure にデプロイする」をご覧ください。 Azure にデプロイするための CI/CD の設定の詳細については、「Azure App Service への継続的デプロイ」をご覧ください。

Visual Studio を使用して Azure でデバッグする

Visual Studio を使用して Azure で実行中にアプリケーションをデバッグできるため、運用環境にできるだけ近い環境で問題を特定し、再現することができます。 Azure App Service でホストされている Web アプリについては、「Azure App Service 上の ASP.NET Core をリモート デバッグする」を参照してください。 Azure Functions については、Visual Studio を使用した Azure Functions の開発 - リモート デバッグに関するページを参照してください。

仮想マシン (VM) を使用して ASP.NET Core Web アプリをホストする場合は、「Visual Studio から Azure VM を使用して IIS 上の ASP.NET Core をリモート デバッグする」を参照してください。

統合された Azure 機能を使用する

アプリを Azure クラウドで実行すると、Azure の高可用性標準、スケールアップおよびスケールアウト機能、監視ロード テスト、その他の利点からメリットを得ることができます。 Visual Studio には、リモート デバッグ、ログの表示などの Azure 機能が統合されています。

ローカル エミュレーション のサポートでコストを削減する

開発フェーズでは、利便性とコスト削減のために Azure サービスのローカル エミュレーターを使用して実験と開発を行い、その後 Azure にデプロイできます。 詳細については、「ローカルの、および接続された構成」をご覧ください。

Docker のサポート

Docker を使用してアプリとサービスをコンテナー化することもできます。 Docker コンテナーを使用すると、実行中のアプリケーションに一貫性のある再現可能なオペレーティング システムと環境が提供されます。 Visual Studio により、コンテナーのデバッグ時に同じ使い慣れたエクスペリエンスが提供され、コンテナーのライフサイクルをローカルで監視および管理し、コンテナー レジストリにコンテナーをデプロイするのに役立ちます。

アプリをコンテナー化すると、Azure App ServiceAzure Container Apps などのサービスを使用して、コンテナーを Azure に簡単にデプロイできます。

アプリを Azure Storage とデータベース サービスに接続する

クラウド内のさまざまなデータ オブジェクトに対応する高い可用性、幅広い拡張性、優れた耐久性と安全性を持つストレージである Azure Storage を使用すると、ファイルとデータの管理がとても簡単になります。 Azure Storage を使用してすべてを保存し、ウェブサイト、デスクトップ アプリ、またはモバイル アプリで利用できるようにします。

また、Azure は、オンプレミスの SQL Server から簡単に移行できるクラウド ホストの SQL Database から、最大の要件にスケールアップできるビッグ データ ソリューションまで、さまざまなニーズに適した多様なデータ サービスを提供しています。

Azure Storage への接続

  • BLOB の格納と取得
  • ファイルを管理する
  • キューを使用したメッセージングの実装
  • 構造化された NoSQL データの管理

詳細については、「Azure Storage」および Visual Studio を使用して「Azure Storage に接続する」方法を参照してください。

データベースへの接続

Azure SQL DatabaseAzure Cosmos DB などその他の Azure データベース オファリングへの接続 は、ローカルの SQL Server に接続するのと同じくらい簡単です。 詳細については、「データベースとデータ プロバイダー」をご覧ください。

Web およびデータ サービスに接続する

データ プロバイダーでは、Open Data Protocol (OData) や gRPC などの標準プロトコルを介してサービスを利用できます。 これらのサービスに接続することも、ご自分で Web サービスを作成する場合は、 ASP.NET Web API、Azure Functions、または Azure API Management を選択して、それらの接続を追加することもできます。 サポートされるサービスとプロトコルのリストとその接続方法については、「アプリを gRPC、OpenAPI、および WCF エンドポイントに接続する」をご覧ください。

ASP.NET Web アプリケーション

Visual Studio での Azure 用 ASP.NET Web アプリケーションの開発に関する概要を参照してください。

その他の Web アプリケーション テクノロジ

JavaScript と Python を使用する開発者は、Azure 開発に Visual Studio または Visual Studio Code を使用できます。 どちらの開発環境でも、Azure CLI をインストールしたら、Azure CLI のドキュメントのチュートリアルに従い、すべての Azure サービスで接続コードを手動で追加するために役立つクイックスタートとチュートリアルをドキュメントから見つけます。

Node.js には、サーバー側 JavaScript を使用した Web アプリケーション開発用の別のオプションが用意されています。 詳細については、「JavaScript 開発者にとって Azure とは」を参照し、「Azure で Node.js Web アプリをデプロイする」から開始してください。

Python は人気が高まっている言語であり、Web フレームワーク Django と Flask を使用する場合は、Web アプリケーションを開発するもう 1 つの方法です。 「Azure での Python の概要」をご覧ください。

このセクションは、どのような Azure サービスが役立つ可能性があるかを紹介します。 まず、これらのクイック スタートをお読みください。Visual Studio を開発ツールとして使用して各サービスを開始する方法が記載されています。 これらのリンクから、Visual Studio ユーザー向けのページ (使用可能な場合) から始まる各 Azure サービスのドキュメントが表示されます。

ご自分のニーズに最適な Azure サービスをお探しの場合は、Azure App Service を試してみてください。

トリガーは、特定の状態が発生したときにコードが実行されるように設定するイベントです。 タイマーに従ってスケジュールすることも、キュー内のメッセージ、他の Azure サービス内のイベント、または Web フックに応答するように設定することもできます。 トリガーが必要な場合は、Azure Functions をお試しください。

簡単なコンテナーが必要な場合は、Azure Container Apps をお試しください。

高度なコンテナーが必要な場合は、Azure Kubernetes Service をお試しください。

API にコントロールを追加する場合は、Azure API Management をお試しください。

複数の長いクライアント接続をサポートする場合は、Azure SignalR Service をお試しください。

複雑な分散型アプリを開発していて、多くのサービス間のオーケストレーションが必要な場合は、.NET Aspire をお試しください。

次のステップ

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

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

従来の Azure Cloud Services の作業については、Azure Cloud Services - 延長サポートに関するページを参照してください。