
While studying for the Comptia exams, I used Oracle’s cloud service to set up virtual networks in the cloud to practice with. Oracle’s has some “always free” services and a free trial month, as I don’t have access to these kind of resources through work or at home it was useful to be able to practice and ingrain some of the concepts while preparing for the exam. Having achieved that certification I’m now studying towards the Comptia Security+ exam, and I’ll be getting more practice hands on with the cloud labs.

Here is an example of using the available free machines, to set up this very server hosting this page. One machine in a public subnet running Apache set up and WordPress and another machine running the MySQL server in a private subnet. Both machines are running Ubuntu minimal (the “always free” VM shapes available are not particularly powerful!).

By default the networks set up are heavily locked down (which is good), so everything has to be manually added, internet gateways for public subnets and NAT for the private subnet (to allow updates etc.). The ACL for the network and route tables for the subnets have to be created, and individual firewalls configured on each machine.
Despite installing ufw and it seeming to be set up correctly, the webserver was still failing to get a connection to the MySQL server, after a fair bit of troubleshooting I found that Oracle’s images don’t seem to play nicely with ufw so I removed it and just used plain old iptables and everything worked as expected.
I already had this domain name, so it was just a case of assigning a fixed IP to the webserver and heading to my provider to update my DNS record to point to this address. I also had to set up new SSL certificates for Apache (via letsencrypt), which was fairly straightforward with PPAs available for Ubuntu to run through the initial set up as well as keeping them updated.
It’s nice that you can host a (small) site for free using Oracle cloud, and not just a ‘site builder’ type setup but full virtual machine(s) where you can install things exactly how you want them (apache/nginx, php, whatever kind of database you want etc.). As you get a full virtual machine you could also use it as a server for any other purpose you want a server for – I also have some other services running here which I previously ran using “Azure app service” but on azure I couldn’t have them running 24/7 without upgrading and potentially racking up charges.
It’s worth noting that the free tier account has some limitations-
Although there are more powerful VM shapes available as “always free” using ampere processors, I haven’t been able to try them as there doesn’t seem to be any available on any of the UK availability domains whenever I’ve tried to create one. I’m guessing they are reserving enough for use by actual paying customers (which is fair).
Also Oracle note that ‘unused’ compute instances (VMs) on the free tier will be reclaimed (deleted)- and these machines will probably fall below the threshold to be classified as ‘unused’. Upgrading to the payg tier should avoid this reclaiming and the “always free” limits still apply, so as long as you take care to stay within the free limits and avoid surprise charges it will keep them running even after the trial ends.