# Hifast 当前架构文档(东京主站版) 最后更新:`2026-05-21` 这份文档只描述**当前真实生效**的架构,不描述理想目标,不混入已经下线或待迁移的香港旧链路。 如果后续东京 `ALB / WAF / 正式域名` 上线,应继续更新这份文档,而不是回头参考旧香港架构文档。 ## 1. 当前结论 当前已经实际跑起来的是: `用户 / 运维 -> 东京 EC2 -> ppanel-server + Redis + observability -> 东京 RDS MySQL` 当前还**没有**实际生效的组件: - `ALB` - `WAF` - 正式域名切流 - `104.238.220.230` 重挂东京 MySQL / Redis 从库 也就是说,东京环境目前是: - 一台业务 EC2 已可用 - 一台东京 RDS 已可用 - 本机 Redis 已可用 - `ppanel-server` 已成功启动并连通 MySQL / Redis - 灾备链路参数已准备好,但 `104` 还没最终挂上去 ## 2. 当前真实拓扑 ```mermaid flowchart TB USER["用户 / 运维"] --> EIP["东京 EC2 公网入口\n3.114.29.208"] EIP --> NGINX["Nginx\nEC2 本机"] NGINX --> APP["ppanel-server\nhost network\n127.0.0.1:8080"] APP --> REDIS["Redis Docker\n127.0.0.1:6379"] APP --> RDS["Tokyo RDS MySQL\nppanel-mysql-jp"] APP --> OBS["Grafana / Loki / Tempo / Prometheus"] RDS -. 预留复制 .-> DRMYSQL["104.238.220.230\nMySQL DR\n未最终接入"] REDIS -. 预留复制 .-> DRREDIS["104.238.220.230\nRedis DR\n未最终接入"] ``` ## 3. 云资源清单 ### 3.1 Region - AWS account: `hifastvpn (200810848252)` - Region: `ap-northeast-1` ### 3.2 网络 - VPC: `ppanel-jp-prod` - VPC ID: `vpc-0846b23b4a7d64eac` - CIDR: `10.20.0.0/16` 公有子网: - `ppanel-jp-public-a` / `subnet-091232bdb53e71490` / `10.20.0.0/24` - `ppanel-jp-public-c` / `subnet-01ba0975c525ce8cf` / `10.20.1.0/24` 私有子网: - `ppanel-jp-private-a` / `subnet-0bd13111c02f0edbe` / `10.20.10.0/24` - `ppanel-jp-private-c` / `subnet-0d86c5c756dbc84b2` / `10.20.11.0/24` ### 3.3 安全组 - `ppanel-jp-sg-alb` - `80/tcp <- 0.0.0.0/0` - `443/tcp <- 0.0.0.0/0` - `ppanel-jp-sg-ec2` - `80/tcp <- sg-0b3a23c31041a5a5a` - `22/tcp <- 64.118.144.142/32` - `6379/tcp <- 104.238.220.230/32` - `ppanel-jp-sg-rds` - `3306/tcp <- sg-01f2a5a81e7505c91` - `3306/tcp <- 104.238.220.230/32` ## 4. 计算与数据库 ### 4.1 业务 EC2 - Name: `ppanel-app-jp-01` - Instance ID: `i-07839130074cd7ed9` - Type: `c7i.xlarge` - AZ: `ap-northeast-1c` - Private IP: `10.20.1.168` - Public IP / Elastic IP: `3.114.29.208` - Public DNS: `ec2-3-114-29-208.ap-northeast-1.compute.amazonaws.com` - Root volume: `gp3 100GiB` - Status: `running` 说明: - 当前公网入口是这台 EC2 自己 - 这里绑定的是 `EIP`,不是依赖实例自动分配的临时公网 IP - 绑定 EIP 的目的,是保证以后 Redis 主从、白名单、DNS、文档里的公网地址不因为实例变更而漂移 ### 4.2 Tokyo RDS - Identifier: `ppanel-mysql-jp` - Engine: `MySQL Community 8.4.8` - Class: `db.r7g.xlarge` - Storage: `gp3 100GiB` - Master user: `admin` - Endpoint: `ppanel-mysql-jp.cpo0keikgh80.ap-northeast-1.rds.amazonaws.com` - Public access: `enabled` - Credential management: `self-managed` - Current status: `available` 当前实际连接值: - Host: `ppanel-mysql-jp.cpo0keikgh80.ap-northeast-1.rds.amazonaws.com` - Port: `3306` - User: `admin` ### 4.3 Redis - 部署位置:东京 EC2 本机 - 部署方式:Docker - 容器名:`ppanel-redis` - 当前角色:`master` - 当前监听:`127.0.0.1:6379`(应用本机访问) - 当前对灾备开放:`3.114.29.208:6379` ### 4.4 应用与可观测 业务容器: - `ppanel-server` 可观测容器: - `ppanel-grafana` - `ppanel-loki` - `ppanel-promtail` - `ppanel-prometheus` - `ppanel-tempo` - `ppanel-cadvisor` - `ppanel-node-exporter` - `ppanel-nginx-exporter` ## 5. 当前部署方式 部署目录: - `/opt/ppanel` 关键文件: - `/opt/ppanel/docker-compose.cloud.yml` - `/opt/ppanel/configs/ppanel.yaml` - `/opt/ppanel/.env` 业务启动方式: - `ppanel-server` 使用 `docker compose` - `network_mode: host` 当前配置指向: - MySQL -> 东京 RDS - Redis -> 本机 Docker Redis - Trace -> `127.0.0.1:4317` ## 6. 当前已验证状态 截至 `2026-05-21` 已确认: - `docker exec ppanel-redis redis-cli -a 'hifast67yj' PING` 返回 `PONG` - `MYSQL_PWD=... mysql -h ppanel-mysql-jp.cpo0keikgh80.ap-northeast-1.rds.amazonaws.com -u admin -e "select 1"` 返回正常 - `docker compose -f /opt/ppanel/docker-compose.cloud.yml up -d ppanel-server` 已成功 - `docker logs ppanel-server` 无 MySQL / Redis 连接报错 - `curl http://127.0.0.1:8080/v1/common/heartbeat` 返回成功 可以认为当前东京单站已经具备: - 服务启动能力 - 数据库连接能力 - Redis 连接能力 - 基础可观测能力 ## 7. 当前未落地项 下面这些还属于“目标方案”,不是“当前实际架构”: - `ALB` - `WAF` - ACM 证书完成 DNS 验证 - 正式域名切换到东京 - `104.238.220.230` 完整接成东京 DR 所以现在请不要把当前架构理解成: `DNS -> ALB -> WAF -> EC2 -> RDS` 当前真实架构更准确地说是: `EIP -> EC2(Nginx + ppanel-server + Redis + observability) -> RDS` ## 8. 灾备准备状态 ### 8.1 MySQL DR 已准备好: - DR host: `104.238.220.230` - 复制账号:`repl@104.238.220.230` - binlog retention hours: `24` - current binlog file: `mysql-bin-changelog.000189` - current binlog position: `185053` 当前状态: - 东京侧已准备完成 - 但 `104` 侧还没有最终执行挂从 ### 8.2 Redis DR 已准备好: - 东京 Redis 主地址:`3.114.29.208:6379` - 东京 Redis 当前角色:`role:master` - 东京 Redis 当前状态:`connected_slaves:0` 当前状态: - 东京侧已可作为主库提供同步 - 但 `104` 侧还没有最终执行 `REPLICAOF` ## 9. 权威文档入口 与当前东京架构直接相关的文档,以这些为准: - [当前架构文档](./hifast-current-architecture-zh.md) - [东京资源清单](../deploy/aws/ap-northeast-1/configs/resource-inventory.current.md) - [东京迁移 Runbook](./hifast-aws-jp-migration-runbook-zh.md) - [东京切换清单](./hifast-aws-jp-cutover-checklist-zh.md) 下面这些旧文档可以继续保留,但不要作为“当前实际架构”依据: - 香港旧主站相关文档 - 仍以 `ap-east-1` 为主语的历史架构说明