7.2 App Connector Provisioning, Sizing & Deployment
Key Takeaways
- App Connectors are lightweight Linux virtual appliances that connect internal enterprise workloads to the Zscaler Zero Trust Exchange via outbound TLS 1.2/1.3 micro-tunnels on TCP port 443.
- Provisioning Keys generated in the ZPA Admin Portal securely bind newly deployed App Connectors to their designated App Connector Groups and automate cryptographic enrollment.
- App Connector Groups provide high availability, geographic clustering, DNS resolver configuration, and rolling software upgrade maintenance windows.
- Standard production sizing requires a minimum of 4 vCPUs, 8 GB of RAM, and a 1 Gbps NIC to support up to 500 Mbps of encrypted throughput and approximately 6,000 concurrent sessions.
- App Connectors support diverse on-premises hypervisors (VMware ESXi, KVM, Nutanix AHV) and major public clouds (AWS, Azure, GCP), requiring zero inbound security group rules from the internet.
7.2 App Connector Provisioning, Sizing & Deployment
Core Principle: The ZPA App Connector is the lightweight software bridge that connects private enterprise applications to the Zscaler Zero Trust Exchange. Operating as a stateless Linux virtual appliance or package, the App Connector eliminates the need for edge inbound firewall openings by establishing persistent, outbound-only control and data micro-tunnels. Successful enterprise ZPA architecture relies on proper hardware sizing, resilient App Connector Group clustering, secure Provisioning Key enrollment, and automated lifecycle maintenance.
1. App Connector Architecture & Operational Mechanics
An App Connector is deployed inside the customer's private network perimeter—whether an on-premises enterprise data center, a branch office, or a public cloud VPC (AWS, Microsoft Azure, Google Cloud Platform).
+-----------------------------------------------------------------------------------+
| APP CONNECTOR DUAL-TUNNEL ARCHITECTURE |
+-----------------------------------------------------------------------------------+
CUSTOMER PRIVATE SUBNET / VPC ZSCALER ZERO TRUST EXCHANGE
┌────────────────────────────────────────┐ ┌───────────────────────────────────┐
│ │ │ │
│ ┌──────────────────────────────────┐ │ │ ┌─────────────────────────────┐ │
│ │ ZPA App Connector │ │ │ │ ZPA Central Authority │ │
│ │ │ │ │ │ (Control Plane) │ │
│ │ * Local DNS Resolver Client │ │ │ └──────────────▲──────────────┘ │
│ │ * TCP/UDP Layer 4 Proxy Engine │──┼───┼──( TLS 443 Control Tunnel )───────┤
│ │ * Health Check Synthetic Prober │ │ │ │
│ │ │──┼───┼──( TLS 443 Data Micro-Tunnels )───┤
│ └──────────────────┬───────────────┘ │ │ ┌──────────────▼──────────────┐ │
│ │ │ │ │ ZPA Service Edge │ │
│ (Local L4 TCP/UDP Proxy) │ │ │ (Data Plane) │ │
│ ▼ │ │ └─────────────────────────────┘ │
│ ┌──────────────────────────────────┐ │ │ │
│ │ Enterprise Application Servers│ │ │ │
│ │ (10.10.20.0/24 - Private IPs) │ │ │ │
│ └──────────────────────────────────┘ │ │ │
└────────────────────────────────────────┘ └───────────────────────────────────┘
Core Functions of the App Connector:
- Outbound Control Connection: Establishes and maintains a persistent, mutually authenticated TLS 1.2/1.3 control channel to the ZPA Central Authority on TCP port 443 to receive policy updates, report health status, and handle session dispatch instructions.
- On-Demand Data Micro-Tunnels: Upon receiving a session dispatch instruction from the CA, the App Connector opens an outbound TLS 1.2/1.3 micro-tunnel on TCP port 443 to the specified ZPA Service Edge, where it stitches to the incoming client micro-tunnel.
- Internal DNS Resolution: When a remote user attempts to connect to an application defined by FQDN (e.g.,
db.finance.corp.internal), the App Connector queries the customer's internal DNS servers to resolve the destination host's real private IP address. - Synthetic Health Probing: Periodically transmits synthetic TCP, HTTP, or HTTPS probes to configured backend servers to track application reachability and latency.
2. Provisioning Keys & Cryptographic Enrollment
Before deploying an App Connector virtual machine, administrators must generate a Provisioning Key within the ZPA Admin Portal.
+-----------------------------------------------------------------------------------+
| PROVISIONING KEY ENROLLMENT & REGISTRATION FLOW |
+-----------------------------------------------------------------------------------+
1. Admin generates Provisioning Key in ZPA Portal (associated with Connector Group)
│
▼
2. Admin deploys App Connector VM and injects Key (user-data / provisioning_key file)
│
▼
3. App Connector boots -> Reads /opt/zscaler/var/provisioning_key
│
▼
4. Outbound TLS connection initiated to ZPA CA (Enrollment Endpoint)
│
▼
5. CA validates Key -> Generates unique client certificate -> Downloads to Connector
│
▼
6. Provisioning Key deleted locally -> Connector joins Group -> Active status reported
Key Attributes of a Provisioning Key:
- Associated App Connector Group: Explicitly dictates which cluster of connectors the new instance joins.
- Component Type: App Connector (distinct from Private Service Edge keys).
- Maximum Uses: Defines how many individual virtual appliances can be enrolled using this key (e.g., 2 for a pair, or unlimited for dynamic auto-scaling groups).
- Expiration Date: Sets an enrollment validity timeframe. Once expired, no new connectors can be enrolled with the key, but existing registered connectors remain fully operational.
[!IMPORTANT] Exam Key Point: The Provisioning Key is used only once during initial startup and enrollment. Once the Central Authority issues the connector its unique, cryptographic client certificate, the raw provisioning key is deleted from the connector filesystem. Subsequent authentication and certificate renewals occur automatically over the control channel.
3. App Connector Groups & High Availability
An App Connector Group is a logical clustering construct that groups multiple App Connectors residing in the same geographic location, datacenter, or cloud VPC.
+-----------------------------------------------------------------------------------+
| APP CONNECTOR GROUP HIGH AVAILABILITY CLUSTER |
+-----------------------------------------------------------------------------------+
App Connector Group: "US-East-VPC-Cluster" (Location: Ashburn, VA)
┌─────────────────────────────────────────────────────────────────────────────┐
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ App Connector #1 (AZ-1a)│ │ App Connector #2 (AZ-1b)│ │
│ │ Active / Healthy │ │ Active / Healthy │ │
│ │ Outbound TLS to Edge │ │ Outbound TLS to Edge │ │
│ └────────────┬────────────┘ └────────────┬────────────┘ │
│ │ │ │
│ └──────────────────────┬──────────────────────┘ │
│ │ │
│ Active-Active Load Balancing / N+1 Redundancy │
│ ▼ │
│ [ Internal Application Servers ] │
└─────────────────────────────────────────────────────────────────────────────┘
Key Group Configuration Settings:
- Location & Coordinates: Geographic latitude and longitude coordinates assigned to the group. ZPA uses these coordinates to calculate the closest Service Edge and minimize end-to-end user latency.
- DNS Resolver Configuration: Defines whether connectors use their local OS resolver configuration (
/etc/resolv.conf) or specific internal corporate DNS servers for application FQDN lookups. - Upgrade Schedule & Maintenance Window: Dictates the day of the week, start time, and time zone for automated software updates.
- High Availability Best Practice ($N+1$): Organizations should always deploy a minimum of two App Connectors per group across separate virtualization hosts or cloud Availability Zones to ensure zero downtime during host failures or maintenance windows.
4. Platform Deployment Options
App Connectors can be deployed across various enterprise environments using pre-built virtual appliances or native package managers.
+-----------------------------------------------------------------------------------+
| APP CONNECTOR SUPPORTED DEPLOYMENT PLATFORMS |
+-----------------------------------------------------------------------------------+
ON-PREMISES VIRTUALIZATION: PUBLIC CLOUD INFRASTRUCTURE:
* VMware ESXi (OVA / OVF Template) * Amazon Web Services (AWS Marketplace AMI)
* KVM / QEMU (QCOW2 Image) * Microsoft Azure (Marketplace / ARM)
* Nutanix AHV (Prism Image) * Google Cloud Platform (GCP Compute Engine)
NATIVE LINUX PACKAGES: CONTAINER / SERVERLESS:
* Red Hat Enterprise Linux (RHEL) * Docker / Podman (Supported via Linux base)
* CentOS / Oracle Linux (RPM via Yum) * Infrastructure-as-Code (Terraform, Ansible)
Platform-Specific Deployment Guidelines:
- AWS Deployment: Deploy into private subnets across multiple Availability Zones. Security Group rules require 0 inbound rules from the internet. Outbound rules must permit TCP port 443 to the internet via a NAT Gateway or AWS Internet Gateway.
- Microsoft Azure: Deployed via Azure Resource Manager (ARM) templates or Azure Marketplace VHDs into private virtual network subnets.
- VMware ESXi: Imported using the official Zscaler OVA template. The virtual machine must be assigned to an appropriate virtual switch port group with outbound network access.
- Native Package Install: Available on RHEL, Rocky Linux, and CentOS via official Zscaler repository:
# Example RHEL/CentOS native package deployment sudo yum install -y zpa-connector sudo systemctl stop zpa-connector echo "<Provisioning_Key_String>" | sudo tee /opt/zscaler/var/provisioning_key sudo chmod 600 /opt/zscaler/var/provisioning_key sudo systemctl start zpa-connector sudo systemctl status zpa-connector
5. Sizing Guidelines & Resource Allocation
Proper hardware resource allocation ensures that App Connectors do not become throughput or connection bottlenecks.
Official Sizing Specifications
| Deployment Scale | vCPU Count | RAM (Memory) | Hard Disk Space | Network Interface | Max Encrypted Throughput | Max Concurrent Sessions |
|---|---|---|---|---|---|---|
| Small / Branch | 2 vCPU | 4 GB | 20 GB | 1 Gbps vNIC | ~200 - 250 Mbps | ~2,500 |
| Standard Production | 4 vCPU | 8 GB | 20 GB | 1 Gbps vNIC | ~500 Mbps | ~6,000 |
| High Throughput | 8 vCPU | 16 GB | 30 GB | 10 Gbps vNIC | ~1 Gbps | ~12,000 |
| Ultra Scale / Datacenter | 16 vCPU | 32 GB | 50 GB | 10 Gbps vNIC | ~2+ Gbps | ~25,000+ |
[!TIP] Scale-Out vs. Scale-Up: Zscaler strongly recommends scaling out (adding more 4 vCPU / 8 GB App Connectors to a Connector Group) rather than scaling up a single virtual machine to massive compute sizes. Scaling out increases fault tolerance and leverages active-active multi-instance load balancing.
6. Auto-Upgrade Windows & Rolling Maintenance
Zscaler automatically manages software updates for App Connectors, ensuring virtual appliances receive security patches and performance improvements without administrative overhead.
+-----------------------------------------------------------------------------------+
| ZERO-DOWNTIME ROLLING SOFTWARE UPGRADE WORKFLOW |
+-----------------------------------------------------------------------------------+
App Connector Group (2 Nodes: Connector A and Connector B)
Upgrade Window Starts (e.g., Sunday 02:00 UTC)
│
▼
[ Step 1: Connector A Enters Drain Mode ] ──> Stops accepting new user sessions
[ Existing sessions on A finish normally ]──> New sessions routed exclusively to B
│
▼
[ Step 2: Connector A Downloads Binary & Restarts Services (30-60s) ]
│
▼
[ Step 3: Connector A Re-registers with Central Authority as Healthy ]
│
▼
[ Step 4: Upgrade Engine Validates Connector A is 100% Operational ]
│
▼
[ Step 5: Connector B Enters Drain Mode & Upgrades ]
│
▼
[ Upgrade Complete: Zero User Disruption Across Group ]
Upgrade Mechanics:
- Staggered Rolling Upgrades: ZPA updates connectors sequentially within a group. It never updates all connectors simultaneously.
- Session Draining: Before upgrading, the connector enters a drain state where new connections are steered to peer connectors while existing active connections terminate gracefully.
- Periodic Frequency: Administrators can configure upgrade frequency (e.g., Weekly) and preferred time windows.
7. Practical Deployment Scenario: AWS High-Availability VPC Rollout
Objective: Deploy a fault-tolerant App Connector cluster in an AWS VPC across two Availability Zones (us-east-1a and us-east-1b) to connect internal workloads to ZPA.
Deployment Procedure:
- ZPA Admin Portal: Navigate to Configuration > App Connector Groups and create
AWS-Prod-East-Group. Assign location coordinates for Ashburn, VA, and set the auto-upgrade window to Sundays at 03:00 EST. - Generate Provisioning Key: Navigate to Configuration > Provisioning Keys, select
AWS-Prod-East-Group, set key type to App Connector, maximum uses =2, and expiration =48 hours. - AWS Security Group Configuration: Create an AWS Security Group
sg-zpa-connectors:- Inbound Rules: None (0 rules). No public or private inbound ports required.
- Outbound Rules: TCP Port 443 to
0.0.0.0/0(via NAT Gateway); All traffic to internal application subnets (10.100.0.0/16).
- Launch EC2 Instances: Launch two
c5.xlarge(4 vCPU, 8 GB RAM) instances using the official Zscaler App Connector AMI acrossus-east-1aandus-east-1bprivate subnets. - Inject User Data: Provide the Provisioning Key via EC2 user-data script or post-boot provisioning file.
- Verify in Portal: Confirm both instances report Active status in ZPA diagnostics within 2 minutes.
8. Exam Tips & High-Frequency Traps
[!WARNING] Exam Trap (Inbound Security Group Rules in Cloud): Cloud security questions often test whether you think App Connectors require inbound port 443 rules in AWS Security Groups or Azure Network Security Groups. App Connectors require 0 inbound rules. They initiate connections outbound only.
[!IMPORTANT] Exam Key Point (Provisioning Key Lifespan): A Provisioning Key expiration date applies only to enrollment. If a key expires after 24 hours, currently running App Connectors enrolled with that key will not disconnect or stop functioning.
[!TIP] Operational Best Practice (Sizing Rule of Thumb): For production environments, remember the standard sizing baseline: 4 vCPUs, 8 GB RAM, ~500 Mbps throughput.
What is the primary function of a ZPA Provisioning Key during the deployment of a new App Connector?
An administrator is configuring an AWS Security Group for a pair of ZPA App Connectors deployed in a private VPC subnet. What inbound firewall rule is required to permit remote users to access internal applications?
How does ZPA prevent application downtime when an App Connector Group undergoes automated software upgrades during a configured maintenance window?
What is the standard production hardware sizing specification for a ZPA App Connector capable of processing up to 500 Mbps of encrypted application throughput?