Multiple VIP Support for Azure Cloud

Overview

Avi Vantage supports scaling of virtual services, which distributes workload across multiple Service Engines to provide increased capacity on demand thus extending the throughput capacity of the virtual service and increasing the level of high availability.

Avi Vantage deployments in Microsoft Azure leverage the Microsoft Azure Load Balancer to provide an ECMP-like, Layer 3 scale-out architecture. For more information on Avi Vantage integration with Microsoft Azure, refer to Avi Deployment Guide for Microsoft Azure.

Starting with release 18.2.3, Avi Vantage supports configuration of multiple virtual service IP addresses (VIPs) for a given virtual service in an Azure deployment. In this case, all the IP addresses are registered with the virtual service’s FQDN, and traffic is distributed across the VIPs using DNS based load balancing. Using this feature, the architecture having high SSL TPS and high throughput can be optimized.

For more information on scaling virtual services in Microsoft Azure environment, refer to Scaling of Virtual Service.

Use Case

Using this feature, incoming traffic is served by two or more VIPs with in the same Azure Load Balancer (ALB) and these VIPs scale out to the required SEs as per the load. It is useful in the environment when the ALB has limitation in scaling out beyond a certain number of SEs.

Configuring Multiple IP addresses for a Virtual Service

Notes:

  • Each virtual service IP address (VIP) of a given virtual service always gets placed on a different set of SEs.
  • Both the VIPs are hosted on the same Azure LB.

The following diagram depicts traffic flow when multiple IP addresses are configured for a virtual service.

deployment

The following are the observations from the diagram shown above:

  1. VS1 is the virtual service for the domain test.foo.com.
  2. For VS1, there are two IPs configured, 10.0.0.5 and 10.0.0.6.
  3. Based on the configuration, the incoming traffic goes to one of these IPs.
  4. With this feature, VIP1 scales out to SE1, SE2, and SE3. VIP2 scales out to SE4, and SE5. SE1, SE3, and SE3 are part of the scale-set-A on the Azure cloud. SE4 and SE5 are part of the scale-set-B. As two different scale-sets are configured, the resources are optimized while a scale-out or scale-in event occurs.

Configuring using Avi CLI

Avi CLI is used to configure multiple VIP feature for virtual service in an Azure cloud. Configuration using Avi UI is not supported yet. Login to the Avi CLI and use the configure virtual service <virtual service name> command to configure multiple VIPs for the selected virtual service.


[admin:controller1]: > configure virtualservice vstest
[admin:controller1]: virtualservice> services port 80
New object being created
[admin:controller1]: virtualservice:services> save
[admin:controller1]: virtualservice> vip
New object being created
[admin:controller1]: virtualservice:vip> vip
[admin:controller1]: virtualservice:vip> vip_id 1
[admin:controller1]: virtualservice:vip> subnet_uuid dev-subnet
[admin:controller1]: virtualservice:vip> auto_allocate_ip
[admin:controller1]: virtualservice:vip> auto_allocate_ip_type v4_only
[admin:controller1]: virtualservice:vip> where
Tenant: admin
Cloud: Default-Cloud
+-----------------------+---------------+
| Field | Value |
+-----------------------+---------------+
| vip_id | 1 |
| subnet_uuid | dev-subnet |
| auto_allocate_ip | True |
| auto_allocate_ip_type | V4_ONLY |
+-----------------------+---------------+
[admin:controller1]: virtualservice:vip> save
[admin:controller1]: virtualservice> vip
New object being created
[admin:controller1]: virtualservice:vip> vip_id 2
[admin:controller1]: virtualservice:vip> subnet_uuid test-subnet
[admin:controller1]: virtualservice:vip> auto_allocate_ip
[admin:controller1]: virtualservice:vip> auto_allocate_ip_type v4_only
[admin:controller1]: virtualservice:vip> save
[admin:controller1]: virtualservice> save