Skip to content

Obtaining Always Free Oracle Compute Instance

Abstract

If you have a project in the back of your mind that you want to make available to a wider audience but don’t want to incur additional costs in the process, then this guide is for you. I will describe how to get a free lifetime VPS server, how to configure it, the limitations, and some useful tips.

Like other cloud providers, Oracle Cloud (whom I would like to thank in particular for this ) offers its users a set of its services for free.

You might be wondering how exactly it works.

Oracle offers a set of “Always Free” cloud services available for life. You can use these services however you like, as long as you stay within the resource limits and comply with their terms and conditions.

All you need to do is create a “Free Tier Account”. Plus, you’ll receive an extra package of cloud credits worth $300 to use within the first month. After that, if you choose not to upgrade to a paid tier, your account will stay in the “Free Tier”, which will block access to paid resources but guarantee you’ll never incur any costs.

Free Tier Resources

For our needs, we’ll use resources in the Compute Instance category—specifically, an Arm Compute Instance.

We will set up one instance with in total:

  • 4 OCPU (3.0 GHz Ampere® Altra™)
  • 4Gbps Network bandwith
  • 24GB of Memory

You can also mix and allocate these parameters across multiple machines, as long as you don’t exceed a total of 24GB of RAM and 4 OCPUs.

Additionally, this tier includes other resources like Autonomous Oracle Database, NoSQL Database, Block Volume Storage, Object Storage, and more.

Just stick to the Always Free usage limits, and you’ll be good to go.

Creating Oracle Cloud account

There’s not much to explain here—just follow the instructions on the page to create your Oracle Cloud Account. You’ll be asked to provide a credit card, which Oracle will check for validity, but no fees will be charged. Oracle may place a temporary hold on a small amount to verify your card, releasing it immediately after. Note that temporary cards likely won’t work; in my case, I used a Revolut card with minimal funds for verification.

You’ll also need to select a region, which determines the physical location of the Oracle infrastructure assigned to you. For best performance, choose the region closest to your location to minimize latency.

Once you’ve successfully created your account, head to the sign-in page and log in to your “tenancy.” A tenancy is similar to a project in Google Cloud; think of it as an isolated segment of Oracle Cloud infrastructure that you own.

After that, you should be taken to the landing page, which should look similar to mine. landing-page

Info

Free Tier accounts will always display a purple box at the top of the screen, encouraging you to upgrade your subscription to “pay as you go.”

Tip

You can check how many free tokens you have left during your trial period on the right side. However, keep in mind that these tokens are not used for resources marked as Always Free. They won’t be deducted as long as you strictly adhere to the designated limits of the Always Free. You’re free to use your tokens for additional services during your trial.

Creating compute instace

To create a Compute Instance, open the Navigation Menu in the top left corner of the screen (the hamburger menu). Then, go to the “Compute” group and select “Instances” from the list. You’ll be redirected to an overview where you can see all of your instances, regardless of their state. In your case, there won’t be any resources displayed unless you’ve already attempted to create something.

Click Create Instance button and start configuring your machine.

instances-overview

Instance Configuration Settings

Name - Display Name for Compute Instance

Image - you can select one of the available distribution, or Bring Your Own Distriubtion. Remember that it has to supprot aarch64 architecture. (I recommend using 22.04 or 24.04 Ubuntu as futher steps will be proceeded in this Linux version)

Shape - Select Ampere (Arm-based processor) A1.Flex and set it up max 4 OCPUs and 24GB memory

Primary VNIC Information - In Always Free, you can have up to one Virtual Cloud Network and one Subnet

  • Select Create new virtual cloud network and name it somehow, so you know later which one you use for your compute instance
  • Do the same for Public Subnet (don’t change CIDR block default value - 10.0.0.0/24)

Add SSH keys - generate new pair (and download them!) or use your own keys, as there is no possibility to access the instance using password by default

All the other options can remain as they are.

Click Create and wait for the confirmation that your instance is being created. Unfortunately, there’s a chance that there may be no free capacity left in your current location.

If that’s the case, you’ll see an error message similar to the one below.

out-of-capacity

In such a situation, with a Free Tier account, your only options are to try again later or to select a lower number of OCPUs and less RAM.

Tip

You can update your account to a ‘pay as you go’ type. As long as your resources remain below the set ‘Always Free’ limits, you won’t incur any additional costs, and you’ll bypass the ‘out of capacity’ issue. So it’s up to you whether to try again later or to update your account.

Connecting

Once your machine is created, return to the Instances Overview from the previous steps to check if it’s up and running.

If the State is 🟢 Running, you can connect to your machine with ssh <default_user>@<ip_address> -i <path_to_private_key>.

I recommend setting up config file in your home directory

For windows users Go to C:\Users\<user>\.ssh\config (ensure that you see hidden folders, create .ssh folder if doesn’t exist)

C:\Users\\.ssh\config
Host <alias>
  HostName <ip_address>
  User <default_user>
  IdentityFile <path_to_private_key>
For linux you can do the same in /home/<user>/.ssh/config

Now, you should be able to connect to the machine using the simplified command ssh <alias>

That’s it—you’ve just connected to your own virtual private server for life! 😎

In future posts, I’ll outline my initial steps for setting up a newly created VPS running on Ubuntu 22.04, so stay tuned!