Transcript
a VIRS operating system. Agenda for the session would be to talk what is Application Delivery Controller, its typical use cases. We will discuss also operation diagram and configuration constructs. And finally, there will be a demo for ADC configuration and its operation verification. Application Delivery Controller is a component of VIRS operating systems that can load balance TCP or UDP connections between multiple destination nodes using different distribution algorithms and monitoring criteria. Some ADC use cases include load balancing connections from users to remote servers so that availability of each remote server is being monitored by ADC itself. This ensures that even when there are multiple servers available, there can be only one server IP configured on user side and user will always get connected to one of currently operational servers. And user load is distributed between the servers using different load balancing algorithm. As a further evolution of previous use case, ADC can use backup server pools so that in the worst case scenario, users can be directed, for example, to servers from different region still keeping service availability while in a steady state, only servers from local region will be used. And also here to mention special use case of UDC, which can be found on all VIRS controllers where ADC is configured to load balance LEF connections from VUS devices to log for other nodes in analytics cluster or even to switch them to the backup analytics cluster if primary cluster fails. So this is why it's very important to understand how ADC feature works, how it can be verified and troubleshooted. On this diagram, there's a general presentation of ADC operation. In the center, there's a VUS router with ADC service. A virtual service IP and port combination is configured on it, which is used by clients on the left to reach a certain service which is running on servers which form a server pool on the right side. Despite there are multiple servers running for this service, clients have only one destination IP port configured, which is ADC virtual service IP. And ADC takes care about distributing client connections between servers in a pool based on a selected load balancing algorithm and also about checking operational status of each server in a server pool. There is also option to configure a backup server pool, which will be used only if no servers in default server pool are available. In the bottom, you can see source and destination IP fields of packets traversing from clients to servers. As you may see, before VUS device with ADC traffic from clients is assigned to ADC virtual service IP and port, while after it, traffic is assigned to real server IP and port. Also, after VUS device with ADC service, source IP can be kept original, or it can also be nutted to either interface IP of this router or dedicated SNAT pool. This diagram explains roles of different ADC configuration concepts and their dependencies. ADC virtual service should have IP and port configured on which it receives client connections and also it should have a default server pool assigned. There can be also optional backup server pool assigned. Each server pool should have at least list of servers with attached monitors and also load balancing algorithm defined. Let's check basic ADC configuration and verification operations on the presented demo setup. Added devices on the left side initiate connections to the certain service hosted on two servers on the right side, which are placed behind VUS router with ADC service. Virtual service on this VUS router is configured on IP 10.1.1.1 and port 10022, while servers themselves are listening on port 22. There are ICMP based monitors running from ADC service to track operational status of both servers. Let's proceed with the demo. This is Versodirector release 22.1.4 and we will be configuring ADC inside service template. The same approach applies if you will be configuring it inside device template or on device itself. Recommended way would be to configure it, of course, inside the template. First thing which you may notice that ADC configuration sections are absent by default. Normally, they should appear here in services section, but you may see that by default that ADC section is absent. So the very first step when you are configuring ADC would be to add ADC service to template or device configuration, because it's not enabled by default. To do this, we need to do two steps. First of all, it's needed to go to others, service nodes, service node groups, open default service node group and select ADC in the list of available services and click OK. Now it will be possible to add this service in organization limits. For this, we go to organization limits. Select our current organization, switch to services tab. And here in the list of services, we need to add ADC service. For this, you should be able to see ADC configuration services in services tab. This section contains local load balancer configuration and also monitors, which can be attached to servers. So we may start from configuring ICMP monitor, which is basic one. So it will check operational status of servers based on ICMP probes. We'll give it a name, ICMP. Here you can put different intervals, timeouts, values, but in this demo, we'll keep it default values. Alternatively, you can use monitors of TCP type. In this case, it would be needed to provide service port for this checking. But for our demo purposes, we'll go with ICMP based probes. Here you may see that it's not needed to specify IP address for monitor, because this IP address will be taken from the server configuration to which this monitor will be attached. OK. So monitor is created. And now it's possible to proceed with load balancer configuration. Load balancer configuration is sorted in the way how it should be configured. So first of all, it would be needed to configure servers, then to put them into the server pools, and then to configure virtual servers. So let's start from server configuration. As it was mentioned, we have two servers in our demo setup. And we will configure them now. So let's give them name type, means TCP or UDP. We can leave it as any. And let's put the IP addresses and port. This is a port on the server itself. Here you may need to select routing instance, and attach monitor to the server here. We will do the same for the second server, which will have 101 IP. It's added. So now we can proceed with configuring server pools. Let's give it a name. And here we need to select server members for this pool. And also it's possible to configure load balancing algorithm. Default is round robin, and we will use it in this demo. But there are many other options here. There's also weighted round robin, list connections, weighted list connections, list response time, list response time, source IP cache, destination IP cache, and IP cache. Having service pool configured, we can proceed with virtual service configuration. Let's add a virtual service. We will give it a name. Again, type can be TCP, UDP, or any. We can keep it as any. And we will attach it to one of IP addresses on the router, which is 10.1.1.1. And port will be 10.0.0.22. So those are IP address and port, which will be configured on client devices to connect to this service. And we also need to select default pool. This is mandatory configuration. Backup pool is optional. For the purpose of this demo, we will not select it. Additionally, on attributes tab, it's possible to select different NAT modes for the traffic between the US router and servers. By default, it's interface NAT. And we will use it in the first scenario. Here, we will select routing instance, where this virtual service is receiving connections. And also, for the purpose of this demo, we will enable logging for ADC operations so that logs will be sent to analytics. OK. ADC configuration for this demo is done. So now, it's possible to apply it on the device and verify how it works. Verification of ADC operation can be done using director's monitor dashboard. This is a device to which this demo ADC configuration is applied. And we are on monitor tab of this device. So to check ADC-related parameters, we switch to services, ADC. And here, we have several tabs. First tab provides overall information about virtual service configuration, where we can see address and port which are configured for these servers. And also, it's operational state. Operational state with details for virtual service can be seen on virtual service tab. Besides this, it's possible to check statistics for each server in the pool. And also, monitor statistics, which shows how many probes were sent and what was the result of those probes. So far, there are no connections to servers. So we can try to initiate those connections and see how these statistics will be changing. Let's open those test hosts from which we will initiate connections to our servers and see how the statistics for ADC will change. So this is one host. And we are initiating connection to virtual service IP and port. Here, you may see that we've got on server 100. This is its IP address. And also, we see that this connection is established from IP address of US device interface IP address. Let's see how statistics has changed for virtual service. So it shows one total connection. And if you go to server tab, we see that there is one connection on server 100. While keeping this connection, we will open one more connection from another test host, but to the same virtual service IP and port. So now, you may see that this connection is established to server 101 with different IP address. So this proves that load balancing works on ADC. And let's check updated statistics now. So now, you may see that there is one connection for each server. And for virtual service, there are two connections. So if we will terminate those connections, those connections. Yeah, then counters are updated for those connections. So here, packets and bytes counters. Let me see. Yeah. There is also a possibility to check ADC-related logs if they were enabled when configuring virtual service in Analytics. So this can be done when switching to Analytics, Logs, ADC. And here, you may see all connections which have taken ADC virtual service with all different details. Now, let's check situation when one of servers from the pool fails. So currently, connectivity to server 101 is down. Let's check how this is detected. Yeah. So operational status of server 101 is down. However, virtual service is still up as expected. And let's try making connections to the service from both test hosts. So one connection, server 100, and connection from another host. Also server 100, as expected. So ADC has taken care about directing those connections to the only available server. And here, we can see. Yeah. Current connections to and both on server 100. Thank you for watching this video. Hope it was helpful. Additional information about ADC configuration you can always find on Versa documentation portal, docs.versa-networks.com. Thank you.