CLIツール
microsoft/aspire avatar
microsoft/aspire

Aspireはapphostに分散アプリの関係をコードで書く

プロジェクト概要:Aspire は、コードファースト、拡張可能、監視可能な開発とデプロイのためのツールです。

スター 6,310フォーク 991C#MIT

ひと目でわかる

これは何?
C#またはTypeScriptのAppHost定義をAspire CLIがローカル実行とOpenTelemetry観測、デプロイへ運ぶ。インストール経路とコンテナ評価の責任分界を整理する。
誰に向いている?
Aspireは、サービスとフロントとキャッシュの関係をapphostに書き、同じ定義でローカル起動したい分散アプリ開発者向けです。第三者コンテナのセキュリティ適合をAspireチームが代行する前提、日次ビルドを本番固定する前提には向きません。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に C# です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月17日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

コードファーストの分散アプリ定義をCLIが運ぶ

microsoft/aspireのREADMEは、Aspireを複数言語対応のコードファーストなツールチェーンだと定義します。分散アプリケーションの構築、実行、デプロイが対象です。サービス、フロントエンド、コンテナ、データベース、キャッシュ、接続の組み合わせをコードで記述し、Aspire CLIがアプリ全体をローカルで走らせ、OpenTelemetryベースの観測を出し、同じ定義をデプロイへ運ぶ、と書いています。リポジトリ説明の「code-first, extensible, observable dev and deploy」と同じ線です。言語メタデータはC#、ライセンスはMIT、ホームページはhttps://aspire.devです。

このリポジトリに含まれるものはAspire CLI、AppHost SDK、ダッシュボード、サービスディスカバリ基盤、プロジェクトテンプレート、統合、VS Code拡張です。単一のランタイム製品というより、定義と実行と観測の周辺一式です。素材時点のstarsは6272、open issuesは2244、既定ブランチはmain、最新タグはv13.5.3(Aspire 13.5.3、2026-08-25)で、直前にv13.5.2とv13.5.1があります。issueの多さは活発さの指標であり、自分の統合が安定している証明ではありません。

CLIが運ぶのはリポジトリが列挙した部品の組み合わせであり、Kubernetesマニフェストの生成器だとREADMEは名乗っていません。観測がOpenTelemetryベースであることと、本番のメトリクスバックエンドが何かは別問題です。最初の確認は aspire.dev の first-app 手順と、このリポジトリの apphost 例のどちらを再現するかを決めることです。

apphost.csでRedisを待ちNodeとViteを繋ぐ例

READMEの簡単な定義はC#のapphost.csとTypeScriptのapphost.tsが対になっています。C#側は DistributedApplication.CreateBuilder(args) から入り、builder.AddRedis("cache")、builder.AddNodeApp("api", "./api", "src/index.ts") に WithReference(cache)、WaitFor(cache)、WithHttpEndpoint(env: "PORT")、WithExternalHttpEndpoints() を繋ぎ、builder.AddViteApp("frontend", "./frontend") がAPIを参照して WaitFor(api) します。最後は builder.Build().Run() です。

TypeScript側は createBuilder を .aspire/modules/aspire.js から読み、メソッド名が camelCase になる点以外は同じ構造です。ここで確認できる事実は、キャッシュ名cache、Nodeアプリの入口 src/index.ts、環境変数PORT、外部HTTP、ViteフロントがAPI起動を待つ、という順序です。性能、自動スケール、本番オーケストレータの既定値は例にありません。導入確認は、この例を最小構成としてRedisが上がるまでAPIが待つか、フロントがAPIを待つかをログで見ることです。

install.ps1とinstall.shと日次ビルドを分ける

最新リリース版CLIの入れ方はOSで分かれます。Windowsは irm https://aspire.dev/install.ps1 | iex、LinuxまたはmacOSは curl -sSL https://aspire.dev/install.sh | bash です。パイプ実行なので、スクリプトの取得元と実行権限を自分で確認する必要があります。日次ビルドを使いたい場合は docs/using-latest-daily.md へ送られ、リリース版とは別経路です。v13.5.x を固定したいなら、日次手順を混ぜない方が再現できます。

有用リンクとして README は Documentation(https://aspire.dev/docs/)、最初のアプリ(https://aspire.dev/get-started/first-app/)、CI(ci.yml)、サンプルリポジトリ microsoft/aspire-samples、Developer Control Plane の microsoft/dcp、PRのdogfooding手順 docs/dogfooding-pull-requests.md を挙げます。CLIだけ入れてもAppHost SDKやダッシュボードの版が食い違うと、apphostのAPIが解決しません。確認は、インストールしたCLIの版、テンプレートが生成するSDK参照、ダッシュボードが開くアドレスを同じメモに残すことです。

セキュリティバグは公開GitHub issueではなくMSRCメール経路です。コンテナ評価の但し書きと合わせると、脆弱性対応の窓口がAspire本体と第三者イメージで分裂します。報告先を取り違えないよう、自分の構成表にコンポーネントごとの連絡先を書いておきます。

AppHost SDKとDCPとダッシュボードの分担

リポジトリ内訳はCLI、AppHost SDK、ダッシュボード、サービスディスカバリ、テンプレート、統合、VS Code拡張です。ローカル実行のプロセス管理はリンク先のDeveloper Control Plane(microsoft/dcp)に分かれています。Aspire本体のREADMEはDCPのプロトコルを展開していません。観測はOpenTelemetryベースとだけ書かれ、どのエクスポータが既定かは未記載です。Discordへの招待バッジはコミュニティ入口であり、SLAではありません。

貢献は docs/contributing.md、セキュリティ報告はMSRCの secure@microsoft.com(24時間以内の応答を期待、SECURITY.md にも同じ手順)です。公開issueへ脆弱性を書く経路ではありません。テンプレートと統合を足す開発者は、まずcontributing文書のビルド手順を再現し、自分の変更がダッシュボードとCLIの両方に見えるかを見る必要があります。ドキュメントサイト aspire.dev が、リポジトリREADMEより手順の本体です。

第三者コンテナの適合はAspireチームが評価しない

READMEは資源とクライアント統合が使うコンテナについて、明確な但し書きを置いています。Aspireチームは、APIサポートを付けている第三者コンテナの適否を、個々の顧客要件に対して評価できない、という文です。利用者がcomposeし自動化するコンテナを、自組織や政府のセキュリティ、安全、暗号規制、その他の規制や社内基準に照らして自分で評価せよ、とあります。RedisのAddRedisが便利でも、そのイメージのCVEやライセンスはAspireのMITとは別問題です。

検証では、apphostが参照するイメージ名とタグを固定し、自分のレジストリポリシーに合うかを先に見ます。評価を省略して「Aspireが選んだから安全」とする読みは、この但し書きと衝突します。暗号モジュール要件がある環境では、キャッシュやDBのコンテナを差し替えたあとでも WaitFor と WithReference が成立するかを、Aspireの例と同じ順序で確認します。

MITとv13.5.3を固定してもオーケストレーション保証にはならない

コードのライセンスはMIT(LICENSE.TXT)です。再配布は広い一方、コンテナやクラウド側の利用規約は対象外です。リリースv13.5.3を候補にするなら、CLI、SDK、テンプレートの三つが同じ系列かをリリースノートで確認します。open issues 2244は、統合ごとの不具合が残る前提で読む方が安全です。

向くのは、apphostに関係を書き、ローカルでRedisとNodeとViteのような待ちグラフを再現したいチームです。向かないのは、コンテナの適合証明をmicrosoft/aspireに委任したい組織、日次ビルドとリリース版を混在させたまま本番定義を凍結したい運用です。最初の確認は install スクリプトで入れたCLIの版、READMEのapphost.cs相当が Run できること、参照コンテナのタグとライセンスを別表に残すことです。

編集部の結論

Aspireは、サービスとフロントとキャッシュの関係をapphostに書き、同じ定義でローカル起動したい分散アプリ開発者向けです。第三者コンテナのセキュリティ適合をAspireチームが代行する前提、日次ビルドを本番固定する前提には向きません。Windowsならirm https://aspire.dev/install.ps1 | iex、Linux/macOSならcurl -sSL https://aspire.dev/install.sh | bashのあと、READMEのapphost.cs例でAddRedis、AddNodeApp、AddViteAppの待ち関係が再現できるかを見てください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート