Creating an Amazon AWS EC2 Image from Scratch
I started out with a clean "Amazon Linux 2" image from Amazon with a single 100GB root volume and the "Sailing Analytics App" security group. The root/system volume I left as is, to start with. This requires having access to a user key that can be selected when launching the image. Then I ran the script configuration/sailing_server_setup/setup-sailing-server.sh with the instance's external IP address as an argument. This installs everything needed, so in order to understand what happens during this process, review the script. In short, it installs a few packages using the yum package manager, downloads and installs the SAP JVM 8 in its latest version into /opt/sapjvm_8, installs a few systemd service units that check for and then activate NVMe swap space where available and interpret the EC2 user data after boot. The MongoDB environment that is being installed is configured to be a replica set named replica, but initialization is left to the sailing.service. See the configuration/sailing script for the post-boot configuration, installed as a service (see configuration/sailing_server_setup/sailing.service).
When the script finishes, you can shut down / stop the instance, create an AMI and tag the AMI as well as the root volume's snapshot, e.g., as "SAP Sailing Analytics 2.0" and "SAP Sailing Analytics 2.0 (Root)", respectively.
Compared to earlier versions of this image type, no mail infrastructure and no httpd reverse proxy is being configured. No NFS mounts are performed, and the instances resulting from this will not have everything required to build the solution, in particular no NFS mount of the Android SDK.