コンテンツにスキップ

Cloudflare R2 クライアント高速配布

AegisMesh のクライアントバイナリ(Windowsインストーラー、macOS、Linux deb/rpm、Android APK等)は、Cloudflare R2 オブジェクトストレージ と Cloudflare Pages / Workers エッジAPI を連携させたグローバルCDN基盤より配信されています。


高速配布アーキテクチャ

sequenceDiagram
autonumber
actor User as ユーザー / インストーラー
participant API as AegisMesh Edge API (/api/download/linux-deb)
participant R2 as Cloudflare R2 (Global CDN Edge)
User->>API: GET /api/download/linux-deb
Note over API: 最新ファイル名 (aegismesh_amd64.deb) を即時解決<br>(Worker CPU時間: 0.5ms未満)
API-->>User: HTTP 302 Found (Location: https://pub-...r2.dev/latest/aegismesh_amd64.deb)
User->>R2: GET /latest/aegismesh_amd64.deb (Rangeリクエスト / 高速並列ダウンロード)
R2-->>User: 200 OK (最寄りエッジキャッシュより超高速ストリーミング)

採用された設計原則

  1. Workerストリーミングの完全排除(CPU時間0.5ms未満): 数百MBのバイナリをWorker内部でバッファリングやプロキシ中継すると、WorkerのCPU制限(50ms〜500ms)を圧迫します。AegisMesh はR2の公開CDN URLへの 即時 302 リダイレクト を採用することで、WorkerのCPU実行時間を0.5ms未満に抑えています。
  2. 完全性検証台帳(SHA256SUMS)の常時同期: バイナリのビルド完了と同時に SHA256SUMS ハッシュ台帳が自動生成され、R2に同期されます。
  3. 最新版固定URLとバージョン固定URLの並行提供:
    • 最新版: /api/download/<target> → latest/<filename>
    • バージョン指定: /api/download/<target>?version=0.79.0 → v0.79.0/<filename> 社内環境の自動展開スクリプト等でバージョンを固定したい場合でも、安全に永続URLを利用できます。