The CREATE command in the ArcGIS Enterprise Cloud Builder Command Line Interface for Amazon Web Services (AWS) utility creates a base ArcGIS Enterprise deployment with the option of 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.
Alternatively, you can use a summary JSON file you downloaded from the ArcGIS Enterprise Cloud Builder for AWS app as a template for new deployments. However, you cannot use the ArcGIS Enterprise Cloud Builder CLI for AWS to add to the deployments created using the ArcGIS Enterprise Cloud Builder for AWS app.
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.
- Sign in to 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.
- For single-machine base ArcGIS Enterprise deployments and the ArcGIS GeoEvent Server machine, allocate a new Elastic IP address in AWS for a Amazon Virtual Private Cloud (VPC). 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.
If you're creating a single-machine base ArcGIS Enterprise deployment, proceed to step 5.
- ArcGIS Server and the highly available ArcGIS Enterprise deployments each require a load balancer. You can create the load balancers as described below or use existing load balancers. If you want to use existing load balancers, proceed to step 4.
- The ArcGIS Enterprise Cloud Builder CLI for AWS utility can create a load balancer for you if your organization uses Amazon Route 53 to manage your organization's domain name service (DNS) and your AWS account has permissions to manage the DNS. This configuration is not common, so if you aren't sure if you have this configuration and permission, you likely need to create the load balancer first.
- 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.
The ArcGIS Enterprise Cloud Builder CLI for AWS utility can use the load balancer you created with the CloudFormation template or in AWS Management Console.
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.
- 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 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 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.
- 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", "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.json", "UserLicenseTypeID" : "My_User_Type_UT" "ServerLicenseFile": "Your_GIS_Server_License.prvc", "Type": "AllInOne" }, "RasterAnalytics":{ "ServerLicenseFile": "Your_Image_Server_License.prvc", "ELBName": "your-raster-elb", "SiteDomain": "raster.yourdomain.com", "CloudStoreS3BucketPath": "yourbucket/yourfolder", "Federate":true, }
- Create a key pair in AWS. Add the key pair name to your JSON file as the value for the KeyName parameter.
- 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.
- 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 ArcGIS Enterprise Cloud Builder CLI for AWS 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 time stamp. The utility never deletes old output files.
Log files are created in a Logs folder in the directory to which you extracted ArcGIS Enterprise Cloud Builder for Amazon Web Services.
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, raster analysis 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.
- 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 same 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.