Visual Studio を使用した Azure 開発
クラウド サービスを使用して実装する必要がある多くの問題を処理すると、アプリケーションの開発が容易になります。 Azure クラウドでホストされているクラウド サービスを使用する場合は、Microsoft が管理する信頼性の高い高可用性クラウド環境を使用して、多くのアプリやサービスが必要とするインフラストラクチャの多くを処理し、アプリケーション固有の開発作業に集中できるようにします。
この記事では、Web サイトの稼働、ストレージ、データベース、シークレット管理などのサービスへの接続、キャッシュなどの価値を高めるサービスの使用など、Visual Studio が Azure 開発にどのように役立つかについて説明します。
多くの Visual Studio サブスクリプションには、Azure の個々の開発/テスト クレジット 含まれています。 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 にデプロイできる Web サイトと Web アプリケーションを作成できます。
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 コンテナ アプリ | Visual Studio を使用して Azure Container Apps にデプロイする |
Azure Functions | Visual Studio を使用して Azure で最初の C# 関数を作成する |
Azure Container Registry | Visual Studio を使用してコンテナー レジストリに ASP.NET コンテナーを配置する |
GitHub リポジトリの CI/CD を初めて構成する際にヘルプが必要な場合は、Visual Studio で GitHub Action スターター ワークフローの使用を開始できます。 詳細については、「Visual Studioによって作成された GitHub Actions ワークフローを使用してアプリケーションを Azure にデプロイする」を参照してください。 Azure へのデプロイ用の CI/CD の設定について詳しくは、Azure App Service への継続的デプロイに関するページを参照してください。
.NET Aspire
.NET Aspire は、監視可能なクラウドベースのアプリのサービスとコンポーネントを調整するためのインフラストラクチャを提供します。 監視可能なアプリ は、実行中にリアルタイムで完全に監視されるように設定されているアプリです。 .NET Aspire は、複数のサービス、データベース、およびその他の依存関係を整理および調整する手段として、開発時に特に関連します。
Visual Studio 17.9 以降では、ASP.NET と Web 開発の と Azure 開発 ワークロードがインストールされており、.NET Aspire SDK が含まれており、.NET アスパイアに プロジェクト テンプレートが提供されています。
ASP.NET Core プロジェクトには、プロジェクト作成時にアスパイア オーケストレーションに参加するオプションとコンテキスト メニュー項目が含まれています。ソリューション エクスプローラーの [Add >NET Aspire Orchestrator Support]\(NET アスパイア オーケストレーター サポートの追加\)、プロジェクトをアスパイア オーケストレーションに参加させるために使用できます。 これらのアクションにより、(既に存在しない限り) アスパイア オーケストレーション プロジェクト (AppHost および ServiceDefaults) がソリューションに追加されます。 Visual Studio 17.13 以降では、この機能は Azure Functions プロジェクトでもサポートされています。 詳細については、.NET Aspire ツール を参照してください。
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 Service や Azure Container Appsなどのサービスを使用して、コンテナーを Azure に簡単にデプロイ。
アプリを Azure Storage およびデータベース サービスに接続する
クラウド内のさまざまなデータ オブジェクトに対して高可用性、非常にスケーラブル、耐久性、セキュリティで保護されたストレージである Azure Storage を使用すると、ファイルとデータの管理が大幅に容易になります。 Azure Storage を使用してすべてを格納し、Web サイト、デスクトップ アプリ、またはモバイル アプリで使用できるようにします。
また、Azure には、オンプレミスの SQL Server から最大の要件にスケールアップできるビッグ データ ソリューションへの簡単な移行を可能にするクラウドホスト型 SQL Database から、さまざまなニーズに適したさまざまなデータ サービスも用意されています。
Azure Storage に接続する
- BLOB の格納と取得
- ファイルの管理
- キューを使用してメッセージングを実装する
- 構造化された NoSQL データを管理する
Azure Storage の詳細と、Visual Studio を使用して Azure Storage に接続する方法について学習します。
データベースへの接続
Azure SQL Database やその他の Azure データベース オファリング (Azure Cosmos DB など) への接続は、ローカル SQL Serverに接続するのと同じくらい簡単です。 詳細については、「データベースとデータ プロバイダーの」を参照してください。
Web サービスとデータ サービスに接続する
データ プロバイダーは、Open Data Protocol (OData) や gRPC などの標準プロトコルを使用してサービスを利用できるようにします。 これらのサービスに接続することも、自分で Web サービスを作成する場合は、Web API、Azure Functions、または Azure API Management ASP.NET 選択して、それらの接続を追加できます。 サポートされているサービスとプロトコルの一覧とその接続方法については、「アプリを 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 サービス
このセクションは、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 Asper 試してみてください。
次の手順
Azure サービスで関心がある Azure サービスの詳細について説明します。
関連コンテンツ
Azure アーキテクチャ センターで Azure 開発のアーキテクチャに関するアドバイスを入手してください。
従来の Azure Cloud Services の作業については、「Azure Cloud Services の拡張サポート 」を参照してください。