In an organization where downtime must be minimized, configure your ArcGIS Enterprise deployment to be highly available. For the deployment to be highly available, all components of the deployment, including the portal, must be highly available. This topic covers configuring the portal component of the deployment. To configure a highly available portal, install the Portal for ArcGIS software on two machines. Create the portal on the first machine, and join the second machine to that portal.
Configuring high availability is an advanced task that requires an extensive understanding of portal administration, scripting, and networking. Before you install and configure Portal for ArcGIS, you must configure your organization's load balancer to forward requests to the portal software. Additionally, you need to set up a file server to contain the portal's content directory, and decide how ArcGIS Server will communicate with Portal for ArcGIS. Esri recommends that you coordinate with your organization's information technology staff so they understand the requirements for configuring a highly available portal.
In this architecture, a load balancer or reverse proxy server is configured and acts as a gateway to the organization. If you intend to use web-tier authentication, ArcGIS Web Adaptor is required. The web adaptor can also be the gateway if your web server is highly available. Otherwise, you can configure a second web adaptor. In this case, the load balancer must be configured with the portal before you configure the web adaptor. If you're not using web-tier authentication, ArcGIS Web Adaptor is not required.
Both portal machines include system databases that store information about content. The portal system database on the first machine replicates changes to the database on the second machine. An index service keeps users and item searches in sync between both machines.
In most cases, you'll use at least one GIS Server site, configured as the portal's hosting server. Esri recommends that you use the load balancer to distribute requests between the portal and the hosting server. This ensures that requests from the GIS Server site are sent to the portal in a highly available fashion. If you are using the load balancer as the gateway and you don't want to use it for internal communication with the hosting server as well, you can add a second load balancer that is only available internally. If you are using ArcGIS Web Adaptor as the gateway, all public traffic is handled by the web adaptor, and all internal traffic is handled by the added load balancer that's directly in front of the two portal machines balancing to port 7443.
Note that this topic primarily covers configuration and upgrading the Portal for ArcGIS component of a highly available ArcGIS Enterprise deployment, but the ArcGIS Server sites you configure with your highly available portal should also be configured to be highly available as should the data stores. Configure highly available ArcGIS Enterprise provides an overview and links to documentation for configuring the other components.
Prerequisites to configure a highly available portal
The following are the components of a highly available portal:
Load balancer—A third-party component that uses a distribution algorithm to balance network traffic across both portal machines based on demand, helping to enhance the scalability and availability of the portal. It must provide high availability by detecting machine failures and automatically redistributing traffic to the available portal machine. The health check accessed through the Portal administration API can be used to detect machine failures within the portal. If you use ArcGIS Web Adaptor, the load context name must be set to be the same context as the context for ArcGIS Web Adaptor (for example, https://lb.domain.com/portal if the web adaptor context is portal). A load balancer is optional if you use ArcGIS Web Adaptor as the gateway.
Note:
If you do not use ArcGIS Web Adaptor, be sure that the load balancer context name only goes one level deep. For example, you can have a load balancer URL such as https://lb.domain.com/enterprise, but you cannot have a load balancer URL such as https://lb.domain.com/myorg/enterprise.
Highly available file server—A third-party component that stores and shares the portal's content directory. The file directory you select must be accessible by both machines and the account that will be used to install Portal for ArcGIS. The same account must be used on both portal machines.
Two Portal for ArcGIS machines—You'll need two separate machines installed with Portal for ArcGIS to configure high availability. These machines must meet the minimum operating system requirements, and the same account must be used to install the portal software.
ArcGIS Web Adaptor—An optional component included with Portal for ArcGIS that you can use to provide web-tier authentication. If you're not using web-tier authentication, ArcGIS Web Adaptor is not required. To learn more, see About ArcGIS Web Adaptor.
ArcGIS GIS Server—Portal for ArcGIS needs a hosting server to run services published to the portal. You can also add items from stand-alone GIS Server sites or federate other ArcGIS Server sites with your portal to make GIS web services available to others in your portal organization. Using ArcGIS Server with your portal provides many benefits as described in About using your server with Portal for ArcGIS.
Configure the portal
To configure your portal to be highly available, follow these steps.
Note:
To upgrade your highly available portal to 10.6.1, follow the steps in the upgrade section of this topic.
- Set up the portal content directory on a file server.
- Install and configure the first portal machine.
- Install and configure the second portal machine.
- If using web-tier authentication, install and configure ArcGIS Web Adaptor.
- Configure a load balancer.
- Install and configure the second ArcGIS Web Adaptor.
- Federate a GIS Server site with your portal and designate it as the hosting server.
Step 1: Set up the portal content directory on a file server
In a highly available configuration, the portal's content directory is shared between both machines. You must set up the content directory so that it is accessible by both machines and the account that will be used to install Portal for ArcGIS. The same account must be used on both portal machines.
- On the file server, create a directory for the portal's content directory, and share it so that it can be accessed by both portal machines. For example, /net/share/portal/content.
- Grant the account that will be used to install Portal for ArcGIS 700 permissions to the directory.
- Verify that the directory can be accessed by the account on both machines.
If you need to change the content directory location once your portal has been configured, see Changing the portal content directory for details.
Step 2: Install and configure the first portal machine
- On the first portal machine, ensure that ports 5701-5703, 7005, 7099, 7654, 7120, and 7220 are allowed by your firewall and not currently in use by another application. Highly available deployments use these ports for intermachine communications and synchronization.
- Install Portal for ArcGIS on the first machine. For full instructions, see Installing Portal for ArcGIS.
- Open the portal website and create a portal. The URL to the website is formatted https://p1.domain.com:7443/arcgis/home. When you create a portal, you define information and credentials for the initial administrator account and specify the location for the content directory. Ensure that the content directory location can be accessed by both portal machines. The initial administrator is not an operating system account, and
it has no relation to the
account used to install Portal for ArcGIS.
Note that for your portal to be truly highly available, the content directory must be placed on a highly available file server.
- When the portal is created, you'll see a message stating that the portal will be restarted. Click OK.
Step 3: Install and configure the second portal machine
- On the second portal machine, ensure that ports 5701-5703, 7005, 7099, 7654, 7120, and 7220 are allowed by your firewall and not currently in use by another application. Highly available deployments use these ports for intermachine communications and synchronization.
- Install Portal for ArcGIS on the second machine. When installing, use the same account that installed the software on the first machine. For full instructions, see Installing Portal for ArcGIS.
- Open the portal website and join this portal to the one you created on the first machine. The URL to the website is formatted https://p2.domain.com:7443/arcgis/home. You cannot join a portal through ArcGIS Web Adaptor. Ensure that both portal machines are at the same version of Portal for ArcGIS and that the two installations are licensed at the same level.
- Click Join existing portal.
- Enter the Portal URL for the existing portal you would like to join. This URL is formatted https://p1.domain.com:7443.
- Enter an Administrator Username and Administrator Password for the existing portal.
- Click Join.
- Optionally, you can define the portal's failover properties. A highly available portal checks to see if a failure has occurred with the portal machines. You can define the interval in seconds and frequency for checking machine status using the steps below. These properties must be changed on each machine in the portal and must be the same on both machines.
- Go to <installdir>/arcgis/portal/framework/etc and open portal-ha-config.properties.
- Edit the portal.ha.monitor.interval property to set the time to wait between checks. The default is 30 seconds.
- Edit the portal.ha.monitor.frequency property to define the number of times the check will take place before failover. The default is 5 times.
- Save the portal-ha-config.properties file.
- Restart the portal to pick up the changes.
- Repeat these steps on the second portal machine.
Note:
Use the exact same failover properties on both portal machines.
Step 4: Install and configure ArcGIS Web Adaptor
If you'll be using web-tier authentication, you're required to install and configure ArcGIS Web Adaptor. You can only use the web adaptor with web server ports 80 and 443. Using different ports is not supported. If you're not using web-tier authentication, ArcGIS Web Adaptor is not required.
- Install ArcGIS Web Adaptor on a web server machine. For full instructions, see the installation topic for Java (Linux).
- Configure the web adaptor with the first portal machine. When specifying the Portal URL, enter the URL of one of the portal machines, for example, https://p1.domain.com:7443. For instructions, see the configuring topic for Java (Linux).
Note:
You cannot create or join a portal through the web adaptor. Use the portal website URLs in the format https://portal.domain.com:7443 for creating the portal and for joining the portal.
Step 5: Configure a load balancer for the portal machines
- If you use a web adaptor, set the load balancer context name to be the same as the web adaptor context. If you're not using a web adaptor, choose the load balancer context name you want, and configure the load balancer to use it.
- Configure HTTPS on the load balancer. This is necessary as Portal for ArcGIS requires HTTPS for some communication. Consult the product documentation for your load balancer to learn how to set up HTTPS.
- Configure your load balancer to distribute requests to both of your portal machines (p1.domain.com and p2.domain.com).
- In the load configuration, set an X-Forwarded-Host header. Portal for ArcGIS expects to see this property set in the header sent by the load balancer and will return requests to the load balancer that match the load balancer URL. For example, a request to the Portal for ArcGIS REST endpoint (https://lb.domain.com/arcgis/sharing/rest) will be returned to the client as the same URL. If the property is not set, Portal for ArcGIS may return the URL of the internal machine where the request was directed (for example, https://p1.domain.com/arcgis/sharing/rest instead of https://lb.domain.com/arcgis/sharing/rest). This is problematic, as clients will not be able to access this URL (commonly noted as a browser 404 error). Also, the client will have access to some information about the internal machine.
- If you're not using web-tier authentication, configure the load balancer to distribute requests to ports 7080 (HTTP) and 7443 (HTTPS). By default, Portal for ArcGIS uses these ports for communication; you'll need to include these ports as part of the configuration. For example, on Apache, the ports are specified in the httpd.conf and httpd-ssl.conf configuration files. To learn more, see Ports used by Portal for ArcGIS.
- If you're using web-tier authentication, configure the load balancer to distribute requests to ports 80 (HTTP) and 443 (HTTPS). You can only use ArcGIS Web Adaptor with web server ports 80 and 443. Using different ports is not supported. Update the health check URL to expect a 401 response from the web adaptor instead of a 200 response.
- Set the load balancer context name (the WebContextURL property).
- Open a web browser and sign in to the ArcGIS Portal Directory as an administrator of your organization. The ArcGIS Portal Directory URL is formatted https://portal.domain.com:7443/arcgis/portaladmin.
- Click System > Properties > Update Properties.
- On the Update System Properties dialog box, insert the following JSON, substituting your own load balancer URL.
{ "WebContextURL": "https://lb.domain.com/arcgis" }
- Click Update Properties.
- Configure the load balancer to use a health check URL. This ensures the load balancer checks each portal machine to detect if a machine is unavailable.
Step 6: Install and configure the second ArcGIS Web Adaptor to achieve web server tier high availability
The second web adaptor can only be configured if the portal already has the WebContextURL property configured.
- Install ArcGIS Web Adaptor on a web server machine. For full instructions, see the installation topic for Java (Linux).
- Configure the web adaptor with the portal. When specifying the Portal URL, enter the URL of one of the portal machines, for example, https://p1.domain.com:7443. For instructions, see the configuring topic for Java (Linux).
Step 7: Configure a hosting server for your portal
Portal for ArcGIS requires a hosting server to allow members to perform such tasks as publishing hosted web layers and adding CSV files to Map Viewer in the portal website. A portal can have one hosting server.
Set up a second load balancer to allow communication between the GIS Server and portal to be highly available, and set the GIS Server site as the portal's hosting server.
- Configure a second load balancer following the steps in Step 5. The load balancer will send requests directly to port 7443 on both portal machines.
In the example in step 5, the context was set to arcgis, so the load balancer context name must be arcgis; for example https://lbprivate.domain.com:7443/arcgis.
- Set the privatePortalURL property.
- Open a web browser and sign in to the ArcGIS Portal Directory as a member of the default administrator role in your portal organization. The ArcGIS Portal Directory URL is formatted https://portal.domain.com:7443/arcgis/portaladmin.
- Click System > Properties > Update Properties.
- On the Update System Properties dialog box, insert the following JSON, substituting your own load balancer URL.
{ "privatePortalURL": "https://lbprivate.domain.com:7443/arcgis" }
Note:
Do not set the X-Forwarded-Host header for this URL.
- Click Update Properties.
- Follow the instructions in Federate an ArcGIS Server site with your portal to federate the server with your highly available portal deployment.
- Follow the instructions to configure this federated server as the portal's hosting server.
Step 8: Federate additional ArcGIS Server sites
You have the option to federate additional GIS Server sites with the portal, or federate other ArcGIS Server sites, such as ArcGIS GeoAnalytics Server, ArcGIS GeoEvent Server, or ArcGIS Image Server sites. These additional sites can use the second load balancer (the one you configured in Step 7) to communicate with the portal.
Upgrade a highly available portal
Follow the steps in the sections below to upgrade a highly available portal to 10.6.1. Upgrade Portal for ArcGIS outlines additional considerations when upgrading your deployment to 10.6.1.
Run installer on both machines
To begin the upgrade of your highly available portal, install the 10.6.1 10.6.1 software on both portal machines, starting with the second (standby) machine.
Legacy:
Prior to 10.6.1, it was necessary to uninstall and re-install the Portal for ArcGIS software on the standby machine, then join it to the upgraded primary machine. This is no longer necessary, and you'll receive an error message if you attempt to upgrade this way.
- Install Portal for ArcGIS 10.6.1 on the second portal machine. For full instructions, see Installing Portal for ArcGIS.
- Once installation completes, you must authorize Portal for ArcGIS using a new authorization file.
- Repeat the install and authorization steps on the first portal machine.
Continue portal upgrade
When the installer has been run on both machines, continue the upgrade on the first (primary) portal machine of the configuration. If you attempt to run the upgrade on the standby, you will receive an error message.
- Open the first portal machine's website and choose to Continue portal upgrade. The URL to the website is formatted https://p1.domain.com:7443/arcgis/home. Specify the user name, password, email, and identity
question and answer of the initial administrator account. The dialog box for the location of the portal's content directory will be greyed out, as you cannot change the content directory location in an upgrade. Click Create. This triggers the upgrade and creates a backup of your portal's content, site information, and security settings. This step will take a few minutes to complete. Do not interrupt this process. The initial administrator is not an operating system account, and
it has no relation to the
account used to install Portal for ArcGIS.
Note:
The information you enter for the initial administrator account does not have to match the account information you specified in the earlier version of your portal. If you enter new information, this step will create a new account and the existing initial administrator account will be preserved. If you enter the same account information as the earlier version, the existing account will be used as the initial administrator.
- When the upgrade completes, you'll see a message stating that the portal will be restarted. Click OK.
Run post-upgrade steps
When your highly available portal has been upgraded, run the following post-upgrade steps, again doing so on the first portal machine.
- Open the ArcGIS Portal Directory and sign in with the initial administrator account. The URL is formatted https://p1.domain.com:7443/arcgis/portaladmin.
- The directory page will display a warning message that your machine is not completely upgraded. Click OK to run the post-upgrade operation.
- Click System > Indexer > Reindex.
- Click the Mode drop-down list, and select Full.
- Click Reindex. This step will complete the upgrade of your portal. Depending on the number of users and volume of content in your portal, it will take some time for the reindex to complete. Do not interrupt the reindex process. You can monitor the indexing status by opening a new browser window (or tab), browsing to System > Indexer > Index Status, and refreshing the page. When the store and index counts are equal, the reindex and upgrade is complete.
- While signed in as an administrator, upgrade your ArcGIS Living Atlas of the World content. Go to Organization > Edit Settings > ArcGIS Online. Within the Configure Living Atlas Content section, click Upgrade Content. Do not close the ArcGIS Online page until the portal finishes upgrading the ArcGIS Online content. Click Save to return to the Organization page. If your portal was not configured to access Living Atlas content, this step is not needed.
Replace root certificates
If you upgraded from Portal for ArcGIS 10.3 or 10.3.1 and your portal was configured to trust the certificates between the primary and secondary portal machines, you'll need to import the certificate again to both the primary and secondary portal machines after you upgrade.
If you upgraded from Portal for ArcGIS 10.4, 10.4.1, or 10.5 and your portal was configured to trust the certificates between the primary and secondary portal machines, you'll need to import the certificate again to the secondary machine after you upgrade.
Install and configure web adaptors
If you use ArcGIS Web Adaptor, follow the steps below to install and configure new web adaptors with the portal.
Note:
If a load balancer was used in front of the earlier version of your highly available portal without ArcGIS Web Adaptor, unregister the web adaptor that's configured within the portal and update the system properties to add a WebContextURL property that points to the load balancer URL.
- Install ArcGIS Web Adaptor version 10.6.1 on a web server machine. For full instructions, see the installation topic for Java (Linux).
- Configure the web adaptor with the portal. When specifying the Portal URL, enter the URL of one of the portal machines, for example, https://p1.domain.com:7443. For instructions, see the configuring topic for Java (Linux).
- Set the WebContextURL property.
- Open a web browser and sign in to the ArcGIS Portal Directory as a member of the default administrator role in your portal organization. The ArcGIS Portal Directory URL is formatted https://portal.domain.com:7443/arcgis/portaladmin.
- Click System > Properties > Update Properties.
- On the Update System Properties dialog box, insert the following JSON, substituting your own load balancer URL.
{ "WebContextURL": "https://lb.domain.com/arcgis" }
- Click Update Properties.
- Reconfigure the first web adaptor once the WebContextURL property has been set.
- Install the second ArcGIS Web Adaptor and configure it with your portal.
Upgrade remaining ArcGIS components
Upgrade the remaining ArcGIS components in your deployment to 10.6.1.
- ArcGIS Server (run the 10.6.1 setup to upgrade)
- ArcGIS Data Store (run the 10.6.1 setup to upgrade)