The blog aims to create a zero to fully working instance of VersionVault Explorer on AWS. The assumption is that the reader has a valid credential on AWS with permission to EC2 and S3 on an admin level. We also presume, the user has his initial setup in place and can take off with the installation with the instructions that follow.

Security port creation

VerisonVault Express operates on pre-defined ports which will need to be allowed for incoming traffic on AWS. For this reason, we need to create a security group that allows ports 22, 443, 8080, and 8443. In case of an available security group existing, you may add the ports on the list to allow ingress traffic

Command to create a security group (firewall) – Take note of the security group ID (sg-xxxxxxxx) of your newly created security group.

aws ec2 create-security-group –group-name SECURITY_GROUP_NAME –description “Ports for VersionVault Express”

Note: Please capture the SECURITY_GROUP_ID which gets displayed as the output of the commands; we may need them while spinning out instances

Commands to allow the ports for ingress(incoming) traffic

aws ec2 authorize-security-group-ingress –group-id SECURITY_GROUP_ID –protocol tcp –cidr –port 22
aws ec2 authorize-security-group-ingress –group-id SECURITY_GROUP_ID –protocol tcp –cidr –port 443
aws ec2 authorize-security-group-ingress –group-id SECURITY_GROUP_ID –protocol tcp –cidr –port 8080
aws ec2 authorize-security-group-ingress –group-id SECURITY_GROUP_ID –protocol tcp –cidr –port 8443

Uploading the product ova onto S3

Now that the user has enabled the ports, we can upload the product executables onto AWS. The user may create a new bucket on S3 to store the ova file of VersionVault, or in the event of having an existing bucket; you may directly copy/upload the ova available on your laptop/machine using the below commands

Bucket creation

Create an S3 bucket to store the VersionVault ova using:

aws s3api create-bucket –bucket MY_BUCKET_NAME –region us-east-1

Copy VersionVault Express ova file to the S3 bucket

Now that the bucket is created, you can move the ova file from your virtual machine/laptop with the below command: aws s3 cp /local/path/to/versionvault.ova s3://MY_BUCKET/[DIRNAME/]FILENAME.ova
The copy of the ova file could take some time depending on the speed of the network

Creating an Amazon Machine Image(AMI) for VVE

Having uploaded the ova, we can now create an AMI which will be used to spin any number of instances of VVE. The image creation can be used as a one-time activity and can be used in the future to clone instances on a need basis.

A configuration file needs to be created manually by the user which contains information about the ova file and where it is placed on the AWS S3 storage. For the sake of convenience, we call it container.json with sample contents below:

[ { “Description”: “Versionvault”, “Format”: “ova”, “Url”: “s3://my-bucket-name/versionvault.ova” } ]

Once the configuration is created, we execute the below command along with the path to the file. This will create an AMI with the details of the image displayed on the console.
aws ec2 import-image –description “My description” –disk-containers “file://containers.json”

Note: Please capture the AMI ID which is displayed on the console as an output for future reference.

VVE instance creation

With the AMI created, we can now proceed to create instances out of the image. You can have multiple instances running at the same time using the same image.

VVE needs to attach to an external storage with a recommended size of 80GB. The information can be provided by way of a manually created configuration file, which is for the sake of convenience called as mapping.json with sample contents below:

[{ “DeviceName”: “/dev/sdg”, “Ebs”: { “VolumeSize”: 80 } }]

Once the mapping file is created, execute the below command which will create an instance for us using the information provided in the list.

aws ec2 run-instances –security-group-ids SECURITY_GROUP_ID –instance-type INSTANCE_TYPE –image-id AMI_ID –region REGION –block-device-mappings file://mapping.json


Now that the instances are running, the user will be able to use the product using the licenses available with him and use the AMI created as part of this activity to create future spins of the product. Happy Exploring!

Comment wrap
Further Reading
Secure DevOps | July 21, 2022
HCL VersionVault Express on the Google Cloud Platform
Learn how to set up and configure HCL VersionVault Express on the Google Cloud Platform. You must have a valid credential on the Google Cloud Platform and you have an initial setup in place.
Uncategorized | July 21, 2022
HCL VersionVault Express on the Azure Cloud Platform
Learn how to get an instance of the HCL VersionVault Express virtual machine up and running in a public or private cloud on the Azure Cloud Platform.
Secure DevOps | June 17, 2022
SCM Integration of HCL Compass with HCL VersionVault Express – (Webhook based)
This Blog covers snapshot of the key steps that are needed to configure SCM Integration of HCL Compass 2.1.0 with HCL VersionVault Express 2.1.0 - using the Webhook based method.With this integration in place, we can track the Change sets that are done in context of an Activity on the HCL VersionVault Express end that corresponds to a specific Defect or a Record on the HCL Compass end.
Filters result by