Select to view content in your preferred language

ArcGIS Enterprise in Google Cloud ... who's doing it?!

4953
14
Jump to solution
12-07-2020 12:23 PM
TimHaverlandNOAA
Occasional Contributor

Hi all,

I was pleased to see this blog post about running ArcGIS Enterprise in Google Cloud Platform (GCP).

https://www.esri.com/arcgis-blog/products/arcgis-enterprise/administration/running-arcgis-enterprise...

Would love to find others who have had success in GCP so we can form a small strange band of misfits.

C'mon I know there must be a few of you out there! @pheede-esri can you help us make connections?

It would also be great to find out if anyone has already build machine images for the different ArcGIS Enterprise server components.

Tim

NOAA Fisheries

 

1 Solution

Accepted Solutions
michae1duncan
Occasional Contributor

Tim,

Sorry, it's taking me so long to get back to you.  I've been diving into a bunch of different things so I've learned a few things here.

As far as using Cloud PostgreSQL, that is true, however, it cannot be "ESRI Enabled" with the st_geometry, so it's not an ESRI GDB and thus cannot be used for branch versioning like the way I am intending.  I've heard "Yet" from several of the ESRI developers so it sounds like it's coming soon or at least will be available to some extent with the Kubernetes deployments of the future.  I presume it will be available with Cloud SQL here at some point though.

After talking to a very smart guy at ESRI, I got the idea to just install PostgreSQL on a VM in Google Compute engine, so have now done that, and have it working well, with my ArcGIS Enterprise deployment.

Branch Versioning is working great and seems to be fast and a great editing experience.  A direct connection to the eGDB however is a little slow for obvious reasons, although if I access it on the VM it's normal, but outside the cloud, it's pretty slow, but most of that is to be expected, and why editing though Feature Services is what I'm going for in this POC, including Branch Versioning.

To answer your other question there, I just used the console to build one VM, so have not used Terraform at all.  If and when I do, I'll probably stick with windows boxes, and used PowerShell DSC or the upcoming Kubernetes deployment options.

 

View solution in original post

14 Replies
TimHaverlandNOAA
Occasional Contributor

Thanks for that link Matt. It's great to see that both Esri and Google are positive about ArcGIS Enterprise/Portal in GCP.

Now to find someone who is actually doing the work!

michae1duncan
Occasional Contributor

I just built a Base Deployment in GCP as a proof of concept, and a way to start testing out some of the differences in the cloud.

One of my main needs is to use it for Branch Versioning, which to my knowledge I need a Geodatabase enabled RDBMS, which I don't think is possible just yet in GCP.  I could be wrong, but that is where I get stuck for now, and tend to lean toward Azure, and possibly AWS.

Besides that though, the GCP experience was great, and I think the cost per core is just slightly cheaper than the other big guys, so I wouldn't hesitate to use it in the future.  Just not quite all there as far as an eGDB goes.  But like I said, I might be missing something with that.  Just can't find the information.

TimHaverlandNOAA
Occasional Contributor

Hey! After years of asking I've finally found someone who has actually built something in GCP. Nice to meet you!

Did you build your GCP compute resources through the console or by using Terraform (infrastructure as code) scripts? Ultimately I'm planning on building my environment through Terraform. 

Regarding an enterprise geodatabase, I think you can use Cloud SQL for Postgres:

https://cloud.google.com/sql/docs/postgres

Looks like you can use SQL Server through the Cloud SQL service too.

 

michae1duncan
Occasional Contributor

Tim,

Sorry, it's taking me so long to get back to you.  I've been diving into a bunch of different things so I've learned a few things here.

As far as using Cloud PostgreSQL, that is true, however, it cannot be "ESRI Enabled" with the st_geometry, so it's not an ESRI GDB and thus cannot be used for branch versioning like the way I am intending.  I've heard "Yet" from several of the ESRI developers so it sounds like it's coming soon or at least will be available to some extent with the Kubernetes deployments of the future.  I presume it will be available with Cloud SQL here at some point though.

After talking to a very smart guy at ESRI, I got the idea to just install PostgreSQL on a VM in Google Compute engine, so have now done that, and have it working well, with my ArcGIS Enterprise deployment.

Branch Versioning is working great and seems to be fast and a great editing experience.  A direct connection to the eGDB however is a little slow for obvious reasons, although if I access it on the VM it's normal, but outside the cloud, it's pretty slow, but most of that is to be expected, and why editing though Feature Services is what I'm going for in this POC, including Branch Versioning.

To answer your other question there, I just used the console to build one VM, so have not used Terraform at all.  If and when I do, I'll probably stick with windows boxes, and used PowerShell DSC or the upcoming Kubernetes deployment options.

 

TimHaverlandNOAA
Occasional Contributor

Hi there

I too have had some success with building ArcGIS Enterprise in GCP. I used Terraform for creating my VMs (that was the easy part as the GCP Cloud Shell has built-in Terraform support), and then the Esri Chef resources for configuring the servers (that was the hard part).

I didn't do an enterprise geodatabase but that might be something I add on later.

Where I'm stuck right now trying to register a Cloud Store using Google Storage ... and faking it out making ArcGIS Server think it's S3. There's a custom region type that allows you to enter a "private URL" that I thought might allow me to use Google's storage interoperability, but no dice. I get bad request errors that I need to track down.

Let's keep in touch - anybody else out there building in GCP?

 

TrevorSeaton
Esri Contributor

Thanks Michael and Tim. Since Kubernetes was mentioned, I just wanted to add that we do plan to support Google Kubernetes Engine by the next release in Q4-2021 along with already-supported environments for ArcGIS Enterprise on Kubernetes: Microsoft Azure (AKS) or Amazon AWS (EKS) and IBM/Red Hat OpenShift. This is part of our work on Google GCP, which you can hear about during the User Conference session "ArcGIS 2021: Technology Advances and Roadmap."

Zartico-GIS
Occasional Contributor

@michae1duncan @TimHaverlandNOAA 

Howdy. Looks like this is the only post talking about Enterprise on GCP so I figured I'd reach out here. Hoping you can provide some guidance.

I am curious what you used for your public-facing hostname? GCE does not provide an external hostname, just an external IP. So to access from a local client I input my portal url as https:<instance external ip>/portal/home which can be reached in a browser. When I attempt to sign in, it errors out and I believe this is because it's trying to redirect to the FQDN of the machine which isn't external facing.

I have a client VM stood up in the same internal network as the instance and within that I am able to fully access portal and all its features. I think this is because the FQDN makes sense to it as it's internal only.

How did you set this hostname up initially with ArcGIS Enterprise? I think I need to configure a DNS entry to the external GCE IP and then reinstall Enterprise on that machine... but I don't want to be going down a rabbit hole here.

0 Kudos
michae1duncan
Occasional Contributor

You can use any domain name that you own/ have access to, with the SSL Certificate.  I would recommend getting one (doesn't matter where), or you can use a sub-domain of any existing domain that you have already.  The DNS just needs to point the the Google public IP Address, so it's that that will point it to your Google IP.

Having said that, you need to update the web context url on your Portal properties to contain the hostname (IP address in your case), and it will work.  So you can get the IP address to work, but I wouldn't recommend it for a production site.  But just do this, and it should allow you to log in, and use.  

https://enterprise.arcgis.com/en/portal/latest/administer/windows/using-a-reverse-proxy-server-with-...

If you do get a domain name or sub domain, I would suggest starting over, and configuring it from the beginning.

In short, this isn't specific to Google Cloud, but a general Domain setup question.  There isn't anything unique with Google Clould and setting this up.  There are a few nuances with the eGDB, but ArcGIS Enterprise isn't any different than setting this up on Prem, or any VM environment.  

Hopefully that helps.