TTechclickAll lessons
Zscaler Β· Cloud & Branch Connector Β· Cloud Connector

Zscaler Cloud Connector Securing AWS / Azure / GCP Workloads with ZIA

Your Branch Connector story is done β€” every shop and warehouse goes through ZIA. Now flip the script: your 200 EC2 instances, 80 Azure VMs, and that GKE cluster the data team spun up last week have no ZIA inspection on their internet egress. Cloud Connector is the Terraform-deployed VM that puts those workloads behind the same ZIA policy as your laptops β€” without changing a single line of app code.

πŸ“… 2026-05-24Β· ⏱ 16 min readΒ· 🏷 10-question assessment included
🎯 By the end of this lesson, you'll be able to

πŸ’‘ The toll booth on the cloud highway

Imagine your AWS Mumbai region is a six-lane expressway. Every EC2 instance is a vehicle wanting to drive out to the public internet for a software update, an API call, or a Slack notification. Without Cloud Connector, every vehicle takes the AWS NAT Gateway β€” a tunnel that lets traffic out but does zero security inspection. That's how a compromised pod talks to its C2, downloads a coinminer, or exfils customer data.

Cloud Connector is the toll booth between your vehicles and the highway. Every flow is inspected β€” by the same ZIA policy you use for laptops β€” and only the legitimate ones get a green light. The trick is doing this transparently: AWS workloads don't reconfigure anything, the routing simply changes so the toll booth becomes the new default gateway.

Why this matters in production (and in interviews)

Indian SI giants and BFSI firms are moving to multi-cloud (TCS landing zones on Azure for clients, Flipkart microservices on AWS Mumbai, Jio analytics on GCP). Cloud security in those workloads is the gap. Cloud Connector closes it. In an interview for a Cloud Security / SecOps role at Wipro, Infosys, or a Big-4 consulting team, expect:

What Cloud Connector actually is

Zscaler Cloud Connector (CC) is a VM appliance deployed inside your cloud account, in your VPC/VNet, that takes traffic from cloud workloads and forwards it to ZIA (north-south, internet-bound) and ZPA (when used as a hybrid pattern). Three deployment platforms: AWS, Azure, GCP. Plus on-prem hypervisors (VMware, KVM, Hyper-V) for organisations doing colo or private-cloud egress security.

CloudHow traffic is redirected to CCRecommended instanceDeployment
AWSGWLB + GWLB endpoints + Transit Gateway. Workload VPC default route points to GWLB endpoint.c6i.xlarge / c6i.2xlarge (autoscale)Terraform zscaler/cloud-connector-modules/aws
AzureAzure Standard Load Balancer + User Defined Routes (UDR) on the spoke VNet, hub-spoke topology.Standard_F4s_v2 / F8s_v2 (VMSS)Terraform zscaler/cloud-connector-modules/azurerm
GCPInternal LB + GCP routes; can use VPC-native or hub-spoke with Network Connectivity Center.n2-standard-2 (Zscaler official recommendation)Terraform zscaler/cloud-connector-modules/gcp

The four-cousin family: who does what

This is the single most confused topic in Zscaler land. Four products sound similar β€” Branch Connector, Cloud Connector, App Connector, Service Edge β€” and they do completely different jobs. Memorise this table; interviewers love to test it.

ComponentWhere it livesWhat it forwardsDirection
Branch ConnectorBranch office (appliance or VM)Branch internet-bound + private-app trafficNorth-south (to ZIA) + ZPA broker
Cloud ConnectorCustomer's AWS/Azure/GCP VPCCloud workload internet egress + optional inter-VPCNorth-south (to ZIA) + east-west policy
App ConnectorCustomer's DC or VPC (next to private apps)Inbound ZPA private-app brokeringSouth-north (from remote user to private app)
Service Edge (ZTE)Zscaler's own datacenters (150+ globally)The inspection layer β€” receives tunnels from BC/CC/ZCCHub of the SASE β€” every other connector terminates into ZTE
Infographic 1 of 4 β€” The 4-cousin family in one picture
Branch Connector, Cloud Connector, App Connector, and Service Edge β€” what each does and where it lives. ZIA / ZPA Service Edge (ZTE) 150+ POPs worldwide Branch Connector Reliance store, L&T factory DTLS UDP/443 β†’ Cloud Connector Flipkart AWS, Jio GCP VM in your VPC β†’ App Connector HDFC DC SAP, AIIMS HMIS ← ZPA broker tunnels Client Connector (ZCC) Roaming laptops DTLS UDP/443 β†’
Same ZIA + ZPA policy, four different on-ramps. Cloud Connector is the on-ramp for everything inside a public-cloud VPC.
πŸ‘¨β€πŸ’» Scenario Β· Aditya at Flipkart, AWS Mumbai (ap-south-1)

Aditya is the Cloud Security lead at Flipkart. The shopping-cart microservices have 8 application VPCs (cart, checkout, inventory, search, recommend, payments-prep, fraud-engine, sessions) all peered through a central Transit Gateway in ap-south-1. Every microservice calls Slack, Datadog, Razorpay sandbox, and various npm registries. Today all of that egress goes through a NAT Gateway with zero security inspection. Compliance flagged it in the last audit. Aditya has 2 weeks to put every VPC's internet egress behind ZIA β€” without re-architecting the microservices.

The AWS GWLB + Transit Gateway pattern (the gold standard)

For multi-VPC AWS landing zones β€” which is what every serious Indian enterprise runs by now β€” the canonical pattern is:

  1. Create a dedicated Zscaler VPC (sometimes called "security VPC" or "inspection VPC").
  2. Deploy Cloud Connectors in private subnets, fronted by an AWS Gateway Load Balancer (GWLB).
  3. Create GWLB endpoints in each workload VPC (one per AZ for HA).
  4. Attach all VPCs (workload + Zscaler) to a Transit Gateway.
  5. Configure route tables so each workload VPC's default route (0.0.0.0/0) goes to its local GWLB endpoint β€” which transparently sends traffic through CC to ZIA, then back.
  6. Configure the Zscaler VPC's TGW route table to send its default to the GWLB VPC endpoint (so even the Zscaler VPC's outbound goes through CC for inspection).
Infographic 2 of 4 β€” AWS GWLB + TGW Cloud Connector pattern
Workload VPCs send default route via Transit Gateway to Zscaler VPC, where GWLB fronts an autoscale group of Cloud Connectors that forward to ZIA Service Edge. Workload VPC 1 cart-service Workload VPC 2 checkout Workload VPC 3 inventory Workload VPC 4–8 search, recommend… Transit Gateway (ap-south-1) Zscaler VPC (security) GWLB Endpoint (per AZ) GENEVE encapsulation GWLB β†’ ASG of Cloud Connectors Cloud Connectors (ASG) c6i.xlarge Β· multi-AZ ZIA Service Edge (mum1.sme) Internet Workload route tables: 0.0.0.0/0 β†’ local GWLB endpoint. That single edit hijacks all internet egress through Zscaler.
The Regional Hub pattern from Zscaler's Part-1 reference architecture. Used by every large Indian SI doing multi-VPC AWS at scale.
πŸ‘‰ So far: VM in your VPC, GWLB makes it transparent, TGW reuses one CC pool for many VPCs. Next β€” the Terraform that builds all this in 15 minutes.

Configuration walkthrough β€” Terraform-first

Zscaler ships official Terraform modules at github.com/zscaler/terraform-aws-cloud-connector-modules (and equivalents for Azure and GCP). Don't click in the AWS console for production; click only in the lab.

Step 1 β€” Initialise the Terraform module (AWS)

main.tf
module "zscaler_cc" {
  source  = "zscaler/cloud-connector-modules/aws"
  version = "~> 1.6"

  name_prefix          = "flipkart-cc-prod-mum"
  aws_region           = "ap-south-1"
  zscaler_cloud        = "zscalerthree.net"
  cc_vm_prov_url       = "https://connector.zscalerthree.net"   # provisioning URL
  cc_callhome_enabled  = true

  # Workload VPCs to attach to TGW
  workload_vpc_ids     = [
    "vpc-0abc111",   # cart
    "vpc-0abc222",   # checkout
    "vpc-0abc333",   # inventory
    # ...
  ]

  # CC sizing + autoscale
  cc_instance_type     = "c6i.xlarge"
  cc_count_min         = 2
  cc_count_max         = 6
  cc_az_count          = 3                # ap-south-1a / b / c

  # Networking
  cc_vpc_cidr          = "10.99.0.0/16"
  cc_subnet_size       = 24

  tags = { owner = "cloud-sec", environment = "prod" }
}

Step 2 β€” Plan + apply

shell
aditya@laptop:~/flipkart-cc$ terraform init
aditya@laptop:~/flipkart-cc$ terraform plan -out=cc.plan
   Plan: 47 to add, 0 to change, 0 to destroy.

aditya@laptop:~/flipkart-cc$ terraform apply cc.plan
   ...
   Apply complete! Resources: 47 added, 0 changed, 0 destroyed.

   Outputs:
     cc_provisioning_status = "READY"
     gwlb_endpoint_service_name = "com.amazonaws.vpce.ap-south-1.vpce-svc-0123abcd"
     tgw_id                     = "tgw-09abcd1234"
     cc_admin_url               = "https://connector.zscalerthree.net"
βœ“Expected output

In the Cloud Connector admin portal (https://connector.zscalerthree.net), under Provisioning & Configuration β†’ Cloud Connectors, you'll see 2 (the min) CCs registered, status Active, each tagged with the AZ they live in. The GWLB endpoint service is shared via the vpce-svc-… name to your workload VPC accounts.

Step 3 β€” Per-workload-VPC route table edit (the magic moment)

In each workload VPC route table
OLD:
  Destination       Target
  10.0.0.0/8        local
  0.0.0.0/0         nat-0abc123def   ← AWS NAT Gateway (no inspection)

NEW:
  Destination       Target
  10.0.0.0/8        local
  0.0.0.0/0         vpce-0xy456...   ← local GWLB endpoint
                                       (transparently forwards through CC β†’ ZIA)

That one edit is the entire cutover. Every EC2's outbound HTTPS / DNS / SMTP / API call now flows through ZIA inspection β€” without any change inside the instance.

VPC CIDR practice Packet tracker FW policy sim

The pattern decision tree β€” Regional Hub vs Isolated VPC

Zscaler publishes two AWS reference patterns. Choose by the workload's isolation requirements.

Infographic 3 of 4 β€” "Which CC pattern fits my workload?"
Decision tree starting from compliance/isolation requirement, branching into Regional Hub vs Isolated VPC patterns. Q1: Are workloads under PCI/HIPAA isolation that bars cross-VPC? Q2: How many workload VPCs? (plus expected egress throughput) Yes β€” isolated Isolated-VPC pattern (Reference Architecture Part 2) CC ASG inside EACH VPC. No TGW between data planes. Higher cost, max isolation. β‰₯ 3 VPCs Regional Hub pattern (Reference Architecture Part 1) Shared CC ASG in Zscaler VPC. TGW connects workload VPCs. Lowest cost, shared inspection. 1–2 VPCs only Single-VPC pattern CC ASG sits inside the workload VPC. No TGW. Lower overhead. Good for early POCs and small SaaS startups. Decision factor #1 = isolation requirement, #2 = cost per VPC, #3 = throughput pooling. Most large Indian fleets land on Regional Hub. PCI/healthcare lands on Isolated-VPC.
Print this. In every cloud-security interview at a BFSI client, this is the architecture-design question.

Verification β€” "is the cloud actually safer now?"

View 1 β€” CC admin portal

Admin portal path
Dashboard  β†’  Cloud Connectors  β†’  flipkart-cc-prod-mum-asg-1a

  Status:                Active ●
  Service Edge:          mum1.sme.zscalerthree.net  (Mumbai)
  Throughput (now):      612 Mbps in / 184 Mbps out
  Sessions (now):        18,420
  AZ:                    ap-south-1a
  Instance type:         c6i.xlarge
  Provisioning:          Terraform (ASG)
  Last health check:     OK Β· 12 s ago

View 2 β€” VPC flow logs

CloudWatch Logs Insights query
# Confirm workload outbound traffic is hitting the GWLB endpoint,
# not the old NAT Gateway
fields @timestamp, srcaddr, dstaddr, action, bytes
| filter srcaddr like /^10\.10\./   # cart VPC CIDR
| filter dstport = 443
| stats sum(bytes) by dstaddr
| sort sum_bytes desc
| limit 20
βœ“Expected output

Top destinations should now show 10.99.x.x (Zscaler VPC GWLB endpoints), not the old NAT Gateway ENI IP. If you still see NAT Gateway hits, the route table edit didn't propagate to all subnets in the VPC.

View 3 β€” ZIA Insights

ZIA admin portal
Analytics  β†’  Insights  β†’  Logs  β†’  Filter:
  Location = Cloud Connector β€” flipkart-cc-prod-mum
  Time = Last 1 hour

  β†’ Top destinations:    api.slack.com (32%), api.datadog.com (21%),
                         registry.npmjs.org (14%), api.razorpay.com (9%)
  β†’ Top blocked:         3 (Suspicious cryptominer pool β€” auto-blocked)
  β†’ DLP events:          0
  β†’ Threats detected:    1 (Suspicious DNS query to fast-flux domain)

Common Mistakes β€” what blows up in production

!Mistake 1 β€” "Route table edit missed a subnet"

Symptom: CC dashboard shows healthy traffic, but ZIA Insights shows only HALF the expected EC2 instance count. Audit says half the workloads are still bypassing inspection.

Root cause: The workload VPC has 3 subnets but only 2 had their route tables updated to point at the GWLB endpoint. EC2 instances in the third subnet still default to the NAT Gateway.

Fix: Audit all route tables in every workload VPC, not just "the main route table". Use Terraform for_each over all subnets so you can't miss one. Verify with the VPC flow log query above.

!Mistake 2 β€” "Security group blocks management traffic"

Symptom: CC instance is up, dashboard shows it as Connecting and never flips to Active. Workload egress is broken because GWLB has no healthy backend.

Root cause: A platform-team-deployed Security Hub or hardening baseline locked down outbound from the Zscaler VPC management interface, blocking DTLS (UDP/443), DNS (UDP/53), and NTP (UDP/123) β€” exactly what CC needs to reach Zscaler cloud.

Fix: Use the Zscaler-defined network tags in the security group rules β€” the Terraform module sets these correctly by default, but check no override is wiping them. Outbound allowlist must include the Zscaler sub-cloud IP ranges + the 3 management protocols.

!Mistake 3 β€” "Asymmetric routing breaks inbound connections"

Symptom: After CC deployment, external users hitting an internet-facing ALB report random TCP RSTs and timeouts on long-lived connections.

Root cause: Inbound traffic from internet β†’ ALB β†’ EC2 is fine, but the EC2's return traffic now defaults to 0.0.0.0/0 via GWLB. The return goes through CC, gets NAT'd, comes out a different public IP than the inbound source, and the external client's stack drops it. Classic asymmetric routing.

Fix: Use AWS VPC ingress routing to split the return path: traffic destined to internet-facing clients takes the IGW path (preserves source IP), traffic destined to outbound API calls goes through CC. Or, isolate the customer-facing tier into its own VPC that doesn't use CC for egress (instead it uses an NLB + dedicated security group).

!Mistake 4 β€” "Undersized instance, throughput plateaus"

Symptom: CC throughput plateaus at ~500 Mbps despite traffic growing. New EC2 instances are coming online, but their internet egress feels slow. CPU on each CC is at 95%+.

Root cause: Initial Terraform set cc_instance_type = "c6i.large". That instance type tops out around 500 Mbps of inspected throughput. The ASG can't scale you out of a sizing problem β€” adding more c6i.large instances helps lateral growth but each one still tops at 500 Mbps.

Fix: Resize via Terraform β€” change to c6i.xlarge (1 Gbps) or c6i.2xlarge (~2.5 Gbps). Run a rolling-update terraform apply; ASG replaces nodes one at a time, no outage. Set cc_count_max high enough to absorb traffic spikes.

!Mistake 5 β€” "CC and NAT Gateway both in path"

Symptom: Egress works, but latency is 60ms higher than expected, and the AWS NAT Gateway data-processing bill stayed the same after CC rollout.

Root cause: The route table change pointed default to the GWLB endpoint, but the Zscaler VPC itself still routes its egress through a NAT Gateway. So traffic loops EC2 β†’ GWLB β†’ CC β†’ NAT GW β†’ internet. Double-hop, double-pay.

Fix: CC has its own egress path; don't put a NAT Gateway behind it. Read the Zscaler blog "Using Cloud Connectors without NAT Gateway" β€” the Terraform module supports this; ensure the Zscaler VPC subnet uses Internet Gateway directly with appropriate route propagation.

Pro tips from the field

πŸ’‘Tip 1 β€” Multi-AZ from day one

Single-AZ Cloud Connector means a single-AZ outage in ap-south-1 (rare but real) takes ALL your cloud egress down. Always set cc_az_count >= 2 in Terraform from day one. The cost delta is small; the resilience delta is enormous.

πŸ’‘Tip 2 β€” Pin the Terraform module version

Don't use version = "~> 1" β€” pin to a specific minor version like ~> 1.6. Zscaler ships breaking changes between major versions and the Terraform registry will silently pull a new one if you're not careful. Read the changelog before any version bump.

πŸ’‘Tip 3 β€” Use CC + App Connector hybrid for true zero-trust

Cloud Connector = north-south (workload β†’ internet). App Connector = south-north (remote user β†’ private app). Run both in your VPC: CC handles outbound egress to ZIA, App Connector brokers ZPA access to your internal applications. Same Zscaler tenant, completely different traffic flows, both billed under the same SASE license.

End-to-end scenario walkthrough β€” Karthik's Azure landing zone

🎬 Karthik at TCS Bangalore β€” Azure hub-spoke for 3 BFSI tenants

Monday 09:00 IST. Karthik gets a brief: TCS-managed landing zone in Azure South India must serve 3 BFSI client tenants. Each tenant needs ZIA-inspected internet egress, isolated from the others, with autoscale to handle market-open traffic spikes at 09:15 IST. RTO < 5 minutes.

10:30. Karthik writes Terraform using zscaler/cloud-connector-modules/azurerm v1.7. Hub VNet hosts one shared CC VMSS with 2 instances min, 6 max, Standard_F4s_v2 across 3 availability zones. Each tenant's spoke VNet peers to the hub, default route via User Defined Route points at the CC load balancer.

11:45. terraform apply. 38 resources created in 7 minutes.

12:30. Karthik validates each tenant: curl ipinfo.io from a test VM in each tenant's spoke. All three show the Zscaler Mumbai egress IP β€” not Azure's default outbound. ZIA Insights show 3 distinct location tags (one per tenant, mapped to the spoke VNet name).

13:00. Tuesday market-open simulated. Traffic spikes to 1.4 Gbps. VMSS scales 2 β†’ 5 instances in 90 seconds. Latency p95 stays under 35ms. Zero dropped sessions.

Wednesday 14:00. Karthik writes the change-record for the CISO. Three pages. One screenshot. Done.

Infographic 4 of 4 β€” Karthik's timeline Β· Terraform β†’ live in 4 hours
Five-event timeline from brief at 09:00 to autoscale validated at 13:00 Tuesday. 1 Mon 09:00 Brief received 3 BFSI tenants 2 Mon 10:30 Terraform written azurerm module 3 Mon 11:45 Apply complete 38 resources / 7 min 4 Mon 12:30 Per-tenant verify Zscaler egress IP βœ“ 5 Tue 13:00 Market-open VMSS 2β†’5 in 90s 3 isolated tenants, 1 shared CC pool, ~4 hours of engineer time end-to-end.
The point: Terraform turns "weeks of console clicking" into "an afternoon of code review". Pin the module, version it, and your cloud-egress story stays reproducible.

Glossary β€” the words you'll hear on every Cloud Connector call

Cloud Connector (CC)
Zscaler VM in your AWS/Azure/GCP/on-prem environment that forwards workload traffic to ZIA Service Edge. Distinct from Branch Connector (branch hardware) and App Connector (ZPA inbound).
GWLB (Gateway Load Balancer)
AWS L3 transparent load balancer that uses GENEVE encapsulation to deliver flow-sticky traffic to backend appliances like CC. Makes inspection transparent to workloads.
GWLB Endpoint (GWLBe)
VPC endpoint that exposes the GWLB across VPCs/accounts. Workload route tables point default at this endpoint.
Transit Gateway (TGW)
AWS service that connects multiple VPCs (and on-prem via VPN/Direct Connect). Centralised routing hub. Pair with CC for the "Regional Hub" pattern.
VMSS (Virtual Machine Scale Set)
Azure's autoscale group β€” multiple identical VMs managed as one. Used for CC HA on Azure.
Service Edge (ZTE)
Zscaler datacentre POP that terminates tunnels and runs inspection. Indian closest: mum1.sme (Mumbai), maa1.sme (Chennai).
Regional Hub pattern (Part 1)
Shared CC pool in a Zscaler VPC, all workload VPCs connect via TGW. Cost-efficient.
Isolated-VPC pattern (Part 2)
CC pool per VPC, no TGW between data planes. Required for strict isolation (PCI, HIPAA).
Terraform modules
Official Zscaler-maintained Terraform modules on GitHub for AWS, Azure, GCP β€” they encode the right security groups, route tables, and instance types so you don't reinvent them.
n2-standard-2
GCP Compute instance type recommended by Zscaler for Cloud Connector β€” 2 vCPU, 8 GB RAM, balanced for cost/performance.
Asymmetric routing
When inbound and outbound traffic for the same flow take different paths. A common CC misconfiguration causes this β€” leads to RSTs.
VPC Ingress Routing
AWS feature letting you set route tables on the internet-gateway path, so inbound traffic can be steered differently than outbound. Fixes asymmetric routing with CC.

πŸ“‹ Quick reference β€” print this before your interview

Sources cited:
  1. Zscaler Help β€” What Is Zscaler Cloud Connector? (help.zscaler.com/cloud-branch-connector/what-zscaler-cloud-connector)
  2. Zscaler Reference Architecture β€” Zero Trust Security for AWS Workloads with Zscaler Cloud Connector (PDF)
  3. Zscaler Reference Architecture β€” Zero Trust Security for Azure Workloads + GCP Workloads (PDFs)
  4. GitHub β€” zscaler/terraform-aws-cloud-connector-modules + terraform-azurerm-cloud-connector-modules + terraform-gcp-cloud-connector-modules
  5. Zscaler Help β€” Troubleshooting Cloud Connector with GCP + with Azure + AWS
  6. Zscaler Blog β€” Internet Egress Security Architecture for AWS Workloads β€” Part 1 Regional Hubs + Part 2 Isolated VPCs
  7. Zscaler Community β€” App connector in Azure vs Cloud Connector thread (community.zscaler.com)
  8. AWS Partner Network β€” Enhancing Workload Security on AWS with Zscaler Zero Trust Exchange
  9. Zscaler-AWS Traffic Forwarding Deployment Guide (v2.2, May 2024) + Deployment Guide (v1.0, May 2025)

πŸ“ Check your understanding

10 scenario questions β€” same depth you'll see in Cloud Security / SASE interviews + ZCCP-IA practice exams. Pick one answer per question. You need 70% (7 of 10) to mark this lesson complete.

Q1

How is Zscaler Cloud Connector deployed?

Correct: B. Cloud Connector is a VM appliance the customer deploys in their own cloud (or on-prem hypervisor). A is wrong β€” SaaS-only is the Service Edge, not CC. C β€” Zscaler doesn't ship hardware into AWS DCs. D β€” there's no sidecar product; CC is at the network layer.
Q2

Aditya at Flipkart needs to inspect internet egress from 8 microservice VPCs in ap-south-1, all already peered through a Transit Gateway. Best architecture?

Correct: C. Regional Hub is the published Zscaler reference pattern for multi-VPC AWS. Shared CC pool = lowest cost; TGW handles routing; GWLB makes the CC transparent. A is impractical at scale and breaks for non-Linux workloads. B β€” BC is hardware/VM for branches, not for AWS DCs. D works (Isolated-VPC pattern) but is overkill if there's no isolation requirement β€” 8x the CC bill.
Q3

Sneha at Reliance Jio is deploying Cloud Connector in GCP for analytics workloads. Which VM instance type does Zscaler officially recommend?

Correct: A. Zscaler explicitly documents n2-standard-2 as the recommended GCP instance type for Cloud Connector β€” balanced cost/performance. B is too small to handle production throughput. C β€” GPUs don't help packet inspection. D β€” instance-type names are cloud-specific, you can't paste an AWS name into GCP.
Q4

Karthik at TCS Bangalore needs to deploy Cloud Connector in Azure South India serving 3 BFSI tenants in a hub-spoke landing zone, with autoscale for market-open spikes at 09:15 IST. Best deployment approach?

Correct: D. The official azurerm Terraform module handles VMSS, NSGs, route tables, and Azure load balancer correctly. Hub-spoke with UDRs is the canonical Azure pattern. A β€” clicking once doesn't handle 3 tenants or autoscale. B β€” modules are cloud-specific; you can't reuse the AWS one in Azure. C β€” copy-paste ARM templates is unsupported and a security risk.
Q5

After CC deployment, the admin dashboard shows CC Active and healthy traffic, but ZIA Insights reports egress from only HALF the expected EC2 instances. The other half's traffic appears in VPC flow logs going to the NAT Gateway ENI IP. Root cause?

Correct: B. Each AWS VPC can have multiple route tables (one per subnet, or shared). When you change "the main one" you miss subnets that explicitly use other route tables. The VPC flow log proves it β€” half the IPs are still going to NAT. Audit every subnet's effective route table; use Terraform for_each over all subnets so you can't miss one. A would show healthy-CC pegged at 100% CPU. C β€” ZIA logs are reliable; absence means absence, not loss. D would break the WHOLE flow, not half.
Q6

Workloads behind CC can ping 8.8.8.8, but the CC itself never transitions from Connecting to Active in the admin portal. CloudWatch shows the CC instance is launched and healthy. What's the most likely cause?

Correct: C. CC needs outbound DTLS/443 to Zscaler cloud, plus DNS and NTP, to complete provisioning. A platform-team hardening baseline often overrides the Terraform-set rules. Check the effective NSG/SG rules; restore the Zscaler-defined network tags. A β€” wrong image would fail at boot, not at provisioning. B β€” workload routing is unrelated to CC status. D β€” CC would launch and provision fine but then under-perform; here it's not provisioning at all.
Q7

CC has been running fine for 6 months. Suddenly throughput plateaus at 500 Mbps and CPU on every CC instance is 95%+. The ASG cc_count_max is set high but no scale-out is happening. New CC instances also peg CPU. Root cause?

Correct: A. CC throughput per instance is bounded by instance type. c6i.large tops around 500 Mbps; if you want 2 Gbps inspected, you need c6i.xlarge instances. ASG scale-out helps SESSION count, not single-flow throughput. Rolling Terraform update replaces instances one-at-a-time with no downtime. B disables security. C β€” AWS would throw explicit throttling errors. D β€” there's no license key in the module.
Q8

After deploying CC, external users hitting an internet-facing ALB report random TCP RSTs on long-lived HTTPS connections to the EC2 web tier behind the ALB. Latency is fine on first requests, then drops happen. EC2 outbound API calls work fine. Most likely cause?

Correct: D. Classic CC asymmetric-routing trap. Inbound from internet β†’ ALB β†’ EC2 uses the IGW path. Outbound EC2 β†’ internet was previously also IGW (response went out the same way the request came in). After CC, EC2's default route is hijacked to GWLB, so the response goes through CC, gets NAT'd differently, and external clients see source-mismatch RSTs. Fix: VPC Ingress Routing to split return paths, OR put customer-facing tier in its own non-CC VPC. A β€” CC doesn't decrypt traffic for inbound flows by default. B and C would break the FIRST request, not random ones mid-session.
Q9

A large IT-services company runs 50,000 EC2 instances spread across ap-south-1 (Mumbai), us-east-1 (N. Virginia), and eu-west-1 (Ireland). All need ZIA-inspected egress, with autoscale capacity and graceful regional isolation. Best architecture?

Correct: C. Per-region Regional Hub gives lowest latency (workload egress goes through local-region ZIA Service Edge), keeps data plane within the region (regulatory + RTO win), and autoscales independently per region. A backhauls Mumbai-Mumbai traffic to N. Virginia β€” adds 250+ ms latency and global data-residency issues. B is the right pattern for strict isolation but creates massive operational overhead at this scale. D is irrelevant.
Q10

A healthcare aggregator runs 12 cloud customer environments β€” each must be cryptographically isolated from the others (HIPAA-equivalent compliance), but all need ZIA-inspected internet egress with the same policy. Best Cloud Connector architecture?

Correct: B. Isolated-VPC pattern (Zscaler reference architecture Part 2) is purpose-built for this β€” each customer VPC gets its own CC ASG, no shared TGW data plane, but all CCs report to the same ZIA tenant so policy is consistent. A would share data planes between customers β€” HIPAA violation. C β€” ZCC on cloud workloads is operationally painful and doesn't cover non-Linux/agentless workloads. D rolls your own security, wastes the ZIA license.
Lesson complete β€” saved to your profile.
Almost! Review the sections above and try again β€” you need 70% (7 of 10) to mark this lesson complete.

What's next?

You've completed the three-blog series Ram asked for: Branch Connector + Check Point + Cloud Connector. You can now defend a SASE migration story at a CISO whiteboard for any major Indian enterprise. Take the practice exam to lock the knowledge.