.NET .NET Aspire 統合の概要
.NET Aspire 統合は、クラウドネイティブ アプリケーションと、Redis や PostgreSQLなどの主要なサービスとプラットフォームの統合を容易にするために選択された NuGet パッケージのキュレーションされたスイートです。 各統合は、自動プロビジョニングまたは標準化された構成パターンを通じて、重要なクラウドネイティブ機能を提供します。
アドバイス or ヒント (for advice context) チップ (for gratuity context)
常に最新バージョンの .NET.NET Aspire 統合を使用して、最新の機能、機能強化、およびセキュリティ更新プログラムを利用するように努めます。
統合の責任
ほとんどの .NET.NET Aspire 統合は、それぞれ異なる責任を持つ 2 つの個別のライブラリで構成されています。 1 つの種類は、アプリ ホスト プロジェクト内のリソース (ホスティング統合と呼ばれます) を表します。 もう 1 つの種類の統合は、ホスティング統合によってモデル化されたリソースに接続するクライアント ライブラリを表し、
ホスティング統合
ホスティング統合では、リソース (コンテナーやクラウド リソースなど) をプロビジョニングするか、既存のインスタンス (ローカル SQL サーバーなど) をポイントすることで、アプリケーションを構成します。 これらのパッケージは、キャッシュ、データベース、ログ記録、ストレージ、メッセージング システムなど、さまざまなサービス、プラットフォーム、または機能をモデル化します。
ホスティング統合により、IDistributedApplicationBuilder インターフェイスが拡張され、アプリ ホスト プロジェクトは、アプリ モデル内のリソースを表現できます。 統合 NuGet パッケージ をホストする公式
カスタム
Client 統合
Aspire.
が付き、統合する完全なパッケージ名 (Aspire.StackExchange.Redis
など) が含まれます。
これらのパッケージは、ホスティング統合に接続するように既存のクライアント ライブラリを構成します。 これにより、IHostApplicationBuilder インターフェイスが拡張され、Web アプリや API などのクライアントが使用するプロジェクトで、接続されたリソースを使用できるようになります。 公式 クライアント統合 NuGet パッケージ は、aspire
、integration
、および client
でタグ付けされます。 公式のクライアント統合に加えて、コミュニティは、Community Toolkit の一部として、さまざまなサービスとプラットフォームに クライアント統合を作成しました。
カスタム クライアント統合の作成の詳細については、「カスタム .NET.NET Aspire クライアント統合作成する」を参照してください。
ホスティングとクライアント統合の関係
ホスティングとクライアントの統合は、一緒に使用する場合に最適ですが、 結合されておらず、個別に使用できます。 一部のホスティング統合には、対応するクライアント統合がありません。 構成は、ホスティング統合をクライアント統合と連携させるものです。
ホスティングとクライアントの統合の関係を示す次の図を考えてみましょう。
アプリ ホスト プロジェクトでは、ホスティング統合が使用されます。 構成 (特に環境変数) はプロジェクト、実行可能ファイル、コンテナーに挿入され、クライアント統合をホスティング統合に接続できます。
統合機能
.NET
.NET Aspire ソリューション内のプロジェクトにクライアント統合を追加すると、サービスの既定値 がそのプロジェクトに自動的に適用されます。つまり、Service Defaults プロジェクトが参照され、AddServiceDefaults
拡張メソッドが呼び出されます。 これらの既定値は、ほとんどのシナリオで適切に動作するように設計されており、必要に応じてカスタマイズできます。 次のサービスの既定値が適用されます。
監視とテレメトリの: ログ記録、トレース、メトリックの構成を自動的に設定します。
正常性チェック: HTTP エンドポイントを公開して、アプリに関する基本的な可用性と状態情報を提供します。 正常性チェックは、コンテナー オーケストレーター、ロード バランサー、API ゲートウェイ、およびその他の管理サービスによる決定に影響を与えるために使用されます。
回復性: システムが障害に対応し、引き続き機能します。 回復性は、障害を防ぐだけでなく、クラウドネイティブ環境の復旧と再構築を正常な状態に戻す機能まで拡張されます。
バージョン管理に関する考慮事項
ホスティングとクライアントの統合は、依存リソースの最新の安定したバージョンを対象とするように、リリースごとに更新されます。 コンテナー イメージが新しいイメージ バージョンで更新されると、ホスティング統合はこれらの新しいバージョンに更新されます。 同様に、依存クライアント ライブラリで新しい NuGet バージョンを使用できる場合、対応するクライアント統合が新しいバージョンに更新されます。 これにより、最新の機能とセキュリティ更新プログラムをアプリケーションで使用できるようになります。
依存リソースで重大な破壊的変更が発生した場合、破壊的変更全体の更新を容易にするために、統合がバージョン依存パッケージに一時的に分割される可能性があります。 詳細については、そのような破壊的変更の最初の例 を参照してください。
公式インテグレーション
.NET .NET Aspire には、クラウドネイティブ アプリケーションの構築に役立つ多くの統合が用意されています。 これらの統合は、.NET.NET Aspire アプリ ホストとクライアント ライブラリとシームレスに連携するように設計されています。 以下のセクションでは、クラウドに依存しない、Azure固有、アマゾン ウェブ サービス (AWS)、Community Toolkit の統合について詳しく説明します。
クラウドに依存しない統合
次のセクションでは、クラウドに依存しない .NET.NET Aspire の統合と、それぞれのドキュメントと NuGet パッケージへのリンクについて詳しく説明し、各統合について簡単に説明します。
.NET Aspireでの Visual Studio 統合の使用の詳細については、Visual Studio ツールを参照してください。
Azure 統合
Azure 統合では、Azure リソースを使用するようにアプリケーションが構成されます。 これらのホスティング統合は、Aspire.Hosting.Azure.*
NuGet パッケージで使用でき、クライアント統合は Aspire.*
NuGet パッケージで使用できます。
アマゾン ウェブ サービス (AWS) ホスティング統合
統合ドキュメントと NuGet パッケージ | 説明 |
---|---|
- ホスティング: 📦Aspire.Hosting.AWS - Client: N/A |
AWS リソース |
詳細については、「GitHub: Aspire」を参照してください。Hosting.AWS ライブラリ。
Community Toolkit の統合
手記
Community Toolkit の統合は、コミュニティ主導であり、.NET.NET Aspire コミュニティによって維持されます。 これらの統合は、.NET.NET Aspire チームによって正式にサポートされていません。
統合ドキュメントと NuGet パッケージ | 説明 |
---|---|
-
詳細を見る: 📄Azure 静的 Web Apps エミュレーター - ホスティング: 📦 CommunityToolkit。Aspire.ホスティング。Azure.StaticWebApps - Client: N/A |
Azure Static Web Apps エミュレーター のためのホスティング統合 (注: この統合ではプロジェクトを Azure 静的 Web Apps にデプロイすることはサポートされていません)。 |
-
もっと詳しく: 📄 Bun ホスティング - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Bun - Client: N/A |
Bun アプリのホスティング統合。 |
- ホスティング: 📦 CommunityToolkit。Aspire.ホスティング。Deno - Client: N/A |
Deno アプリのホスティング統合。 |
-
詳細: 📄 ホスティングを開始 - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Golang - Client: N/A |
Go アプリのホスティング統合。 |
-
詳細を確認: 📄 Java/Spring ホスティング - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Java - Client: N/A |
ローカル JDK またはコンテナーを使用して、.NET.NET Aspire で Java コードを実行するための統合。 |
-
詳細情報: 📄Node.js ホスティング拡張機能 - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.NodeJs.Extensions - Client: N/A |
Node.js アプリケーションを実行するための追加の拡張機能を含む統合 |
-
詳しく見る: 📄 Ollama - ホスティング:📦 CommunityToolkit。Aspire.Hosting.Ollama - Client: 📦Aspire.CommunitToolkit.OllamaSharp |
Aspire コンテナーを利用する コンポーネントで、起動時にモデルをダウンロードできます。 |
-
詳細はこちら: 📄 Meilisearch ホスティング - ホスティング:📦 CommunityToolkit。Aspire.Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
Aspire コンテナーを利用する コンポーネント。 |
-
詳細情報: 📄 Rust ホスティング - ホスティング: 📦 CommunityToolkit。Aspire.Hosting.Rust - Client: N/A |
Rust アプリのホスティング統合。 |
- ホスティング: 📦 CommunityToolkit。Aspire.Hosting.SqlDatabaseProjects - Client: N/A |
SQL Database プロジェクトの Aspire ホスティング統合。 |
詳細については、「.NET.NET Aspire Community Toolkit」を参照してください。
.NET Aspire