6.3 KiB
6.3 KiB
Hifast 当前架构文档(东京主站版)
最后更新:2026-05-21
这份文档只描述当前真实生效的架构,不描述理想目标,不混入已经下线或待迁移的香港旧链路。
如果后续东京 ALB / WAF / 正式域名 上线,应继续更新这份文档,而不是回头参考旧香港架构文档。
1. 当前结论
当前已经实际跑起来的是:
用户 / 运维 -> 东京 EC2 -> ppanel-server + Redis + observability -> 东京 RDS MySQL
当前还没有实际生效的组件:
ALBWAF- 正式域名切流
104.238.220.230重挂东京 MySQL / Redis 从库
也就是说,东京环境目前是:
- 一台业务 EC2 已可用
- 一台东京 RDS 已可用
- 本机 Redis 已可用
ppanel-server已成功启动并连通 MySQL / Redis- 灾备链路参数已准备好,但
104还没最终挂上去
2. 当前真实拓扑
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/24ppanel-jp-public-c/subnet-01ba0975c525ce8cf/10.20.1.0/24
私有子网:
ppanel-jp-private-a/subnet-0bd13111c02f0edbe/10.20.10.0/24ppanel-jp-private-c/subnet-0d86c5c756dbc84b2/10.20.11.0/24
3.3 安全组
ppanel-jp-sg-alb80/tcp <- 0.0.0.0/0443/tcp <- 0.0.0.0/0
ppanel-jp-sg-ec280/tcp <- sg-0b3a23c31041a5a5a22/tcp <- 64.118.144.142/326379/tcp <- 104.238.220.230/32
ppanel-jp-sg-rds3306/tcp <- sg-01f2a5a81e7505c913306/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-grafanappanel-lokippanel-promtailppanel-prometheusppanel-tempoppanel-cadvisorppanel-node-exporterppanel-nginx-exporter
5. 当前部署方式
部署目录:
/opt/ppanel
关键文件:
/opt/ppanel/docker-compose.cloud.yml/opt/ppanel/configs/ppanel.yaml/opt/ppanel/.env
业务启动方式:
ppanel-server使用docker composenetwork_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返回PONGMYSQL_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. 当前未落地项
下面这些还属于“目标方案”,不是“当前实际架构”:
ALBWAF- 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. 权威文档入口
与当前东京架构直接相关的文档,以这些为准:
下面这些旧文档可以继续保留,但不要作为“当前实际架构”依据:
- 香港旧主站相关文档
- 仍以
ap-east-1为主语的历史架构说明