High available: GIS Hosting server with LB & Portal

1101
2
Jump to solution
03-26-2021 11:41 AM
yaserkhouja
New Contributor II

I have questions regarding HA multi-deployment machines and federation for GIS Server hosting servers with the portal. Assume my implementation is similar to the diagram below,

yaserkhouja_0-1616783445515.png

I configured the LB with the Wa1, and Wa2, and now clients access the portal throw the LB link: https:\\gis\arcgis

I am trying to achieve HA with the gis hosting servers S1 and S2. Below are my questions;  

  1. Do S1 and S2 need to be registered to the web adapter wa1 and wa2?
  2. How to configure S1 and S2 correctly with LB?
  3. If I only need to configure S1 and S2 with LB directly, what is the LB domain return link? Can it be the same domain used for the portal https:\\gis\arcgis?
  4. Do I need to set a web context for S1 and S2 with a new LB? Where?
  5. What link should be I be used to federating the GIS Hosting server? 

Thanks in advance! 

 

 

0 Kudos
1 Solution

Accepted Solutions
WilliamCraft
MVP Regular Contributor

What version of ArcGIS Enterprise do you plan to deploy or have already deployed?

Do S1 and S2 need to be registered to the web adapter wa1 and wa2?
Assuming S1 and S2 participate in the same ArcGIS Server site, you can simply register WA1 and WA2 with either of the two ArcGIS Servers (S1 or S2) in order to configure the web adaptors properly.

How to configure S1 and S2 correctly with LB?
How to best configure a load balancer will depend on the type of hardware you have along with its associated software/firmware. In general, many load balancers will allow you to configure a "pool" consisting of 1 or more servers where requests will be routed. You'll want to place both S1 and S2 in the same pool. For past implementations where I've used Netscaler or F5 technology to load balance, I've configured the pool such that requests are sent to each pool member in a round-robin manner. Depending on the type of load balancer technology you have, you may be able to use the same load balancer as with the web adaptors. Routing the request to the correct pool may require you to write custom rules (for F5, they're called iRules) so that the HTTP URI is inspected by the load balancer prior to sending requests on to backend servers. In other cases, you may require separate load balancers for outbound ports 443 and 6443. You'll also want to establish a DNS entry for your load balancer virtual IP (VIP) address and potentially configure an appropriate SSL certificate for the load balancer itself. Each environment is different, and the intricate requirements for each deployment also differ. This question cannot necessarily be answered in full without knowing your specific load balancer technologies and/or requirements. There are some general best practices (throttling, sticky sessions, health check timeouts) in the articles below that may help you:
https://community.esri.com/t5/implementing-arcgis-blog/planning-load-balancer-configuration-for-high... 
https://enterprise.arcgis.com/en/server/latest/deploy/windows/multiple-machine-deployment-with-third... 

If I only need to configure S1 and S2 with LB directly, what is the LB domain return link? Can it be the same domain used for the portal https:\\gis\arcgis?
I might be missing what you're asking here. Accessing your load balancer should be done via a DNS 'A' or CNAME record tied to the virtual IP of the load balancer. That DNS record can be in the same DNS zone as your backend Portal and ArcGIS Servers. In your example of https://gis/arcgis, the 'gis' portion of the web address would be the DNS name for your load balancer and 'arcgis' would be the backend context or web adaptor name of ArcGIS Server or Portal depending on your configuration.

Do I need to set a web context for S1 and S2 with a new LB? Where?
Whenever I've set up ArcGIS Enterprise HA, I have always set the webContextURL property for both Portal and ArcGIS Server. This can be done from within Portal Administrator and ArcGIS Server Administrator Directory, respectively, under the Properties section. See the API help for syntax on how to do this. Use the load balancer URL as the value for your webContextURL property. For Portal, it might be https://gis/portal and for ArcGIS Server it might be https://gis/arcgis.

What link should be I be used to federating the GIS Hosting server?
When federating, there are two URLs that come into play: Administration URL and Services URL. You'll want to use a load balancer URL in both cases, at least that is what I have done in my setups. So for the Administration URL, it might be https://gis:6443/arcgis and the Services URL might be https://gis/arcgis (assuming 'gis' is the name of the load balancer). Have a look at the link below for more related information.
https://community.esri.com/t5/arcgis-enterprise-portal/administration-url-usage-when-federating-usin... 

View solution in original post

2 Replies
WilliamCraft
MVP Regular Contributor

What version of ArcGIS Enterprise do you plan to deploy or have already deployed?

Do S1 and S2 need to be registered to the web adapter wa1 and wa2?
Assuming S1 and S2 participate in the same ArcGIS Server site, you can simply register WA1 and WA2 with either of the two ArcGIS Servers (S1 or S2) in order to configure the web adaptors properly.

How to configure S1 and S2 correctly with LB?
How to best configure a load balancer will depend on the type of hardware you have along with its associated software/firmware. In general, many load balancers will allow you to configure a "pool" consisting of 1 or more servers where requests will be routed. You'll want to place both S1 and S2 in the same pool. For past implementations where I've used Netscaler or F5 technology to load balance, I've configured the pool such that requests are sent to each pool member in a round-robin manner. Depending on the type of load balancer technology you have, you may be able to use the same load balancer as with the web adaptors. Routing the request to the correct pool may require you to write custom rules (for F5, they're called iRules) so that the HTTP URI is inspected by the load balancer prior to sending requests on to backend servers. In other cases, you may require separate load balancers for outbound ports 443 and 6443. You'll also want to establish a DNS entry for your load balancer virtual IP (VIP) address and potentially configure an appropriate SSL certificate for the load balancer itself. Each environment is different, and the intricate requirements for each deployment also differ. This question cannot necessarily be answered in full without knowing your specific load balancer technologies and/or requirements. There are some general best practices (throttling, sticky sessions, health check timeouts) in the articles below that may help you:
https://community.esri.com/t5/implementing-arcgis-blog/planning-load-balancer-configuration-for-high... 
https://enterprise.arcgis.com/en/server/latest/deploy/windows/multiple-machine-deployment-with-third... 

If I only need to configure S1 and S2 with LB directly, what is the LB domain return link? Can it be the same domain used for the portal https:\\gis\arcgis?
I might be missing what you're asking here. Accessing your load balancer should be done via a DNS 'A' or CNAME record tied to the virtual IP of the load balancer. That DNS record can be in the same DNS zone as your backend Portal and ArcGIS Servers. In your example of https://gis/arcgis, the 'gis' portion of the web address would be the DNS name for your load balancer and 'arcgis' would be the backend context or web adaptor name of ArcGIS Server or Portal depending on your configuration.

Do I need to set a web context for S1 and S2 with a new LB? Where?
Whenever I've set up ArcGIS Enterprise HA, I have always set the webContextURL property for both Portal and ArcGIS Server. This can be done from within Portal Administrator and ArcGIS Server Administrator Directory, respectively, under the Properties section. See the API help for syntax on how to do this. Use the load balancer URL as the value for your webContextURL property. For Portal, it might be https://gis/portal and for ArcGIS Server it might be https://gis/arcgis.

What link should be I be used to federating the GIS Hosting server?
When federating, there are two URLs that come into play: Administration URL and Services URL. You'll want to use a load balancer URL in both cases, at least that is what I have done in my setups. So for the Administration URL, it might be https://gis:6443/arcgis and the Services URL might be https://gis/arcgis (assuming 'gis' is the name of the load balancer). Have a look at the link below for more related information.
https://community.esri.com/t5/arcgis-enterprise-portal/administration-url-usage-when-federating-usin... 

yaserkhouja
New Contributor II

Awesome! This is great. Thank you for your response. 

Now, I am having some issues with the portal. Sometimes, I see it's the portal that starts loading for a long time, and it's not responding anymore. I need to refresh or restart my browser to fix the issue. I am concern the team did not configure the LB with the portal correctly. We have F5, do you know what is the best practices of configuring the LB with the portal? or any available documentation related to F5? 

 

Thanks, 

0 Kudos