Does anyone here use Oracle Cloud or Oracle Cloud Free Tier?
For the past 15 years or so, I have operated one or two virtual private servers (VPSs) on the internet. They can be so convenient. I sign up for cheap VPSs with minimal specs. They run Linux.
Recently I signed up for an Oracle Cloud Free Tier account. As long as you do not upgrade your account, Oracle will make sure that you stay within the free tier boundaries and will not incur unexpected costs. The free tier offers 6 (?) processor cores and 24 Gbytes RAM total. (You spread them between multiple "Instances". Individual Instances have limits below the total and vary depending on the processor type - AMD, Intel, ARM). That is way more than any VPS I have ever owned.
I am just getting started with Oracle Free Tier. Here are some of the "speed bumps" that I have encountered along the way:
I had not planned to write the outline for a small book, but it feels good to share the information. I hope this helps someone. Let's see if anyone else here is using Oracle Cloud.
(Edit/Update, one day later: Added section about SSH and the opc account.)
For the past 15 years or so, I have operated one or two virtual private servers (VPSs) on the internet. They can be so convenient. I sign up for cheap VPSs with minimal specs. They run Linux.
Recently I signed up for an Oracle Cloud Free Tier account. As long as you do not upgrade your account, Oracle will make sure that you stay within the free tier boundaries and will not incur unexpected costs. The free tier offers 6 (?) processor cores and 24 Gbytes RAM total. (You spread them between multiple "Instances". Individual Instances have limits below the total and vary depending on the processor type - AMD, Intel, ARM). That is way more than any VPS I have ever owned.
I am just getting started with Oracle Free Tier. Here are some of the "speed bumps" that I have encountered along the way:
- Signing up for Oracle Free Tier was time consuming and difficult. It took nearly a week and multiple attempts. The failures were many and varied, but the common thread is that you get to a certain step and then Oracle drops the ball. If anyone cares, I can share the gory details.
- Hint: If things are not moving in the right direction after waiting 24 hours for the next step to complete, delete all of your Oracle cookies in your browser and start over.
- OCI is very complex.
- There are layers upon layers of granularity, which offers great flexibility. It is designed for large scale use.
- If you are an individual user, you must choose from many options, many of which do not apply to simple, basic configurations.
- Figuring out which options are required to get a running server is not as easy as you may imagine. There is a learning curve.
- Documentation:
- Finding what you need can be an exercise in frustration.
- You search for the "simple answer" and get a complex document that is spread over multiple links with far more detail than you want or need.
- It is like trying to set a watch, but the documentation is all about gears, springs, stems, etc. Somewhere in there is the paragraph that tells you. It is titled "chronological configuration." :-(
- You search for the "simple answer" and get a complex document that is spread over multiple links with far more detail than you want or need.
- Some (much?) of Oracle's documentation is hidden behind their support wall.
- You see a document header and know you've found the document you want. Unfortunately, the body of the document with the text is not displayed. There is a login prompt for access.
- You need a separate account and password to view those documents.
- I did not feel like creating yet another account with Oracle (at least not yet).
- It wasn't obvious to me whether anyone can access the information, or only those with paid support services from Oracle.
- Finding what you need can be an exercise in frustration.
- Terminology:
- You start with a Compute Instance (or just "Instance") that defines processor, RAM, OS, networking, etc.. Operating system choices are "Images". The combination of processor type, number of cores, and RAM is a "Shape". You can save your favorite configurations as "Stacks". ... etc., etc., etc.
- You get the point.
- Creating an "Instance" usually fails with "Out of capacity" errors.
- Oracle cannot keep up with demand.
- I have read that many people lose their instances or accounts if they are idle too much, so that Oracle can reclaim the resources for others.
- Some people try to trick Oracle Cloud by setting up cron jobs that run periodically, stuff like that. I am not sure if they work.
- I have never been able to get an "AMD" instance. My one and only success so far was an "Intel" instance.
- Oracle defaults to an ARM processor.
- I avoided ARM, not wanting to contend with unexpected processor software compatibility issues.
- I am not afraid of ARM, but reducing the number of failure sources helps troubleshooting.
- The free tier offers only the "Virtual machine" option.
- You do not have access to the boot loader, grub, etc. You cannot perform an OS installation from a live boot.
- (You have the option to create it externally and load it as a custom operating system image, see below.)
- A "Bare metal machine" is available, but not in the free tier.
- You do not have access to the boot loader, grub, etc. You cannot perform an OS installation from a live boot.
- Oracle cannot keep up with demand.
- There are many operating system choices ("Images"):
- Default Choices: Oracle Linux, Ubuntu, CentOS, Windows (additional license fee), SUSE, AlmaLinux, Rocky Linux
- Some of them are not available for ARM. No surprise there.
- I chose Oracle Linux 9.
- There is also Marketplace. Marketplace offers many OS options from Oracle partners. There is a separate section with additional offerings from "the community."
- In addition, you have the option to upload your own custom operating system images, which I did not try.
- Default Choices: Oracle Linux, Ubuntu, CentOS, Windows (additional license fee), SUSE, AlmaLinux, Rocky Linux
- Networking is far more complex than a basic VPS.
- (A typical VPS gets a public IP address, which is exposed to the internet. Attackers are banging on that VPS all the time from everywhere on the internet. It is a fact of life. Your Linux security skills are the only thing that protects your VPS from attackers.)
- In Oracle Cloud, an OCI instance has a virtual NIC ("VNIC") that is attached to a "virtual cloud network" which may have multiple "subnets" to choose from.
- In typical use, you get a private address space that is tied to a public IP address.
- It operates like a firewall/router with NAT, but add complexity, layers, and options that I did not need for basic operations.
- To enable access to a service from the internet, you must open the port on both the VLAN firewall AND the firewall on your running Instance.
- Yes, the firewall on my Oracle Linux instance was enabled and blocking nearly everything but SSH.
- It took time to figure out how to move SSH to an alternate port and close port 22. ... without cutting myself off from the instance.
- Free 30 Day Trial and $300 Credit
- Oracle gives you $300 credit for a free 30 day trial.
- You can run Oracle features that are excluded from the free tier to try them out.
- When the Free Trial is over, any remaining credit disappears, and you are limited to "Always Free" resources. That's fine with me.
- To my surprise, the $300 balance is slowly dropping with my one Intel instance.
- After a week, the balance is now $296.02.
- -> I have not yet figured out what is causing the small charges. I haven't even figured out HOW to figure it out.
- I am working on it, but have not found it. I get an error with one Oracle web page that may have the information.
- If I continue, that would be equivalent to over $16 per month, which is way more than I have ever spent on a VPS. (I typically aim for $3 a month VPSs. You don't get much at that low cost.)
- I am trusting that Oracle won't charge me real money once the 30 day trial is ended.
- I wonder whether Oracle deletes Instances that cause charges, or just reduces its configuration to whatever makes it free tier.
- I am betting on delete.
- I wonder whether Oracle deletes Instances that cause charges, or just reduces its configuration to whatever makes it free tier.
- Oracle gives you $300 credit for a free 30 day trial.
- Connecting over SSH Using the Provided Default "opc" Account on Server
- You connect to your new server (instance) with SSH using public key authentication.
- You can have the system create a keypair for you, or (better!) create the keypair locally yourself and paste in the public key. I created and pasted my own public key.
- Oracle does not give you a password for the opc account, which may be confusing to some people, including me. ...
- -> ... Until I discovered that running "sudo" from the opc account does not prompt for a password.
- It is the default configuration for the Oracle 9 "image" that I chose.
- This is the first time I have seen "sudo" configured without a password prompt by default.
- With sudo, you can do anything, including setting a password for the opc account.
- You connect to your new server (instance) with SSH using public key authentication.
- (Personal Comment): I am rusty with Red Hat type distros, but I chose Oracle Linux 9 for my first Instance.
- I have been running Debian 10 and 11 on my VPSs lately, and mostly Debian derivatives on my Linux virtual machines at home.
- I used to run CentOS on VPSs, but that was years ago.
- nftables was new to me. It wasn't hard to figure out the basics.
I had not planned to write the outline for a small book, but it feels good to share the information. I hope this helps someone. Let's see if anyone else here is using Oracle Cloud.
(Edit/Update, one day later: Added section about SSH and the opc account.)
Last edited: