V2. Create a base ArcGIS Enterprise deployment on many machines - Esri/arcgis-powershell-dsc GitHub Wiki

This workflow guides you through the first-time installation of a base ArcGIS Enterprise deployment across many machines - perhaps four or more. When the PowerShell DSC for ArcGIS module is finished, your machines will have the following components installed and configured in the pattern you specify:

  • One or more ArcGIS Server sites, with one configured as your hosting server
  • An ArcGIS Enterprise portal, powered by the Portal for ArcGIS software
  • One or more ArcGIS Data Stores, one of which must be configured to handle relational 2D data (additional instances may be configured for 3D tile cache data and/or spatiotemporal big data)
  • Two ArcGIS Web Adaptors, one each for the server and the portal

You can spread these components across your machines in any configuration you wish. The following sample diagram depicts a five-machine deployment, including a second machine for the ArcGIS Server site.

Base deployment multi-machine diagram

Prepare your deployment

Before you run the command to the module in PowerShell DSC, you’ll need to obtain the necessary files and resources and add them to your local machines.

Note: We recommend you use WMF 5.x for the best experience.

Log in to one of the machines on which you'll be installing ArcGIS Enterprise. You should have PowerShell DSC, 7-Zip, and administrative authority on each machine.

Caution: The PowerShell DSC for ArcGIS module uses 7-Zip; if the tool is not already installed on any of your machines, the module will attempt to download and install it. This may be blocked by your firewall, so it's best to have the tool already installed on each machine before you begin.

You can prepare the files either through GitHub or using the PowerShell gallery:

Option 1: Prepare your deployment using GitHub

  1. Clone this repository to your local machine.
  2. Add the "ArcGIS" modules folder to your PsModulePath, or copy the modules into the default PowerShell Modules folder (e.g. C:\Program Files\WindowsPowerShell\Modules).
  3. Log in to My Esri. Download your ArcGIS Enterprise software installation files and licenses to the machine.
  4. Because you’re planning a multiple-machine deployment of ArcGIS Enterprise, you will need to place the software installation files and licenses on each machine. You can do this in one of two ways:
  • a) Add the file to a file share. Grant permissions on the file share to the LocalSystem Account of each machine that will be in the deployment. The LCM (Local Configuration Manager) component of PowerShell DSC runs as the Windows LocalSystem Account.
  • b) Manually copy software installation files and licenses to each machine.

Option 2: Prepare your deployment using the PowerShell Gallery

  1. Log in to my.esri.com. Download your ArcGIS Enterprise software installation files and licenses.
  2. Because you’re planning a multiple-machine deployment of ArcGIS Enterprise, you will need to place the software installation files and licenses on each machine. You can do this in one of two ways:
  • a) Add the file to a file share. Grant permissions on the file share to the LocalSystem Account of each machine that will be in the deployment. The LCM (Local Configuration Manager) component of PowerShell DSC runs as the Windows LocalSystem Account.
  • b) Manually copy software installation files and licenses to each machine.
  1. Install the ArcGIS module using the command Install-Module arcgis.
  2. Download the SampleConfigs files from the GitHub repository.

Edit the configuration file

  1. Open the BaseDeployment-MultiMachine.json file from the SampleConfigs folder on your local machine.
  2. Replace the placeholder variables in brackets with your deployment properties and parameters. Refer to the Variables reference page for a full list.

Because you can install the components of ArcGIS Enterprise in any configuration you'd like across your machines, the deployment architecture is determined by how you specify it in the AllNodes section. For example, the deployment pattern depicted in the above diagram would be created using the AllNodes section written thus:

{
"AllNodes":  [
                 {
                     "NodeName":   "[Machine 1 Name]",
                     "DataStoreTypes":  [ 
                                          "Relational"
                                        ],
                     "Role":  [
                                  "DataStore"
                              ]
                 },
                 {
                     "NodeName":   "[Machine 2 Name]",
                     "Role":  [
                                  "Portal"
                              ]
                 },
                 {
                     "NodeName":  "[Machine 3 Name]",
                     "Role":  [
                                "Server"
                              ]
                 },
                 {
                     "NodeName":   "[Machine 4 Name]",
                     "Role":  [
                                "Server"
                              ]
                 },
                 {
                     "NodeName":   "[Machine 5 Name]",
                     "Role":  [
                                "ServerWebAdaptor",
                                "PortalWebAdaptor"
                              ]
                 },

Install your deployment

In PowerShell DSC, run the Configure-ArcGIS cmdlet and provide the path to the configuration file as an input parameter. Mode and Credential are optional arguments.

 Configure-ArcGIS -ConfigurationParametersFile [Path to Configuration JSON File](/Esri/arcgis-powershell-dsc/wiki/Path-to-Configuration-JSON-File) -Mode [Install | InstallLicense | InstallLicenseConfigure | Uninstall | Upgrade] -Credential [Config RunAs - Optional]

or

Configure-ArcGIS [Path to Configuration json File](/Esri/arcgis-powershell-dsc/wiki/Path-to-Configuration-json-File) [Install | InstallLicense | InstallLicenseConfigure | Uninstall | Upgrade] -Credential [Config RunAs - Optional]