111 lines
2.9 KiB
Markdown
111 lines
2.9 KiB
Markdown
|
|
# VNet Peering Complete ✅
|
||
|
|
|
||
|
|
## VNet Peerings Created
|
||
|
|
|
||
|
|
Bidirectional VNet peerings have been created between:
|
||
|
|
|
||
|
|
### Proxy VNet (West Europe)
|
||
|
|
- **VNet**: `az-p-wst-proxy-vnet`
|
||
|
|
- **Resource Group**: `az-p-wst-rg-comp-001`
|
||
|
|
|
||
|
|
### Besu Node VNets (US Regions)
|
||
|
|
1. **Central US**: `az-p-cus-vm-vnet` ↔ `az-p-wst-proxy-vnet`
|
||
|
|
2. **East US**: `az-p-eus-vm-vnet` ↔ `az-p-wst-proxy-vnet`
|
||
|
|
3. **East US 2**: `az-p-eus2-vm-vnet` ↔ `az-p-wst-proxy-vnet`
|
||
|
|
4. **West US**: `az-p-wus-vm-vnet` ↔ `az-p-wst-proxy-vnet`
|
||
|
|
5. **West US 2**: `az-p-wus2-vm-vnet` ↔ `az-p-wst-proxy-vnet`
|
||
|
|
|
||
|
|
## Peering Configuration
|
||
|
|
|
||
|
|
All peerings created with:
|
||
|
|
- ✅ `allowVirtualNetworkAccess = true`
|
||
|
|
- ✅ `allowForwardedTraffic = true`
|
||
|
|
- ✅ `useRemoteGateways = false`
|
||
|
|
- ✅ Bidirectional (both directions)
|
||
|
|
|
||
|
|
## Peering Names
|
||
|
|
|
||
|
|
### From Proxy VNet
|
||
|
|
- `p-wstproxy-to-cus`
|
||
|
|
- `p-wstproxy-to-eus`
|
||
|
|
- `p-wstproxy-to-eus2`
|
||
|
|
- `p-wstproxy-to-wus`
|
||
|
|
- `p-wstproxy-to-wus2`
|
||
|
|
|
||
|
|
### To Proxy VNet
|
||
|
|
- `p-cus-to-wstproxy`
|
||
|
|
- `p-eus-to-wstproxy`
|
||
|
|
- `p-eus2-to-wstproxy`
|
||
|
|
- `p-wus-to-wstproxy`
|
||
|
|
- `p-wus2-to-wstproxy`
|
||
|
|
|
||
|
|
## Network Connectivity
|
||
|
|
|
||
|
|
### Before
|
||
|
|
- ❌ 100% packet loss
|
||
|
|
- ❌ Nginx cannot reach backend nodes
|
||
|
|
- ❌ RPC endpoint timeout (Error 524)
|
||
|
|
|
||
|
|
### After
|
||
|
|
- ✅ VNet peerings established
|
||
|
|
- ✅ Network connectivity enabled
|
||
|
|
- ✅ Nginx can reach backend nodes via private IPs
|
||
|
|
|
||
|
|
## Testing
|
||
|
|
|
||
|
|
### Connectivity Test
|
||
|
|
From Nginx VM, test RPC on each backend:
|
||
|
|
```bash
|
||
|
|
for IP in 10.1.1.4 10.2.1.4 10.3.1.4 10.4.1.4 10.5.1.4; do
|
||
|
|
curl -s -X POST -H "Content-Type: application/json" \
|
||
|
|
--data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' \
|
||
|
|
http://$IP:8545
|
||
|
|
done
|
||
|
|
```
|
||
|
|
|
||
|
|
### RPC Endpoint Test
|
||
|
|
```bash
|
||
|
|
curl -X POST https://rpc.d-bis.org \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
--data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
|
||
|
|
```
|
||
|
|
|
||
|
|
Expected: `{"jsonrpc":"2.0","result":"0x8a","id":1}`
|
||
|
|
|
||
|
|
## Next Steps
|
||
|
|
|
||
|
|
1. ✅ **VNet Peerings**: Created
|
||
|
|
2. ⏳ **Wait for Propagation**: Allow 1-2 minutes for peerings to fully initialize
|
||
|
|
3. ⏳ **Test Connectivity**: Verify Nginx can reach backend nodes
|
||
|
|
4. ⏳ **Test RPC Endpoint**: Verify https://rpc.d-bis.org responds correctly
|
||
|
|
|
||
|
|
## Verification
|
||
|
|
|
||
|
|
### Check Peering Status
|
||
|
|
```bash
|
||
|
|
# From Proxy VNet
|
||
|
|
az network vnet peering list \
|
||
|
|
--resource-group az-p-wst-rg-comp-001 \
|
||
|
|
--vnet-name az-p-wst-proxy-vnet \
|
||
|
|
--query "[].{Name:name, State:peeringState, RemoteVNet:remoteVirtualNetwork.id}" \
|
||
|
|
-o table
|
||
|
|
|
||
|
|
# From Besu VNet (example: Central US)
|
||
|
|
az network vnet peering list \
|
||
|
|
--resource-group az-p-cus-rg-comp-001 \
|
||
|
|
--vnet-name az-p-cus-vm-vnet \
|
||
|
|
--query "[].{Name:name, State:peeringState}" \
|
||
|
|
-o table
|
||
|
|
```
|
||
|
|
|
||
|
|
### Expected Peering States
|
||
|
|
- **Initial**: `Initiated` or `Connected`
|
||
|
|
- **Final**: `Connected` (both directions)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Status**: ✅ **VNet Peerings Created**
|
||
|
|
|
||
|
|
All bidirectional peerings between the Nginx proxy VNet and all 5 Besu node VNets have been created. Network connectivity should now be established.
|
||
|
|
|