Skip to content

Commit ec8494f

Browse files
kuthialaJTorreGpuneetsarna
authored
Apply suggestions from code review
Co-authored-by: Jon Torre <[email protected]> Co-authored-by: Puneet Singh Sarna <[email protected]>
1 parent 88035a7 commit ec8494f

File tree

1 file changed

+42
-22
lines changed

1 file changed

+42
-22
lines changed

content/nginxaas-azure/quickstart/disaster-recovery.md

+42-22
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ This guide describes how to configure disaster recovery (DR) for F5 NGINX as a S
3030

3131
- Each region has its own VNet, subnet, and NGINXaaS for Azure deployment.
3232
- VNet peering enables cross-region connectivity.
33-
- Upstreams (e.g., VMs) are accessible from either NGINX deployment.
33+
- Upstreams (for example, VMs) are accessible from either NGINX deployment.
3434

3535
---
3636

@@ -47,8 +47,9 @@ This guide describes how to configure disaster recovery (DR) for F5 NGINX as a S
4747
4848
---
4949

50+
## Configure disaster recovery
5051

51-
## Step 1: Deploy Prerequisite Infrastructure
52+
### Step 1: Deploy prerequisite infrastructure
5253

5354
Each region requires its own resource group, VNet, subnet, public IP, network security group, and user-assigned identity. Example allocation in the prerequisites module:
5455

@@ -72,7 +73,7 @@ resource "azurerm_subnet" "deployment_secondary_subnet" {
7273
```
7374
---
7475

75-
## Step 2: Deploy NGINXaaS for Azure Deployment in Each Region
76+
### Step 2: Deploy NGINXaaS for Azure in each region
7677

7778
```hcl
7879
resource "azurerm_nginx_deployment" "deployment_primary_nginxaas" {
@@ -98,7 +99,7 @@ resource "azurerm_nginx_deployment" "deployment_secondary_nginxaas" {
9899

99100
---
100101

101-
## Step 3: Peer the VNets
102+
### Step 3: Peer the VNets
102103

103104
```hcl
104105
resource "azurerm_virtual_network_peering" "vnet_primary_to_vnet_secondary" {
@@ -118,9 +119,9 @@ resource "azurerm_virtual_network_peering" "vnet_secondary_to_vnet_primary" {
118119

119120
---
120121

121-
## Step 4: Configure Upstreams
122+
### Step 4: Configure upstreams
122123

123-
Deploy upstream VMs in a subnet separate from the NGINXaaS deployment subnet in the primary region. Example:
124+
Deploy upstream VMs in a subnet separate from the NGINXaaS deployment subnet in the **primary region**. Example:
124125

125126
```hcl
126127
resource "azurerm_subnet" "upstreams" {
@@ -150,10 +151,10 @@ upstream backend {
150151

151152
---
152153

153-
## Step 6: DNS and Failover
154+
### Step 6: DNS and failover
154155

155156
- Use Azure Traffic Manager or an external DNS solution to direct traffic to the healthy NGINX deployment.
156-
- In case of a regional outage, update DNS to point to the public IP of the surviving region's NGINX.
157+
- In case of a regional outage, update DNS record to point to the public IP of the NGINXaas deployment in the secondary region.
157158

158159
---
159160

@@ -180,28 +181,47 @@ az network vnet peering create \
180181
## Failover Process
181182

182183
1. **Monitor**: Continuously monitor NGINXaaS deployment health in both regions.
183-
2. **Failover**: If a region fails, update DNS or Traffic Manager to route traffic to the surviving region's NGINXaaS deployment.
184-
3. **Recovery**: Restore the failed region and verify peering and upstream connectivity before re-enabling traffic.
184+
1. **Failover**: If a region fails, update DNS or Traffic Manager to route traffic to the surviving region's NGINXaaS deployment.
185+
1. **Recovery**: Restore the failed region and verify peering and upstream connectivity before re-enabling traffic.
185186

186187
---
187188

188189
## Diagram
189190

190-
```plaintext
191-
+-----------------------+ Peering +-----------------------+
192-
| Region 1 |<----------------->| Region 2 |
193-
| NGINXaaS Deployment 1| | NGINXaaS Deployment 2|
194-
| Upstreams (VMs) | | |
195-
+-----------------------+ +-----------------------+
196-
| |
197-
+-------------------+ +-----------------+
198-
| |
199-
Users/Clients (via DNS/Traffic Manager)
191+
```mermaid
192+
flowchart LR
193+
194+
subgraph Region1[Region 1]
195+
direction TB
196+
NGINX1[NGINXaaS Deployment 1]
197+
VM1["Upstreams (VMs)"]
198+
end
199+
200+
subgraph Region2[Region 2]
201+
direction TB
202+
NGINX2[NGINXaaS Deployment 2]
203+
end
204+
205+
Users["웃 Users/Clients<br/>&#40;using DNS/traffic manager&#41;"]
206+
207+
Region2 <-->|Peering| Region1
208+
NGINX1 --> Users
209+
NGINX2 --> Users
210+
211+
%% Styling
212+
style Region1 fill:#9bb1de,stroke:#4a90e2,stroke-width:2px
213+
style Region2 fill:#9bb1de,stroke:#4a90e2,stroke-width:2px
214+
style NGINX1 fill:#d9fade,stroke:#2e7d32,stroke-width:2px,color:#000
215+
style NGINX2 fill:#d9fade,stroke:#2e7d32,stroke-width:2px,color:#000
216+
style VM1 fill:#e8f3fe,stroke:#3075ff,stroke-width:2px,color:#000
217+
style Users fill:#faefd9,stroke:orange,color:orange,stroke-width:2px
218+
219+
accDescr: Diagram showing Region 1 on the left and Region 2 on the right. Region 1 contains "NGINXaaS Deployment 1" and "Upstreams (VMs)". Region 2 contains "NGINXaaS Deployment 2". A directional arrow labeled "Peering" points from Region 1 to Region 2. Both NGINXaaS deployments have arrows pointing to a box labeled "Users/Clients (using DNS/traffic manager)", indicating user traffic flows from both regions.
200220
```
201221

202222

203223
---
204224

205-
**Summary:**
225+
## Summary
206226

207-
By deploying NGINX in separate regions with unique subnets and peered VNets, and configuring upstreams and DNS for failover, this topology ensures high availability and DR for your upstreams. Use subnet peering if address spaces overlap. Always monitor and test your failover paths.
227+
By deploying NGINXaaS in separate regions with unique subnets and peered VNets, and configuring upstreams and DNS for failover, this topology ensures high availability and DR for your applications. Use subnet peering if address spaces overlap. Lastly, always monitor and test your failover paths.

0 commit comments

Comments
 (0)