1

I have around 50 feature and map layers published in ArcGIS Enterprise (the same would apply for ArcGIS Online) that reference registered PostGIS database. The database will be migrated (same names, same structure, just the host will change). My hope is to avoid republishing every single layer one by one using Overwrite Web Layer or comparable sharing tool in ArcGIS Pro.

I researched everything possible and tried it out - available ArcGIS tools like "Manage Registered Data Stores" and updating the host in there. That does not update it in the published web service (that one still points to the old data store).

ArcGIS Pro - Manage Registered Data Stores

I played around with ArcGIS Assistant's "Update the URLs of Registered Apps and Services" function but that one also keeps the web service pointing to the old data store.

ArcGIS Assistant

Is there a way to update my new database host without having to republish all of the ArcGIS Enterprise layers? Maybe programatically.

7
  • 1
    Why do you need to change the database server hostname? The only way I know to avoid republishing is to update the DNS to point to the new host.
    – Vince
    Commented Dec 2, 2020 at 12:13
  • @Vince Let´s say that my old database server host name is waterways.london.uk and the name of the new one is water.lond.uk ... without the possibility to change I have to republish everything. Could you eleborate in your solution with DNS?
    – Yanic
    Commented Dec 2, 2020 at 14:06
  • 1
    The usual pattern in cloud deployments is to configure the DNS name for the IP address of of actual host uk6tdcredvjifu432ytjct to be egdb1.mydomain.suffix, then when you instantiate new server eyhhvftu8743efbkiopsaw with an upgrade, stop the existing AGS hosts, change the DNS to point to the new server, and all services registered to egdb1 would automatically switch on restart. If you change domains, then you need to retain the previous naming. If you haven't used this model to date, then you should when you republish, so you won't need to republish again.
    – Vince
    Commented Dec 2, 2020 at 14:17
  • 1
    Your example included TWO domains, london.uk and lond.uk. You can't point waterways.london.uk at water.lond.uk if you don't retain control of the london.uk domain server.
    – Vince
    Commented Dec 2, 2020 at 15:53
  • 1
    Well, if you have any services published from uk6tdcredvjifu432ytjct directly, they really ought to republished from the mnemonic hostname, but so long as DNS gives cover, you can stretch out the time needed to make these changes.
    – Vince
    Commented Dec 2, 2020 at 16:43

1 Answer 1

1

Host upgrades are an opportunity for prior planning to shine (or fail).

Keep in mind that networked computers communicate by IP address, not hostname. Most modern hostname-IP mapping is managed centrally from a domain name server (DNS host). The principal way to avoid having to republish all services with a new hostname is to reuse the old hostname on the new server. Thanks to DNS, the actual server name need not be the same, just that the symbolic name points to IP address of the actual server.

In a perfect world, you would have established the DNS mapping for all the major Enterprise components (the web server, the Portal server, the ArcGIS Server host(s), the Data Store host(s), the database host(s), plus any load-balancers), so that the symbolic names mapped to the IPs of the servers doing the work. In this way, adding separate server for a component that was initially configured to be shared (e.g., running the data store on a singleton ArcGIS Server node), would just be an issue of installing software, copying content, and redirecting the DNS name to the new IP. Similarly, adding a mirror or failover host would be a low difficulty task.

In the real world, architectures evolve, so it can sometimes be a bit messy, but the general concept can be retained -- Establish those domain names now, and start using the new names for new services and new portal items, while using outage windows to slowly migrate older named services to conform to the new naming model. Once you've been using the naming model a while, you can start retiring "old" names by removing them from DNS (experimentally, during regular maintenance, always checking that you haven't missed something important). You'd have to use this variant if the domainname changed, retaining the old domain server until migration was completed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.