Sepolia AWS 全球部署

BabyDriver L2 ZK Rollup 在 AWS 上的生产级全球部署方案。 3 Region, EKS, Terraform, Helm, Global Accelerator。


架构总览

用户请求 → Global Accelerator (Anycast IP)
           ├→ us-east-1: Sequencer (主节点) + RPC + Aurora PostgreSQL
           ├→ eu-west-1: External Node (只读 RPC) + EKS PostgreSQL
           └→ ap-northeast-1: External Node (只读 RPC) + EKS PostgreSQL

Sequencer → Sepolia L1 (提交 batch, TestnetVerifier)
监控: Prometheus + Grafana + Jaeger (EKS 内) → Slack/Telegram 告警

决策记录

决策项
选择
原因

IaC 工具

Terraform

业界标准,多云支持,AWS provider 最成熟

容器编排

AWS EKS

有状态服务(RocksDB/PostgreSQL)支持好,GPU 节点池弹性伸缩

Prover

跳过 (TestnetVerifier)

GPU 月成本 $3000-8000+,testnet 无必要

Region

us-east-1 + eu-west-1 + ap-northeast-1

全球三大洲均衡覆盖

节点分布

单主多从

Sequencer us-east-1 (离 Sepolia L1 最近),其他 region External Node

数据库

Aurora (Sequencer) + CloudNativePG (External Node)

核心数据全托管,可重建数据自建省成本

网络入口

AWS Global Accelerator

TCP 层 Anycast,适合 JSON-RPC + WebSocket

CI/CD

GitHub Actions + ECR + Helm

现有仓库直接用,Helm 版本管理 + 回滚

监控

Prometheus + Grafana + Jaeger → Slack/Telegram

复用现有 era-observability 栈


Prover 跳过决策(重要)

决策: Testnet 阶段使用 TestnetVerifier(跳过 ZK proof 验证),不部署 GPU Prover 集群。

原因:

  • GPU 实例(p3.2xlarge)月成本 $3000-8000+,testnet 阶段无必要

  • 本地环境已验证 TestnetVerifier 功能正确

  • Prover 不影响交易处理和状态正确性验证

未来切换路径(主网阶段):

  1. Terraform 添加 module "prover" — EKS GPU 节点池(p3/g5 Spot + On-Demand 混合)

  2. Helm chart 添加 prover-gateway, witness-generator, prover 三个 deployment

  3. 替换 TestnetVerifierVerifier.sol(完整 FFLONK 验证)

  4. 配置 fri_prover.toml + fri_witness_generator.toml

  5. 预估增加成本: $5,000-15,000/月(取决于 batch 频率和 GPU 实例类型)

  6. GPU 实例推荐: NVIDIA A100 80GB (p4d.24xlarge) 或 A10G (g5.xlarge)


核心组件

组件
技术选型
部署位置

IaC

Terraform

全部基础设施

容器编排

AWS EKS

每个 region 一个集群

Sequencer

zksync_server (主模式)

us-east-1 only

RPC 节点

External Node (同步模式)

eu-west-1, ap-northeast-1

数据库 (Sequencer)

Aurora PostgreSQL

us-east-1, Multi-AZ

数据库 (External Node)

CloudNativePG on EKS

eu-west-1, ap-northeast-1

网络入口

Global Accelerator + NLB

全球 Anycast

CI/CD

GitHub Actions + ECR + Helm

监控

Prometheus + Grafana + Jaeger

每个 EKS 集群

告警

Grafana → Slack/Telegram

Prover

跳过 (TestnetVerifier)


项目结构


Region 部署细节

us-east-1(主 Region — Sequencer)

eu-west-1 / ap-northeast-1(从 Region — External Node)


EKS 节点规格 + 成本估算

Region
角色
实例类型
数量
预估月成本

us-east-1

Sequencer + RPC

r6i.xlarge (4C/32G)

2

~$400

us-east-1

Aurora PostgreSQL

db.r6g.large (Multi-AZ)

1+1

~$500

us-east-1

监控栈

t3.large (2C/8G)

1

~$60

eu-west-1

External Node

r6i.large (2C/16G)

2

~$200

eu-west-1

PostgreSQL (EKS pod)

1 pod

~$0

ap-northeast-1

External Node

r6i.large (2C/16G)

2

~$220

ap-northeast-1

PostgreSQL (EKS pod)

1 pod

~$0

全球

Global Accelerator

1

~$50

全球

ECR + S3 + 其他

~$50

总计

~$1,500/月

注: 使用 Reserved Instances 或 Savings Plans 可降低 30-40%。


关键配置变更

chain.toml

eth_client.toml

eth_sender.toml

External Node 配置


CI/CD 流程

回滚


监控告警

Prometheus 指标(复用 era-observability dashboards)

  • zksync_server_miniblock_number — 最新 L2 block

  • zksync_server_l1_batch_number — 最新 L1 batch

  • zksync_server_mempool_size — 交易池大小

  • zksync_server_gas_price — Gas 价格

告警规则

告警
条件
级别

Sequencer Down

up{job="sequencer"} == 0 for 2m

Critical → Telegram

Batch 延迟

time() - zksync_server_last_batch_timestamp > 600

Warning → Slack

RPC 错误率

rate(http_errors[5m]) > 0.05

Warning → Slack

Aurora CPU

CPUUtilization > 80% for 10m

Warning → Slack

磁盘使用

disk_used_percent > 85%

Warning → Slack

External Node 同步落后

sequencer_block - external_node_block > 100

Warning → Slack


安全

网络

  • VPC per region,私有子网运行 EKS 节点

  • 公网访问仅通过 Global Accelerator → NLB → EKS Ingress

  • Sequencer 的 RPC 端口对外只暴露 JSON-RPC (3050),管理端口 (3071) 仅内网

密钥管理

  • AWS Secrets Manager 存储: L1 私钥、数据库密码、Infura API Key

  • EKS 通过 External Secrets Operator 同步到 K8s Secrets

  • IRSA (IAM Roles for Service Accounts) 最小权限

L1 Operator 私钥

  • Sequencer 提交 batch 到 Sepolia 需要 ETH

  • 使用 AWS KMS 签名(可选)或 Secrets Manager 存储私钥

  • 配置 gas price 上限防止意外消耗


部署顺序

Last updated