.NET Aspire ツールについて学習する
.NET Aspire により、クラウドネイティブ アプリの作成と管理に役立つツールが Visual Studio ユーザー インターフェイスに追加されます。 これらのツールは、異なるコンテナーで実行されている場合でも、完全なアプリを構成するコンポーネントが明確であるため、混乱を和らげることができます。 .NET Aspire ダッシュボードには、実行中のアプリの統合されたビューと、テストとデバッグに役立つ診断および監視データも示されます。
もう一度、架空のアウトドア用の衣料品や機器の会社のシナリオを考えてみましょう。 開発チームは、各マイクロサービスのアーキテクチャ設計を完了し、開発を始めたいと考えています。 あなたは、Visual Studio とコマンド ラインで .NET Aspire を操作する方法を理解したいと考えています。
このユニットでは、.NET Aspire ツールと、開発者がクラウドネイティブ アプリを作成およびデバッグする際にそれらがどのように役立つのかについて学習します。
前提条件
.NET Aspire をインストールする前に、コンピューターに次のものが必要です。
- .NET 8.0
- コンテナーをホストするための Docker Desktop または Podman。
- Visual Studio などの統合開発環境 (IDE) または Visual Studio Code などのコード エディター
Visual Studio を使用する場合は、バージョン 17.9 以降をインストールする必要があります。
Note
Docker Desktop または Podman は、マイクロサービスと一部のバッキング サービスを実行するために .NET Aspire で使用されるコンテナーをホストするために必要です。 .NET Aspire によって自動的にイメージとコンテナーが構成されてコンパイルされるため、あなたはコンテナーの専門家である必要はありません。
.NET Aspire をインストールする
Microsoft Visual Studio を使用している場合は、ASP.NET および Web 開発ワークロードから .NET Aspire SDK コンポーネントを追加することで、.NET Aspire をインストールできます。 インストールすると、新しいツールが使用可能になります。 このモジュールの後半で、この演習のこれらの手順を完了します。
Visual Studio インストーラーを使用しない場合は、.NET CLI を使って .NET Aspire をインストールすることもできます。
dotnet workload update
dotnet workload install aspire
dotnet workload list
Visual Studio のプロジェクト テンプレート
5 つの .NET Aspire アプリケーション テンプレートが追加されました。 これらを使用して、新しいアプリケーションを作成できます。
- .NET Aspire Application:このテンプレートでは、次の 2 つのプロジェクトが存在する最小限の .NET Aspire ソリューションが作成されます。App Host プロジェクトではソリューションが調整され、Service Defaults プロジェクトでは回復性、サービス検出、テレメトリの再利用可能な構成の詳細が管理されます。
- .NET Aspire Starter Application:このテンプレートでは完全なソリューションが作成されます。 これには、前のテンプレートと同じ App Host と Service Defaults プロジェクトが含まれており、バックエンド API サービスとフロントエンド Web インターフェイスのプロジェクトが追加されます。
- .NET Aspire App Host:このテンプレートでは、新しいソリューションに App Host プロジェクトのみが作成されます。 マイクロサービス、ライブラリ、その他のプロジェクトを追加して、アプリを完成させることができます。
- .NET Aspire Service Defaults:このテンプレートでは、新しいソリューションで Service Defaults プロジェクトのみが作成されます。
- .NET Aspire Test Project:このテンプレートでは、アプリ ホストの xUnit テストが作成されます。
Note
Visual Studio で開く既存の .NET Web アプリケーションに .NET Aspire を追加することもできます。 ソリューション エクスプローラーで、プロジェクトを右クリックし、[追加] を選択してから、[.NET Aspire Orchestrator Support] を選びます。 このアクションにより、App Host と Service Defaults プロジェクトがソリューションに追加され、既存のプロジェクトがサービス検出やその他の .NET Aspire 機能に登録されます。
.NET Aspire ダッシュボード
アプリケーションで作業するときは、Visual Studio デバッガーを使用して、F5 キーを押してコードを実行できます。 これを行うと、Visual Studio によって、マイクロサービスごとに Docker イメージが自動的に構築され、Docker サービスが実行されていない場合は起動され、完全なアプリケーションが実行されます。 また、マイクロサービスへの接続、アプリのパフォーマンスの調査、その動作の監視に使用できる .NET Aspire ダッシュボードが表示されます。
重要
.NET Aspire プロジェクト テンプレートでは、App Host プロジェクトがソリューションのスタートアップ プロジェクトとして設定されます。 スタートアップ プロジェクトを変更すると、デバッグ中に .NET Aspire ダッシュボードやその他のソリューションの側面が正しく機能しなくなります。
ダッシュボードのホームページには、アプリケーションを構成するすべてのリソースが表示されます。 各マイクロサービスは、プロジェクトとして一覧表示されます。 Redis キャッシュなどのバッキング サービスは、コンテナーとして一覧表示されます。 その他のコンポーネントは実行可能ファイルとして存在する場合があります。 各リソースの詳細を取得できます。 マイクロサービスにはエンドポイント列もあります。 ブラウザーに接続してリソースをテストするには、この列のリンクを選択します。
ダッシュボードには次の 4 つの監視セクションがあります。
- コンソール ログ:このページでは、上部に選択したプロジェクトから標準出力に送信されたテキストが表示されます。 標準出力は、多くの場合、イベントまたはステータス メッセージを報告するために使用されます。
- 構造化ログ:このページには、OpenTelemetry ライブラリによって生成されたイベントが表示されます。 構造化ログは、メッセージ テンプレートとパラメーターが保持されるため、他のログ イベントよりもクエリが簡単です。
- トレース:このページには、アプリによって受信された各要求のトレースが表示されます。 詳細には、タイムスタンプ、トレースの完了時刻、トレースの期間が含まれます。 [スパン] 列には、要求に関係していたすべてのリソースが表示されます。 [詳細] 列で [表示] を選択すると、トレース内のすべてのスパンとその期間を示すタイムラインが表示されます。
- メトリック:このページには、選択したメトリックのグラフが表示されます。 まず、ページの上部にあるプロジェクトを選択します。 その後、アクティブな要求数、要求期間、接続数、その他のパフォーマンス データなどの値を含むメトリックのリストから選択します。 メトリックを選択すると、ライブ グラフが表示されます。 グラフまたはフィルターの時間間隔を変更して、詳細な診断情報にドリルダウンできます。