# Test 12 · VPN #2 active-to-standby tunnel failover

Date: 7 Aug 2026 (SGT)

Environment: school AWS account `427617722186` and Azure subscription
`a1e9ac34-fc76-410c-8b6f-0f652af83dbb`

Result: **PASS · CONTINUOUS PRIVATE ICMP AND HTTP OBSERVED**

## Objective

Prove that the Ireland-to-Azure private application path remains usable when
the preferred VPN #2 tunnel is deliberately made unavailable and the existing
standby tunnel carries traffic. This is an attended tunnel-resilience test, not
a gateway, Availability Zone or regional failure.

## Accepted configuration

- AWS VPN connection: `vpn-0106da6f9a20b1302`
- Ireland virtual private gateway: `vgw-02efe604037a218cf`
- Azure VPN gateway: `eg334s-team2-vpngw`, public IP `20.24.123.36`
- Preferred AWS endpoint: `52.51.60.239`
- Standby AWS endpoint: `52.211.121.132`
- Azure primary connection: `eg334s-team2-vpn2-connection`, routing weight 10
- Azure standby connection: `eg334s-team2-vpn2-tunnel2-connection`, routing
  weight 0
- Probe source: Azure VM `10.2.1.4`
- Probe destination: Ireland Web Node 1 `10.1.1.119`

Both AWS endpoints were `UP` and both Azure connection resources were
`Connected` before the test.

## Controlled impairment and rollback

At `00:10:26 SGT`, only the primary Azure local-network-gateway peer was
temporarily changed from `52.51.60.239` to the documentation address
`192.0.2.1`. The standby peer and connection were not changed. AWS reported
the primary endpoint `DOWN` and the standby endpoint `UP` at `00:12:04 SGT`.

Rollback started at `00:12:34 SGT` by restoring the primary peer to
`52.51.60.239`. AWS reported both endpoints `UP` at `00:14:12 SGT`. Azure kept
the standby connection `Connected` while the primary control plane
re-established, and both Azure connections were `Connected` by `00:17:08 SGT`.

The test script used an exit trap so the original peer value would be restored
even if the attended run stopped unexpectedly.

## Data-plane evidence

Azure Run Command executed timestamped probes inside the project VNet for the
complete observation window:

- Private ICMP: **240 successful, 0 failed**
- Private HTTP: **240 HTTP 200, 0 failed**
- Final ICMP: 4/4 replies, 0% loss, 223.825 ms average RTT
- Final HTTP: HTTP 200 in 0.442942 seconds

The probe series continued through the interval in which AWS visibly reported
Tunnel 1 `DOWN` and Tunnel 2 `UP`. The genuine-console recording preserves the
baseline, impaired and restored AWS states; the dated logs retain the complete
timeline and measured probe summary.

## Retained evidence

- Concise recording: `assets/video/12-vpn2-active-standby-failover.mp4`
- Event timeline: `test12-vpn2-active-standby-failover-2026-08-07-events.log`
- Probe summary: `test12-vpn2-active-standby-failover-2026-08-07-probes.log`

## Claim boundary

This test proves continuity of the supported Azure-to-Ireland private path
during one controlled VPN #2 endpoint failure. It does not prove active-active
load sharing, simultaneous loss of both tunnels, Azure gateway failure,
Virginia-to-Azure transit, whole-region recovery or future zero-loss behavior.
The zero failed probes are the result of this specific recorded run.
