Skip to main content
Version: Next

Task 07: NAT Gateway

Runbook Azure

DOCUMENT CATEGORY: Runbook SCOPE: NAT Gateway deployment PURPOSE: Provide deterministic outbound internet access for management VMs MASTER REFERENCE: Microsoft Learn - NAT Gateway

Status: Active


Overview

This task deploys an Azure NAT Gateway and associates it with the management subnet. The NAT Gateway provides deterministic outbound internet connectivity with a static public IP, eliminating SNAT port exhaustion and ensuring consistent outbound IP for allowlisting.

Task Classification

Execution Target: Azure-Only (control-plane API operation) Tab Profile: 3 tabs — Azure Portal · Azure CLI / PowerShell · Standalone Script

Terraform Reference

Module: azurelocal-toolkit File: nat-gateway.tf Mode: Management

Components Created

ResourceName PatternPurpose
Public IPpip-azrlnat-{env}-{region}-01NAT Gateway public IP
NAT Gatewayng-azrl-{env}-{region}-01Outbound internet access
PIP AssociationLink PIP to NAT GW
Subnet AssociationLink NAT GW to management subnet

NAT Gateway Configuration

SettingValueSource
SKUStandardDefault
Idle TimeoutPer config (minutes)nat_gateway.idle_timeout
SubnetManagement subnetnetwork.azure_vnets.management.subnets.management.name

Prerequisites

Variables from variables.yml

VariableConfig PathExample (IIC)
Subscription IDazure.subscriptions.<name>.id(per environment)
Resource Groupnetwork.azure_vnets.management.resource_grouprg-azrlmgmt-azl-eus-01
Management Subnetnetwork.azure_vnets.management.subnets.management.namesnet-azrl-azl-eus-01
Idle Timeoutnat_gateway.idle_timeout10

Single Subscription Model

Landing Zone Placement

FieldValueConfig Path
SubscriptionCustomer subscriptionazure.subscriptions.<name>.id
Resource Grouprg-azrlmgmt-{env}-{region}-01network.azure_vnets.management.resource_group
NAT Gateway Nameng-azrl-{env}-{region}-01Naming convention
Public IP Namepip-azrlnat-{env}-{region}-01Naming convention

Execution Options

Azure Portal

When to use: Learning Azure Local, single deployment, prefer visual interface

Procedure

  1. Create Public IP:
  • Search for Public IP addresses+ Create | Field | Value | |-------|-------| | Name | pip-azrlnat-{env}-{region}-01 | | SKU | Standard | | Assignment | Static |
  1. Create NAT Gateway:
  • Search for NAT gateways+ Create | Field | Value | Source | |-------|-------|--------| | Name | ng-azrl-{env}-{region}-01 | Naming convention | | Region | Your region | azure.region | | Availability zone | No zone | Or zone-redundant | | Idle timeout | Per config (minutes) | nat_gateway.idle_timeout |
  1. Outbound IP: Select the Public IP created in Step 1

  2. Subnet: Select the management subnet from the VNet

  3. Review + create: Verify → Click Create

Validation

  • NAT Gateway provisioning state: Succeeded
  • Public IP associated
  • Management subnet associated
  • Outbound connectivity works from management VMs

Validation

  • NAT Gateway provisioned
  • Public IP associated
  • Management subnet associated
  • Outbound traffic from VMs uses NAT Gateway PIP

CAF/WAF Landing Zone Model

In the CAF/WAF model, the NAT Gateway is deployed in the Connectivity subscription alongside the VNet.

Landing Zone Placement

FieldValueConfig Path
SubscriptionConnectivity subscriptionazure.subscriptions.connectivity.id
Resource Grouprg-azrlconn-{env}-{region}-01network.azure_vnets.management.resource_group

Execution Options

Azure Portal

Follow the same procedure as Single Subscription → Azure Portal, targeting the Connectivity subscription.

Validation

  • NAT Gateway in Connectivity subscription
  • Outbound connectivity verified

Troubleshooting

IssueRoot CauseRemediation
SNAT port exhaustionToo many concurrent connectionsAdd additional public IPs to NAT GW
NAT GW not taking effectSubnet not associatedVerify subnet association
Conflicts with load balancerLB outbound rules take precedenceRemove LB outbound rules or use NAT GW only
Idle timeout too shortConnections drop prematurelyIncrease idle timeout (max 120 min)

PreviousUpNext
Task 06: NSGsManual Deployment IndexTask 08: Arc Gateway

Version Control

  • Created: 2025-09-15 by Hybrid Cloud Solutions
  • Last Updated: 2026-03-03 by Hybrid Cloud Solutions
  • Version: 4.0.0
  • Tags: azure-local, nat-gateway, networking, outbound
  • Keywords: NAT gateway, outbound internet, SNAT, public IP, management subnet
  • Author: Hybrid Cloud Solutions