Skip To Content

Run the CREATE command

The CREATE command in the ArcGIS Enterprise Cloud Builder CLI for AWS utility creates a base ArcGIS Enterprise deployment with the option of also creating one additional federated machine for each ArcGIS Server licensing role. After running the command to create your initial deployment, you can run the command again later to add more ArcGIS Server sites.

Note:

Before running the CREATE command, verify that your AWS organization has enough available resources for the deployment to create the new machines. The command will fail if the new deployment exceeds your organization's limit.

You can open a copy of one of the Esri sample JSON files from the CreateSamples folder and modify it to include your parameters. For example, to build a deployment optimized for raster analytics, choose the baseenterpriseallinonewithra.json file.

You must complete several steps in the AWS Management Console before executing the CREATE command. You'll use the results of these steps as parameter settings in your JSON file.

  1. Sign into the AWS Management Console using the same account you specified when preparing the deployment. Be sure you are in the same region you specified with the "AWSRegion" parameter in the previous section.
  2. Allocate a new Elastic IP address in AWS for single-machine base ArcGIS Enterprise deployments and the ArcGIS GeoEvent Server machine. Copy the corresponding Allocation ID, which will be in the format eipalloc-xxxxxxxx. In your JSON file, paste the ID as the value for the SiteEIPAllocationID parameter under BaseEnterprise.
  3. ArcGIS Server and the highly-available ArcGIS Enterprise deployments each require a load balancer, so you must create them. You have several options.
    • The ArcGIS Enterprise Cloud Builder CLI for AWS utility can create a load balancer for you.
    • The ArcGIS Enterprise Cloud Builder CLI for AWS utility can use an existing load balancer that you specify. If you use an existing load balancer, map your domain name for your deployment to your load balancer.

      You can create the load balancer using an Esri sample AWS CloudFormation template (the recommended option) or create one in AWS Management Console. If you purchased a domain name outside AWS, you must map the domain to the load balancer before you create your deployment using the utility. If you create a load balancer using AWS Management Console, be sure you use the same VPC as your deployment and configure the load balancers with an HTTPS listener.

    Once you create the load balancers, note the resulting DNS names, which will end in *.elb.amazonaws.com. You need this information for the next step.

  4. Map the DNS names of your load balancers to your domain. If you’re using the AWS Route 53 service, navigate to that page; register a domain if you have not already done so and create a new record set with your desired site domain name. If you use a different service for DNS mapping, browse to that site. In either case, set the base deployment site name’s type to CNAME and paste the DNS name you acquired in step 2 as the value. Repeat this to map your each load balancer’s DNS name to each ArcGIS Server site.

    For example, if you are building a deployment optimized for raster analysis, you need to map the DNS name of the load balancer you created for your raster analysis server to your ArcGIS Image Server site.

  5. Add the site domain names (such as base.domain.com and raster.domain.com) and the Name values of the additional load balancers to your JSON file as the values for SiteDomain in the appropriate section.

    For example, when modifying the baseenterpriseallinonewithra.json sample file, the VPC ID value is set in the "Default" section. The other values are set in the , "BaseEnterprise", and "RasterAnalytics" sections as follows:

    "Default" :{  
    	  "VPCId": "vpc-0011xxxxx",	 
    	  "DriveSizeRoot": "100",
    	  "DriveSizeData": "100",
    	  "KeyName": "YOURKEYNAME",
    	  "FSInstanceType": "m4.xlarge",
    	  "ASInstanceType": "m4.xlarge",
    	  "SecondaryInstances": "2",	
    	  "BDSInstanceType": "m4.xlarge",
    	  "BDSInstances": "0",	
    	  "DBEngine": "postgres",
    	  "DBInstanceClass": "db.m4.large",
    	  "DBAllocatedStorage": "200",
    	  "DeploymentBucket": "enterprisefiles",
    	  "StoreType": "CloudStore",
    	  "SiteAdmin": "admin",
    	  "SiteAdminPassword": "changeit",	
    	  "RunAsUserPassword": "P@ssw0rd123",
    	  "SSLCertificateFile": "wildcard_yourdomain_com.pfx",
    	  "SSLCertPassword": "AvertUR1s",
    	  "SSLCertificateARN": "arn:aws:acm:ap-northeast-1:123456789123:certificate/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    	  "PostInstallationScript": "none"
    	},
    
    "BaseEnterprise":{
      "SiteEIPAllocationID": "eipalloc-xxxxxxxx",	
      "InstanceType": "m4.xlarge",	
      "SiteDomain": "basedep.yourdomain.com",
      "PortalLicenseFile": "Your_Portal_License.prvc",
      "ServerLicenseFile":	"Your_Server_License.prvc",	  
      "Type": "AllInOne"
     },    
    "RasterAnalytics":{
      "ServerLicenseFile": "Your_Server_Image_License.prvc",	
      "ELBName": "your-raster-elb",
      "SiteDomain": "raster.yourdomain.com",	
      "CloudStoreS3BucketPath": "yourbucket/yourfolder",
      "Federate":true,
    }
  6. Create a new key pair in AWS. Add the key pair name to your JSON file as the value for the KeyName parameter.
  7. In your JSON file, modify the remaining parameters as needed. Refer to the full parameter list for the ArcGIS Enterprise Cloud Builder CLI for AWS for descriptions.
  8. Save your modified JSON file. Return to your Command Prompt console and run the CREATE command: cloudbuilder.exe CREATE -j <createfilename.json>

    The utility creates an output file in the CLI's Output folder, inside a subfolder named for your DeploymentName parameter. Each time you run the CREATE command for the same ArcGIS Enterprise deployment, output files are placed in the corresponding deployment's subfolder. The files are named <DeploymentName>_<batchID>.json, where the batchID string contains a file creation timestamp. The utility never deletes old output files.

    The following is an example of the contents of an output file generated when you run the CREATE command to create a base deployment, and ArcGIS GeoAnalytics Server, ArcGIS Image Server, ArcGIS GIS Server, and ArcGIS GeoEvent Server sites:

    "BaseEnterprise":{
               "PortalURL": "http://enterprise.yourdomain.com/portal/home",
               "ServerURL": "http://enterprise.yourdomain.com/server/manager"	 
       },
       "GeoAnalytics":{
                "ServerURL": "http://geoanalytics.yourdomain.com/arcgis/manager"	
       },
       "RasterAnalytics":{
                "ServerURL": "http://rasteranalytics.yourdomain.com/arcgis/manager"
       },
       "Server":{     
           "ServerURL": "http://server.yourdomain.com/arcgis"
       },
       "GeoEvent":{
               "ServerURL": "http://geoevent.yourdomain.com/server/manager",
               "GeoEventServerURL": "http://geoevent.yourdomain.com:6143/geoevent/manager"
       }

    Note that the contents of the output file will vary depending on what information you provided in the configuration JSON file.

  9. Once you have run the command and created your ArcGIS Enterprise deployment, you can run the command again in the future to create additional ArcGIS Server sites. Update the deployment configuration file and run the CREATE command again; the ArcGIS Enterprise Cloud Builder CLI for AWS utility will skip the components that are already deployed and add the new components accordingly.