AEGIS インフラストラクチャ構成図¶
概要
AEGIS本番環境は Synology NAS (DS1823+) + Mac mini + GitHub + Cloudflare で構成される。 本番サービス(PT, LDAS, Dashboard, Monitor)はSynologyのDockerコンテナで稼働し、 開発・Slack Bot はMac miniに残る。
全体構成図(概要)¶
graph LR
subgraph Mac["Mac mini — 開発"]
DEV["開発環境<br/>Claude Code / Codex / Gemini"]
BT["バックテスト"]
end
subgraph GH["GitHub"]
REPO["dev-Project"]
GA["GitHub Actions"]
end
subgraph Synology["Synology DS1823+ — 本番"]
PT["aegis-pt<br/>Paper Trading"]
TK["aegis-token-keeper-live<br/>OAuth2更新"]
LDAS["aegis-ldas<br/>データ収集"]
DASH["aegis-dashboard<br/>Web UI"]
MON["aegis-monitor<br/>監視+アラート"]
SLBOT["aegis-slack-bot<br/>Claude CLI + Bolt"]
end
subgraph Cloud["外部サービス"]
SAXO["Saxo Bank API"]
POLY["Polygon.io"]
UW["Unusual Whales"]
FH["Finnhub"]
FRED["FRED (St. Louis Fed)"]
CF["Cloudflare"]
SLACK["Slack / Twilio"]
end
subgraph TS["Tailscale VPN"]
TSMAC["Mac mini"]
TSSYN["Synology"]
end
DEV -->|git push| REPO
GA -->|SSH via Tailscale| Synology
PT & TK --> SAXO
LDAS --> POLY & UW & FH & FRED
MON & SLBOT --> SLACK
CF -->|Tunnel| DASH
TSMAC <-->|"メッシュVPN"| TSSYN
Mac -.-> TSMAC
Synology -.-> TSSYN
コンテナ詳細¶
graph LR
subgraph PT_Group["Paper Trading"]
PT["aegis-pt<br/>Python 3.13-slim"]
TK["aegis-token-keeper-live<br/>Python 3.13-slim"]
end
subgraph Data_Group["Data Collection"]
LDAS["aegis-ldas<br/>Python 3.13-slim + cron"]
end
subgraph Web_Group["Web Access"]
DASH["aegis-dashboard<br/>:8080"]
CFTD["aegis-cloudflared"]
end
subgraph Ops_Group["Operations"]
MON["aegis-monitor<br/>60s interval"]
end
TOKENS[("🔑 tokens/<br/>saxobank_tokens.json")]
LDA[("📁 live_data_archive/<br/>7.1GB")]
STATE[("📄 pt_state/<br/>scenarios_v3.json")]
PT <-->|"RW"| TOKENS
TK <-->|"RW"| TOKENS
PT -->|"RO"| LDA
LDAS <-->|"RW"| LDA
PT <-->|"RW"| STATE
MON -.->|"Docker socket<br/>ヘルスチェック"| PT
MON -.->|"Docker socket"| TK
MON -.->|"Docker socket"| LDAS
MON -.->|"Docker socket"| DASH
CFTD -->|"proxy :8080"| DASH
classDef vol fill:#27ae60,stroke:#1e8449,color:#fff
class TOKENS,LDA,STATE vol
データフロー¶
flowchart LR
subgraph Sources["外部データソース"]
POLY["Polygon.io<br/>Options Advanced"]
UW["Unusual Whales"]
YF["Yahoo Finance<br/>(VIX fallback)"]
FRED["FRED<br/>HY OAS (Bear Gate)"]
end
subgraph LDAS_Process["aegis-ldas"]
EOD["EOD収集<br/>17:15 ET"]
INTRA["Intraday収集<br/>09:30-16:00 ET"]
end
subgraph Archive["live_data_archive/"]
OPT["options/{SYMBOL}/{Y}/{M}/{D}.parquet"]
STK["stocks/{SYMBOL}/{Y}/{M}/{D}_poly.parquet"]
VIX["vix/{Y}/{M}/{D}.parquet"]
IVR["iv_rank/{Y}/{M}/{D}.parquet"]
GEX["gex_summary/{Y}/{M}/{D}.parquet"]
UWF["uw_flow/{Y}/{M}/{D}.parquet"]
end
subgraph Trading["aegis-pt"]
SCAN["銘柄スキャン<br/>500+シンボル"]
ENTRY["エントリー判定<br/>CR≥25%, DTE 10-30"]
EXEC["Saxo API<br/>指値注文"]
end
POLY --> EOD & INTRA
UW --> EOD
YF --> EOD
FRED --> EOD
EOD --> OPT & STK & VIX & IVR & GEX & UWF
INTRA --> OPT
OPT & STK & VIX & IVR --> SCAN
SCAN --> ENTRY --> EXEC
CI/CD パイプライン¶
sequenceDiagram
participant Dev as 🛠️ Mac mini (開発)
participant GH as 🐙 GitHub
participant GA as ⚙️ GitHub Actions
participant SYN as 🖥️ Synology
Dev->>GH: git push (main)
GH->>GA: Trigger workflow
GA->>SYN: SSH via Tailscale
SYN->>SYN: alpine/git pull latest
SYN->>SYN: docker compose rebuild
SYN->>SYN: Health check validation
GA-->>GH: Deploy status ✅/❌
監視・アラートフロー¶
flowchart TB
MON["aegis-monitor<br/>(60秒間隔)"]
MON -->|"Docker socket"| C1["コンテナ死活監視<br/>pt / token-keeper / ldas / dashboard"]
MON -->|"ファイルmtime"| C2["Saxoトークン有効期限<br/>30分前で警告"]
MON -->|"parquet確認"| C3["LDASデータ鮮度<br/>最終ファイルタイムスタンプ"]
MON -->|"/host/proc"| C4["ホストリソース<br/>CPU/Memory 90%超 3分持続"]
C1 & C2 & C3 & C4 -->|"異常検知"| ALERT{"アラート判定"}
ALERT -->|"全アラート<br/>市場中30分 / 時間外1時間 throttle"| SLACK["📱 Slack通知<br/>🔒aegis_管理"]
ALERT -->|"重大障害のみ<br/>市場時間 9:30-16:00 ET<br/>1時間 throttle"| SMS["📲 Twilio SMS<br/>+81-90-8350-9740"]
ホスト役割分担¶
| 役割 | Synology DS1823+ | Mac mini |
|---|---|---|
| Paper Trading (本番) | ✅ aegis-pt | |
| Token Keeper | ✅ aegis-token-keeper-live | |
| LDAS データ収集 | ✅ aegis-ldas | |
| Dashboard (本番) | ✅ aegis-dashboard + Cloudflare Tunnel | dev版 (localhost) |
| インフラ監視 | ✅ aegis-monitor | — |
| Slack Bot | ✅ aegis-slack-bot | — |
| 開発環境 | — | ✅ VSCode + AI並行作業 |
| バックテスト | — | ✅ venv + QuantData CSVs |
| Git操作 | CI/CDで自動pull | ✅ 開発・push元 |
作成日: 2026-03-14 | 担当: Claude Code