In the previous section, we discussed the security aspect of how VMware Cloud on AWS works and the Elastic Network Interface (ENI) that allows us to have this high-bandwidth, low-latency, private connectivity between the VMware SDDC and AWS services. In this section, we will walk through the steps of setting up an application that resides within the VMware SDDC but that leverages an Amazon RDS MySQL Database as the backend.
Here, we deploy Atlassian Jira, an application many companies currently use, on a Windows Server 2012 R2 virtual machine in the VMware SDDC. As you can see from the picture below, The VM has been deployed, the Jira executable has been downloaded and placed on the desktop, and ready to be deployed.
Once Jira is installed, users are prompted to provide a database connection. This is where you can use Amazon’s Relational Database Service (RDS). Note that you’ll need the Hostname, Port, Username, and Password of the RDS database that you create.
In AWS, go to ‘RDS > Instances > Launch DB Instance’ and choose MySQL. You can also do this with PostgreSQL, however, this will walk through doing the setup with MySQL.
To save space on this article, screenshots were not added for every step of deployment including database size, storage, and SLA. Name the database. Here we use the following settings: vmc_jira, username ‘vmcadmin’ and a password. Click ‘Next’.
This next step of configuring the advanced settings is also very important. For VMware Cloud on AWS to be able to communicate with this database, it needs to be deployed to the correct VPC. We need to use the VPC that is connected to VMC. If you are unsure of which VPC is connected to VMC, you can see this is the ‘Network’ tab of the VMware Cloud on AWS console. You can also see here that the database will not be publicly accessible. This means that no EC2 instance or device outside of the VPC will be able to connect, EXCEPT that you have the Elastic Network Interface inside this VPC, so technically if both the Security Group and VMware SDDC Firewall settings are configured correctly, VMs will have the ability to communicate with this database.
This example uses an existing VPC security group (‘Default VPC’) which was used in the last blog post. Give the database the name vmc_jira as well and use the default port.
After the database is deployed and ready, click on it and see the information that is needed to connect Jira to RDS. Take “Endpoint”, “DB Name”, and “Username” from the details page and input them back in the Jira VM.
After entering the values here, you can test the connection. This account already has the additional rule in security groups enabled for MySQL, however, if you haven’t added an inbound rule from VMC, you’ll need to add it before this will test successfully.
For quick reference, you can see that the entire network range for these VM’s were added. This is not necessary, but easy to quickly enable this communication for the entire subnet.
If you now point your browser to the IP of the Jira VM, you will see the System Dashboard and login windows (SUCCESS!!). Just to double check, login with the credentials you previously used (see next picture).
You are not only logged in now, but are able to see the sample sprint and can start working away!
Because you’ve put your MySQL database in RDS, you no longer have to worry about performing the backups, point-in-time snapshots, updates, etc. because of the built in features around this service. Now you can focus on running your applications as well as fine-tuning your virtual environment while leaving your database issues in the cloud. Also, with the front end application sitting in your VMware cluster, you are able to leverage the benefits of thin-provisioned storage on vSAN, over-provisioning (if you choose to do so), DRS, and more! It is a win/win to leverage the best features and functionalities of both VMware and AWS!