172 lines
4.4 KiB
Markdown
172 lines
4.4 KiB
Markdown
|
|
# Exact Validator and RPC Configuration
|
|||
|
|
|
|||
|
|
## Subscription: 6d3c4263-bba9-497c-8843-eae6c4e87192
|
|||
|
|
|
|||
|
|
## Core Requirements
|
|||
|
|
|
|||
|
|
### ✅ Validator Nodes
|
|||
|
|
- **Deployment**: ALL 42 non-US Commercial Azure regions
|
|||
|
|
- **VM Size**: `Standard_D4_v2` (4 vCPUs) - **SAME across ALL regions**
|
|||
|
|
- **VM Family**: Dv2 Family
|
|||
|
|
- **Count**: 1 validator per region
|
|||
|
|
- **Total Validators**: 42 nodes
|
|||
|
|
|
|||
|
|
### ✅ RPC Nodes (Core Backbone)
|
|||
|
|
- **Deployment**: ALL 42 non-US Commercial Azure regions
|
|||
|
|
- **VM Size**: `Standard_D8s_v6` (8 vCPUs) - **SAME across ALL regions**
|
|||
|
|
- **VM Family**: Dsv6 Family
|
|||
|
|
- **Count**: 1 RPC node per region
|
|||
|
|
- **Total RPC Nodes**: 42 nodes
|
|||
|
|
|
|||
|
|
### ✅ System Nodes
|
|||
|
|
- **Deployment**: ALL 42 regions (AKS required)
|
|||
|
|
- **VM Size**: `Standard_D2_v2` (2 vCPUs)
|
|||
|
|
- **VM Family**: Dv2 Family
|
|||
|
|
- **Count**: 1 system node per region
|
|||
|
|
- **Total System Nodes**: 42 nodes
|
|||
|
|
|
|||
|
|
### ⚪ Sentry Nodes
|
|||
|
|
- **Deployment**: Distributed as needed (0-1 per region)
|
|||
|
|
- **VM Size**: `Standard_D4_v2` (4 vCPUs)
|
|||
|
|
- **VM Family**: Dv2 Family
|
|||
|
|
- **Count**: 0-42 sentry nodes (distributed)
|
|||
|
|
|
|||
|
|
## Exact Per-Region Configuration
|
|||
|
|
|
|||
|
|
### Standard Configuration (All 42 Regions)
|
|||
|
|
|
|||
|
|
```hcl
|
|||
|
|
# Validator: SAME across ALL regions
|
|||
|
|
validator_vm_size = "Standard_D4_v2" # 4 vCPUs - Dv2 Family
|
|||
|
|
|
|||
|
|
# RPC: SAME across ALL regions (core backbone)
|
|||
|
|
rpc_vm_size = "Standard_D8s_v6" # 8 vCPUs - Dsv6 Family
|
|||
|
|
|
|||
|
|
# System: Required for AKS
|
|||
|
|
system_vm_size = "Standard_D2_v2" # 2 vCPUs - Dv2 Family
|
|||
|
|
|
|||
|
|
# Sentry: Distributed as needed
|
|||
|
|
sentry_vm_size = "Standard_D4_v2" # 4 vCPUs - Dv2 Family
|
|||
|
|
|
|||
|
|
# Node counts
|
|||
|
|
node_count = {
|
|||
|
|
system = 1 # Required for AKS
|
|||
|
|
validators = 1 # Required in ALL regions (SAME VM size)
|
|||
|
|
sentries = 0 # Optional, distributed as needed
|
|||
|
|
rpc = 1 # Required in ALL regions (core backbone)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## All 42 Regions
|
|||
|
|
|
|||
|
|
1. Belgium Central (bc)
|
|||
|
|
2. Brazil South (bs)
|
|||
|
|
3. Brazil Southeast (bse)
|
|||
|
|
4. Canada Central (cc)
|
|||
|
|
5. Canada East (ce)
|
|||
|
|
6. Central India (ci)
|
|||
|
|
7. Chile Central (chc)
|
|||
|
|
8. East Asia (ea)
|
|||
|
|
9. France Central (fc)
|
|||
|
|
10. France South (fs)
|
|||
|
|
11. Germany North (gn)
|
|||
|
|
12. Germany West Central (gwc)
|
|||
|
|
13. Indonesia Central (ic)
|
|||
|
|
14. Israel Central (ilc)
|
|||
|
|
15. Italy North (in)
|
|||
|
|
16. Japan East (je)
|
|||
|
|
17. Japan West (jw)
|
|||
|
|
18. Jio India Central (jic)
|
|||
|
|
19. Jio India West (jiw)
|
|||
|
|
20. Korea Central (kc)
|
|||
|
|
21. Korea South (ks)
|
|||
|
|
22. Malaysia West (mw)
|
|||
|
|
23. Mexico Central (mc)
|
|||
|
|
24. New Zealand North (nzn)
|
|||
|
|
25. North Europe (ne)
|
|||
|
|
26. Norway East (no)
|
|||
|
|
27. Norway West (nw)
|
|||
|
|
28. Poland Central (pc)
|
|||
|
|
29. Qatar Central (qc)
|
|||
|
|
30. South Africa North (san)
|
|||
|
|
31. South Africa West (saw)
|
|||
|
|
32. Southeast Asia (sea)
|
|||
|
|
33. South India (si)
|
|||
|
|
34. Spain Central (sc)
|
|||
|
|
35. Sweden Central (swc)
|
|||
|
|
36. Switzerland North (sn)
|
|||
|
|
37. Switzerland West (sw)
|
|||
|
|
38. UAE Central (uac)
|
|||
|
|
39. UAE North (uan)
|
|||
|
|
40. UK South (uks)
|
|||
|
|
41. UK West (ukw)
|
|||
|
|
42. West Europe (we)
|
|||
|
|
43. West India (wi)
|
|||
|
|
|
|||
|
|
## Quota Requirements Per Region
|
|||
|
|
|
|||
|
|
### Minimum (without sentries)
|
|||
|
|
- **Dv2 Family**: 6 vCPUs (system: 2, validators: 4)
|
|||
|
|
- **Dsv6 Family**: 8 vCPUs (RPC: 8)
|
|||
|
|
- **Total**: 14 vCPUs per region
|
|||
|
|
|
|||
|
|
### With Sentries
|
|||
|
|
- **Dv2 Family**: 10 vCPUs (system: 2, validators: 4, sentries: 4)
|
|||
|
|
- **Dsv6 Family**: 8 vCPUs (RPC: 8)
|
|||
|
|
- **Total**: 18 vCPUs per region
|
|||
|
|
|
|||
|
|
## Total Global Quota Requirements
|
|||
|
|
|
|||
|
|
### Minimum (without sentries)
|
|||
|
|
- **Dv2 Family**: 252 vCPUs (6 × 42 regions)
|
|||
|
|
- **Dsv6 Family**: 336 vCPUs (8 × 42 regions)
|
|||
|
|
- **Total**: 588 vCPUs
|
|||
|
|
|
|||
|
|
### Maximum (with sentries)
|
|||
|
|
- **Dv2 Family**: 420 vCPUs (10 × 42 regions)
|
|||
|
|
- **Dsv6 Family**: 336 vCPUs (8 × 42 regions)
|
|||
|
|
- **Total**: 756 vCPUs
|
|||
|
|
|
|||
|
|
## Deployment
|
|||
|
|
|
|||
|
|
### Configuration File
|
|||
|
|
- **Main Config**: `terraform/multi-region-global.tf`
|
|||
|
|
- **Region Codes**: `terraform/locals.tf`
|
|||
|
|
|
|||
|
|
### Enable Deployment
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd terraform
|
|||
|
|
# Edit terraform.tfvars to set:
|
|||
|
|
# enable_multi_region = true
|
|||
|
|
|
|||
|
|
terraform init
|
|||
|
|
terraform plan -out=tfplan
|
|||
|
|
terraform apply tfplan
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Validation
|
|||
|
|
|
|||
|
|
### Verify Validator Consistency
|
|||
|
|
All 42 regions must use `Standard_D4_v2` for validators:
|
|||
|
|
```bash
|
|||
|
|
terraform output global_multi_region_clusters | grep validator_vm
|
|||
|
|
# Should show Standard_D4_v2 for all regions
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Verify RPC Backbone
|
|||
|
|
All 42 regions must have RPC nodes with `Standard_D8s_v6`:
|
|||
|
|
```bash
|
|||
|
|
terraform output global_multi_region_clusters | grep rpc_vm
|
|||
|
|
# Should show Standard_D8s_v6 for all regions
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Summary
|
|||
|
|
|
|||
|
|
- ✅ **42 validator nodes** - Same VM size (`Standard_D4_v2`) across ALL regions
|
|||
|
|
- ✅ **42 RPC nodes** - Same VM size (`Standard_D8s_v6`) across ALL regions (core backbone)
|
|||
|
|
- ✅ **42 system nodes** - Required for AKS in all regions
|
|||
|
|
- ⚪ **0-42 sentry nodes** - Distributed as needed
|
|||
|
|
- ✅ **Total: 126-168 nodes** across 42 regions
|
|||
|
|
|