Oracle Free Tier Setup Conundrums
Published: 2024-03-09 22:43:53

If you haven't explored [Oracle's free tier](https://www.oracle.com/cloud/free/), you're missing out on some truly unbelievable offerings. The moment I stumbled upon their deal, I was whisked back to the days of receiving a beta invitation for Gmail from Google, marveling, "How can they afford to offer this?" But I digress—let's dive into the meat of setting up their services and some of the problems I had along the way.

The allure of not one, but two free, unmanaged VPSs was irresistible—a siren call for someone whose DNA is practically coded for pressing the "unmanaged VPS" option. I self-hosted for far too many years and graduated to more professional projects where redundancy and uptime became more of a priority. The fact I ever even paid for a VPS is still astonishing, let alone that something might try to compete with that value - for the ~$18 I spend per month on VPS, they've paid for themselves innumerable times over.

The opportunity to start afresh with a service from _frickin' ORACLE_ was also just too good to pass up. Despite my historical grievances with Oracle since their acquisition of MySQL, which had me firmly on the "fsck Oracle" bandwagon, I wondered if this offer could thaw my frosty disposition. 

I'd originally learned of this some months ago and refused to complete the sign-up process. There would be excuses like: "I just don't have the time", but somewhere deep down, I think I just hated Oracle. Even before they bought MySQL. The same way most of us recoil when we see a snake or an insect.

And so, with mixed emotions, I plunged into the setup process, only to be greeted by a labyrinthine of steps far removed from the simplicity of launching a VPS elsewhere. My initial foray into creating a compute instance was a comedy of errors, leading to a cluttered graveyard of terminated attempts that refused to initialize.

Oracle's web interface felt like whimsically resetting my progress and steering me away from my chosen Ubuntu setup towards Oracle's preferred configurations several times. Yet, the most pivotal revelation was the necessity of setting up block storage before initiating the compute instance — and never once having to step foot inside "Create Dedicated Virtual Machine Hosts" area. While the compute instance creation offers an option to create block storage during setup, my compute instances would never actually initialize until there was a pre-existing block. I also had to juggle which area had available resources - this means you create a block likely not knowing if it is going to be in an area with an available server shape for what you are trying to do... among other things.

The exact sequence with which to approach the events never really seems clearly defined and the scope of all the documentation is either too narrow or unrelated to this specific ask, even if it were clearer, the GUI itself offers options that, when used, mean your instance is never going to initialize.

The journey was similarly strewn with cryptic error messages and a barrage of unfamiliar terms and syntax, leaving me to wonder about the state of my VNIC default route table, NSG, or security list - all things I'd never considered when configuring a VPS, prior. It was only after a series of missteps and a forgotten private key for SSH access that I finally managed to establish a connection, naively believing the hardest part was behind me.

However, next time, on Dragon Ball Z, with unanticipated issues related to running UFW alongside Oracle's setup, leading to a frustrating game of cat and mouse with my httpd configuration, iptables rules, and the Oracle GUI. The resolution lay in the intricate dance of VNIC, Network Security Group, and Security Lists settings — a puzzle that eventually succumbed to my Goku-like hardheadedness... and a dash of luck.

You can have Network Security Groups and/or Security List (seems to be the old way of doing it) - you can also have Ingress and Egress rules, stateful or stateless. 

I toggled every single conceivable option. I got so tired of making my own rules, I looked at what was there - and at last, I seen under the SSH, there was an option present for the source port to be "any", so I figured that was causing me the problems: nobody could connect since everything was being sent in as SSH. Eureka!

Except, not. That wasn't even it. Worse, my SSH connection terminated. It didn't take me long to add back in the "any" to source port and regain my SSH, but folks, when I tell you that it took me a second to figure that I should just do that with my http port configurations as well, it was definitely not a New York second.

So, heed my call and claim your free servers from Oracle—before the winds of change sweep this opportunity into the annals of internet history (and we all have to get grandfathered in on some different plan). Embark now, and you might just conquer the setup in a little over an hour... or two... maybe more, armed with your trusty patience and a willingness to decode a barrage of new jargon. Good luck!