Skip to main content

Version: latest

Multiple Availability Zones Deployment of API7 Gateway

Deploying API7 Gateway across multiple availability zones (AZs) provides high availability and protects your API services against the failure of an entire AZ. This page details the multi-AZ deployment pattern and its configuration.

Multi-AZ Architecture

In a multi-AZ deployment, the Control Plane and Data Plane components are distributed across different AZs within the same region.

  • Control Plane: Typically deployed in a single primary AZ, but can be scaled to multiple AZs if your infrastructure supports it.
  • Data Plane: Deployed in multiple AZs (e.g., AZ-a, AZ-b, AZ-c) to ensure continuous traffic handling if one AZ becomes unavailable.
  • Load Balancer: A cross-AZ load balancer distributes incoming traffic to all healthy DP nodes across all AZs.

Multi-AZ Deployment Pattern

A typical multi-AZ deployment involves the following components:

  • Region: A specific geographic area (e.g., us-east-1).
  • Availability Zones: Independent failure domains within the region (e.g., us-east-1a, us-east-1b).
  • Cross-AZ Networking: Low-latency, high-bandwidth networking connects the CP and DP nodes across AZs.

Failure Domain Isolation

By distributing DP nodes across multiple AZs, you isolate your failure domains. If an AZ experiences an outage (e.g., due to power failure or network issues), the load balancer will stop sending traffic to the DP nodes in that AZ and redistribute it to the healthy nodes in the remaining AZs.

Configuration for Multi-AZ

Data Plane Nodes

Deploy the same Data Plane configuration to every node in every AZ. List one DP Manager endpoint per AZ in deployment.etcd.host so that each DP node can fail over to a Control Plane in another AZ if its local one becomes unreachable:

config.yaml
deployment:
role: traditional
role_traditional:
config_provider: etcd
etcd:
host:
- "https://dp-manager.az-a.internal:7943"
- "https://dp-manager.az-b.internal:7943"
- "https://dp-manager.az-c.internal:7943"
prefix: /apisix
timeout: 30

Each entry must point to a DP Manager TLS listener (default port 7943). The DP iterates the list on startup and reconnects to the next entry whenever the current one becomes unhealthy. For the full set of supported fields, see the Data Plane configuration reference.

Load Balancer

Configure your load balancer to perform cross-AZ health checks and load balancing.

  • Health Checks: Use the DP status API (port 7085, endpoints /status or /status/ready) for health monitoring.
  • Cross-AZ Load Balancing: Enable cross-AZ load balancing to distribute traffic evenly across all AZs.

Next Steps

API7.ai Logo

The digital world is connected by APIs,
API7.ai exists to make APIs more efficient, reliable, and secure.

Sign up for API7 newsletter

Product

API7 Gateway

SOC2 Type IIISO 27001HIPAAGDPRRed Herring

Copyright © APISEVEN PTE. LTD 2019 – 2026. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the Apache Software Foundation