A hybrid cloud configuration as a Global Server Load balancer (GSLB) between two regions residing in same or different cloud or on-premise environments. It provides flexibility to implement disaster recovery site.
It requires atleast two Thunder instances in each region or location. One instance serves as the master controller, while the other functions as the site device. It is possible to configure multiple site devices, but it is recommended to have a minimum of three site devices to ensure seamless failover and effective disaster recovery.
Both regions should maintain an equivalent number of resources, whether hosted in the cloud or on-premise.
To create and install three thunder instances in any one region use Thunder-3NIC-3VM template. Same template can be used to install in another region.
Refer to the following for architectural references:
Region1 and Region2 both are in Azure cloud.
Figure 194 : Azure-to-Azure Cloud
Region1 is in Azure cloud and Region2 is on-premise or vice versa.
Figure 195 : Azure-to-On-Premise
Region1 and Region2 are on-premises.
Figure 196 : On-Premise-to-On-Premise
Figure 197 shows the GSLB deployment topology having two regions, Region1 and Region2. Both the regions must have identical number of resources:
Figure 197 : Hybrid Cloud GSLB Deployment Topology
Hybrid Cloud GSLB configuration requires two regions and each region should host three Thunder instances.
Python3 should be installed on your machine from where the scripts are executed to run the Hybrid Cloud GSLB configuration. For more information, see Install Python3.
To configure hybrid cloud GSLB, perform the following:
Run the following command to verify if all the PIP dependencies are installed:
pip3 install -r REQUIREMENTS.txt
Download A10-vThunder_ADC-CONFIGURATION > HYBRID-CLOUD-GSLB folder from GitHub.
From Start menu, open PowerShell and navigate to this downloaded folder and open the HYBRID_CLOUD_CONFIG_GSLB_PARAM.json with a text editor.
NOTE: | Each parameter has a default value mentioned in the parameter file which can be modified as required. |
Configure Master Controller for Region1.
Master Controller is the first vThunder instance in Region1 and it could be any vThunder instance.
masterConfigDetails
section of the //A10-vThunder_ADC-CONFIGURATION/HYBRID-CLOUD-GSLB/HYBRID_CLOUD_CONFIG_GSLB_PARAM.json file.Configure Site1 for Region1.
Site1 is the second vThunder instance in Region1 and it could be any vThunder instance.
siteList1
section of the //A10-vThunder_ADC-CONFIGURATION/HYBRID-CLOUD-GSLB/HYBRID_CLOUD_CONFIG_GSLB_PARAM.json file.Configure Site2 for Region1.
Site2 is the third vThunder instance in Region1 and it could be any vThunder instance.
siteList2
section of the //A10-vThunder_ADC-CONFIGURATION/HYBRID-CLOUD-GSLB/HYBRID_CLOUD_CONFIG_GSLB_PARAM.json file.Configure Member Controller for Region2.
Member Controller is the first vThunder instance in Region2 and it could be any vThunder instance.
memberConfigDetails
section of the //A10-vThunder_ADC-CONFIGURATION/HYBRID-CLOUD-GSLB/HYBRID_CLOUD_CONFIG_GSLB_PARAM.json file.Configure Site1 for Region2.
Site1 is the second vThunder instance in Region2 and it could be any vThunder instance.
siteList3
section of the //A10-vThunder_ADC-CONFIGURATION/HYBRID-CLOUD-GSLB/HYBRID_CLOUD_CONFIG_GSLB_PARAM.json file.Configure Site2 for Region2.
Site2 is the third vThunder instance in Region2 and it could be any vThunder instance.
siteList4
section of the //A10-vThunder_ADC-CONFIGURATION/HYBRID-CLOUD-GSLB/HYBRID_CLOUD_CONFIG_GSLB_PARAM.json file.Run the following command to configure GSLB:
PS C:\Users\TestUser\A10-vThunder_ADC-CONFIGURATION\HYBRID-CLOUD-GSLB> python HYBRID_CLOUD_CONFIG_GSLB.py
If the Hybrid cloud is configured successfully, the following message is displayed:
Gathering public and private ip address for site devices.
---------------------------------------------------------
configured ethernet- 1 ip
configured ethernet- 2 ip
Configuring slb server for site: site1
Successfully Configured slb server for site: site1
Configuring service group for site: site1
Successfully Configured service group for site:site1
Successfully Configured virtual server for site: site1
Successfully Configured gslb site: site1
Successfully Configured default route:site1
Configurations are saved on partition: shared
-----------------------------------------------------------
configured ethernet- 1 ip
configured ethernet- 2 ip
Configuring slb server for site: site2
Successfully Configured slb server for site: site2
Configuring service group for site: site2
Successfully Configured service group for site:site2
Successfully Configured virtual server for site: site2
Successfully Configured gslb site: site2
Successfully Configured default route:site2
Configurations are saved on partition: shared
-----------------------------------------------------------
configured ethernet- 1 ip
configured ethernet- 2 ip
Configuring slb server for site: site3
Successfully Configured slb server for site: site3
Configuring service group for site: site3
Successfully Configured service group for site:site3
Successfully Configured virtual server for site: site3
Successfully Configured gslb site: site3
Successfully Configured default route:site3
Configurations are saved on partition: shared
-----------------------------------------------------------
configured ethernet- 1 ip
configured ethernet- 2 ip
Configuring slb server for site: site4
Successfully Configured slb server for site: site4
Configuring service group for site: site4
Successfully Configured service group for site:site4
Successfully Configured virtual server for site: site4
Successfully Configured gslb site: site4
Successfully Configured default route:site4
Configurations are saved on partition: shared
-----------------------------------------------------------
Configuring controller devices
configured ethernet- 1 ip
configured ethernet- 2 ip
Successfully Configuring gslb server for controller: masterController
Successfully Configured ServiceIp for site: masterController
Successfully Configured ServiceIp for site: masterController
Successfully Configured ServiceIp for site: masterController
Successfully Configured ServiceIp for site: masterController
Successfully Configured site information for: masterController
Successfully Configured site information for: masterController
Successfully Configured site information for: masterController
Successfully Configured site information for: masterController
Successfully Configured gslb policy for: masterController
Successfully Configured gslb zone for: masterController
Successfully Configured gslb controller and status interval: masterController
Successfully Configured gslb controller group: masterController
Successfully Configured geo location: masterController
Successfully Configured default route:masterController
Configurations are saved on partition: shared
configured ethernet- 1 ip
configured ethernet- 2 ip
Successfully Configured gslb server for controller: memberController
Successfully Configured gslb controller group: memberController
Successfully Configured default route:memberController
Configurations are saved on partition: shared
Parameter |
Description |
Sample value |
---|---|---|
controllerMngmtPublicIp |
Public IP of Management Interface of Region1 Controller. |
|
controllerPassword |
vThunder instance Login password of Region1 Controller. |
|
controllerSecPrivateIpData1 |
Secondary Private IP of Data Interface Subnet1 of Region1 Controller. |
|
site1MngmtPublicIp |
Public IP of Management Interface of Region1 Site1. |
|
site1Password |
vThunder instance Login password of Region1 Site1 . |
|
site2MngmtPublicIp |
Public IP of Management Interface of Region1 Site2. |
|
site2Password |
vThunder instance Login password of Region1 Site2 . |
|
site1SecPrivateIpData1 |
Secondary Private IP of DataSubnet1 of Region1 Site1 vThunder. |
|
site1SecPublicIpData1 |
Secondary Public IP of DataSubnet1 of Region1 Site1 vThunder. |
|
site2SecPrivateIpData1 |
Secondary Private IP of DataSubnet1 of Region1 Site2 vThunder. |
|
site2SecPublicIpData1 |
Secondary Public IP of DataSubnet1 of Region1 Site2 vThunder. |
|
server1PrivateIp |
Private IPv4 address of Server1 of Region1. |
|
server2PrivateIp |
Private IPv4 address of Server1 of Region1. |
|
Parameter |
Description |
Sample value |
---|---|---|
controllerMngmtPublicIp |
Public IP of Management Interface of Region2 Controller. |
|
controllerPassword |
vThunder instance Login password of Region2 Controller. |
|
controllerSecPrivateIpData1 |
Secondary Private IP of Data Interface Subnet1 of Region2 Controller. |
|
site1MngmtPublicIp |
Public IP of Management Interface of Region2 Site1. |
|
site1Password |
vThunder instance Login password of Region2 Site1 . |
|
site2MngmtPublicIp |
Public IP of Management Interface of Region2 Site2. |
|
site2Password |
vThunder instance Login password of Region2 Site2 . |
|
site1SecPrivateIpData1 |
Secondary Private IP of DataSubnet1 of Region2 Site1 vThunder. |
|
site1SecPublicIpData1 |
Secondary Public IP of DataSubnet1 of Region2 Site1 vThunder. |
|
site2SecPrivateIpData1 |
Secondary Private IP of DataSubnet1 of Region2 Site2 vThunder. |
|
site2SecPublicIpData1 |
Secondary Public IP of DataSubnet1 of Region2 Site2 vThunder. |
|
server1PrivateIp |
Private IPv4 address of Server1 of Region2. |
|
server2PrivateIp |
Private IPv4 address of Server1 of Region2. |
|
Site Name |
VIP Name |
Device Name |
GEO Location |
---|---|---|---|
eastus_1 |
vs1 |
slb1 |
North America, United States |
eastus_2 |
vs2 |
slb2 |
North America, United States |
eastus2_1 |
vs3 |
slb3 |
North America.United States.California.San Jose |
eastus2_2 |
vs4 |
slb4 |
North America.United States.California.San Jose |
RIB List Of Region |
Destination IP Address |
Subnet Mask |
Next Hop |
---|---|---|---|
Region1 |
0.0.0.0 |
/0 |
10.1.20.1 |
Region2 |
0.0.0.0 |
/0 |
10.1.20.1 |