コンテンツにスキップ
Docs Try Aspire
Docs Try

AppHost 設定

AppHost プロジェクトは、分散アプリケーションを設定して起動します。設定には、リソースサービス、Aspire ダッシュボード、および統合によって使用される内部設定が含まれます。

AppHost 設定は起動プロファイルを通じて提供されます:

プログラミング言語を選択

C# AppHost では、プロファイルは launchSettings.json に存在します:

launchSettings.json
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:17134;http://localhost:15170",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"DOTNET_ENVIRONMENT": "Development",
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21030",
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22057"
}
}
}
}

TypeScript AppHost では、プロファイルは aspire.config.json に存在します:

aspire.config.json
{
"appHost": {
"path": "apphost.mts",
"language": "typescript/nodejs"
},
"profiles": {
"https": {
"applicationUrl": "https://localhost:17134;http://localhost:15170",
"environmentVariables": {
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21030",
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22057"
}
}
}
}
オプション既定値詳細
ASPIRE_ALLOW_UNSECURED_TRANSPORTfalseAppHost との HTTPS なし通信を許可します。ASPNETCORE_URLS(ダッシュボードアドレス)と ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL(AppHost リソースサービスアドレス)は、true でない限り HTTPS で保護する必要があります。
ASPIRE_CONTAINER_RUNTIMEdockerコンテナでサポートされているリソースに対して、代替コンテナランタイムの使用を許可します。可能な値は docker(既定値)または podman です。
ASPIRE_DCP_USE_DEVELOPER_CERTIFICATEfalsetrue に設定すると、Aspire は DCP によって生成されたエフェメラル証明書の代わりに、信頼されたデベロッパー証明書を使用して内部 DCP サーバーをセキュアします。これにより、開発証明書がすでに信頼されている場合、証明書信頼の問題を回避できます。信頼されたデベロッパー証明書が見つからない場合、Aspire は DCP によって生成されたエフェメラル証明書にフォールバックします。Windows でのみサポートされています。詳細については、証明書設定を参照してください。
ASPIRE_ENVIRONMENTnullより高い優先度の環境ソースが設定されていない場合、AppHost 環境を設定します。環境が設定されていない場合、AppHost は Production を使用します。
ASPIRE_VERSION_CHECK_DISABLEDfalsetrue に設定すると、Aspire は起動時に新しいバージョンをチェックしません。

ASPIRE_ENVIRONMENT を使用して、アプリケーションモデルを評価する際に AppHost によって使用される環境名を設定します。優先度は --environmentDOTNET_ENVIRONMENTASPIRE_ENVIRONMENT、その後 Production です。これはダッシュボードの ASPNETCORE_ENVIRONMENT を設定したり、自動的に子リソースにフローしたりしません。必要に応じて、リソース上でフレームワーク固有の変数を設定してください。詳細については、Aspire 環境を参照してください。

Aspire アプリが起動すると、新しいバージョンの Aspire が NuGet で利用可能かどうかがチェックされます。新しいバージョンが見つかった場合、ダッシュボードに最新のバージョン番号、アップグレード手順へのリンク、および今後そのバージョンを無視するボタンを含む通知が表示されます。

バージョン更新通知とアップグレードオプションを示すダッシュボードのスクリーンショット。

バージョンチェックは、以下の場合にのみ実行されます:

  • ダッシュボードが有効(相互作用サービスが利用可能)
  • 最後のチェック以来少なくとも 2 日が経過している
  • チェックが ASPIRE_VERSION_CHECK_DISABLED 設定を通じて無効になっていない
  • アプリが発行モードで実行されていない

更新は手動です。Aspire SDK およびパッケージバージョンをアップグレードするには、プロジェクトファイルを編集する必要があります。

リソースサービスは AppHost によってホストされています。リソースサービスは、Aspire によってオーケストレーションされているリソースに関する情報を取得するためにダッシュボードによって使用されます。

オプション既定値詳細
ASPIRE_RESOURCE_SERVICE_ENDPOINT_URLnullAppHost でホストされているリソースサービスのアドレスを設定します。launchSettings.json で自動生成され、localhost 上のランダムなポートを使用します。例: https://localhost:17037
ASPIRE_DASHBOARD_RESOURCESERVICE_APIKEY自動生成された 128 ビットエントロピートークン。AppHost のリソースサービスに対して行われた要求を認証するために使用される API キー。AppHost が実行モード、ダッシュボードが無効でなく、ダッシュボードが ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS で匿名アクセスを許可するように設定されていない場合、API キーが必要です。

既定では、ダッシュボードは AppHost によって自動的に起動されます。ダッシュボードは独自の設定セットをサポートし、一部の設定は AppHost から設定できます。

オプション既定値詳細
ASPNETCORE_URLSnullダッシュボードアドレス。ASPIRE_ALLOW_UNSECURED_TRANSPORT または DistributedApplicationOptions.AllowUnsecuredTransport が true でない限り、https である必要があります。launchSettings.json で自動生成され、localhost 上のランダムなポートを使用します。起動設定の値は applicationUrls プロパティに設定されます。
ASPNETCORE_ENVIRONMENTProductionダッシュボードが実行される環境を設定します。詳細については、ASP.NET Core で複数の環境を使用するを参照してください。
ASPIRE_DASHBOARD_OTLP_ENDPOINT_URLgRPC エンドポイントが設定されていない場合は http://localhost:18889ダッシュボード OTLP gRPC アドレスを設定します。ダッシュボードが OTLP 経由でテレメトリを受信するために使用されます。リソース上で OTEL_EXPORTER_OTLP_ENDPOINT 環境変数として設定されます。OTEL_EXPORTER_OTLP_PROTOCOL 環境変数は grpc です。launchSettings.json で自動生成され、localhost 上のランダムなポートを使用します。
ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URLnullダッシュボード OTLP HTTP アドレスを設定します。ダッシュボードが OTLP 経由でテレメトリを受信するために使用されます。ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL のみが設定されている場合、リソース上で OTEL_EXPORTER_OTLP_ENDPOINT 環境変数として設定されます。OTEL_EXPORTER_OTLP_PROTOCOL 環境変数は http/protobuf です。
ASPIRE_DASHBOARD_CORS_ALLOWED_ORIGINSnullダッシュボードで設定された CORS 許可オリジンをオーバーライドします。この設定は、リソースエンドポイントに基づいて許可オリジンを計算する既定の動作に代わります。
ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUSfalseダッシュボードが認証を使用しないように設定し、匿名アクセスを受け入れます。フロントエンド、OTLP、MCP、および API 認証モードを Unsecured に設定します。
ASPIRE_DASHBOARD_FRONTEND_BROWSERTOKEN自動生成された 128 ビットエントロピートークン。フロントエンドブラウザトークンを設定します。これは、認証モードが BrowserToken である場合にダッシュボードにアクセスするために入力する必要がある値です。ブラウザトークンが指定されていない場合、AppHost が起動されるたびに新しいトークンが生成されます。
ASPIRE_DASHBOARD_TELEMETRY_OPTOUTfalseダッシュボードが使用テレメトリを送信しないように設定します。
ASPIRE_DASHBOARD_AI_DISABLEDtrue将来の使用のために予約されています。ダッシュボード内の GitHub Copilot UI は Aspire 13.3 で削除されました。AI コーディングエージェントは、Aspire CLI および MCP サーバーを通じてテレメトリデータにアクセスできます。
ASPIRE_DASHBOARD_API_ENABLEDtrueダッシュボードテレメトリ API/api/telemetry/*)エンドポイントを有効にします。AppHost は常にこれを true に設定します。
ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLEDfalseX-Forwarded-Proto および X-Forwarded-Host ヘッダーから来ている値を使用して、Request コンテキストのスキーマとホスト値を置き換える転送ヘッダーミドルウェアを有効にします。

内部設定は AppHost と統合によって使用されます。内部設定は直接設定するように設計されていません。

オプション既定値詳細
AppHost:Directoryプロジェクトがない場合のコンテンツルート。AppHost が置かれているプロジェクトのディレクトリ。IDistributedApplicationBuilder.AppHostDirectory からアクセス可能。
AppHost:Pathディレクトリとアプリケーション名を組み合わせたもの。AppHost へのパス。ディレクトリをアプリケーション名と組み合わせます。
AppHost:Sha256AppHost が発行モード時に AppHost 名から作成されます。それ以外の場合は AppHost パスから作成されます。現在のアプリケーションの 16 進エンコードハッシュ。ハッシュは現在のマシン上のアプリケーションの場所に基づいているため、AppHost の起動間で安定しています。
AppHost:OtlpApiKey自動生成された 128 ビットエントロピートークン。ダッシュボード OTLP サービスに送信された要求を認証するために使用される API キー。値は必要な場合に存在します: AppHost が実行モード、ダッシュボードが無効でなく、ダッシュボードが ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS で匿名アクセスを許可するように設定されていません。
AppHost:DashboardApiKey自動生成された 128 ビットエントロピートークン。ダッシュボードテレメトリ API への要求を認証するために使用される API キー。AppHost:McpApiKey が設定されていない場合、MCP 認証のフォールバックとしても使用されます。値は必要な場合に存在します: AppHost が実行モード、ダッシュボードが無効でなく、ダッシュボードが匿名アクセスを許可するように設定されていません。
AppHost:BrowserToken自動生成された 128 ビットエントロピートークン。AppHost によって起動される場合にダッシュボードへのブラウジングを認証するために使用されるブラウザトークン。ブラウザトークンは ASPIRE_DASHBOARD_FRONTEND_BROWSERTOKEN によって設定できます。値は必要な場合に存在します: AppHost が実行モード、ダッシュボードが無効でなく、ダッシュボードが ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS で匿名アクセスを許可するように設定されていません。
AppHost:ResourceService:AuthModeApiKeyASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS が true の場合、値は Unsecured です。リソースサービスへのアクセスに使用される認証モード。値は必要な場合に存在します: AppHost が実行モードで、ダッシュボードが無効でなく。
AppHost:ResourceService:ApiKey自動生成された 128 ビットエントロピートークン。AppHost のリソースサービスに対して行われた要求を認証するために使用される API キー。API キーは ASPIRE_DASHBOARD_RESOURCESERVICE_APIKEY によって設定できます。値は必要な場合に存在します: AppHost が実行モード、ダッシュボードが無効でなく、ダッシュボードが ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS で匿名アクセスを許可するように設定されていません。

高度なオーケストレーションプロパティ

Section titled “高度なオーケストレーションプロパティ”

DcpCliPath プロパティは、開発者制御プレーン (DCP) 実行可能ファイルへのパスを指定します。DCP は、Aspire が開発中にローカルで分散アプリケーションリソースを実行および管理するために使用するコアオーケストレーションエンジンです。

Aspire SDK を使用する場合、ビルドシステムは自動的に:

  1. プラットフォーム固有の Aspire.Hosting.Orchestration NuGet パッケージ(例: Aspire.Hosting.Orchestration.win-x64)をインポートします。
  2. DcpCliPath をそのパッケージ内の dcp 実行可能ファイルを指すように設定します。
  3. このパスをコンパイル済みの AppHost にアセンブリメタデータとして埋め込みます。

実行時に、AppHost はこのメタデータを読み取り、DCP プロセスを見つけて起動し、アプリケーションのリソースをオーケストレーションします。

まれな場合、既定の DCP パスをオーバーライドする必要があります:

メソッド
MSBuild プロパティ<DcpCliPath>C:\path\to\dcp.exe</DcpCliPath>
コマンドライン引数--dcp-cli-path /path/to/dcp
設定DcpPublisher:CliPath

これらのシナリオで DcpCliPath をオーバーライドすることができます:

  • Aspire 貢献者: Aspire 自体を開発する際に、DCP のカスタムまたはデバッグビルドでテストします。
  • CI/CD パイプライン: 自動検出が機能しない非標準 SDK レイアウト。
  • トラブルシューティング: 特定の DCP バージョンを一時的に指す際に問題を診断します。