How to Get a Free VPS: Oracle, Google Cloud, AWS, Azure Free Tiers

10 min read
Beginner VPS Free Cloud Oracle AWS Self-Hosting Guide

Prerequisites

  • A valid email address
  • A credit/debit card (for verification — most free tiers don't charge)

Quick Answer: Oracle Cloud gives you 4 ARM CPU cores + 24 GB RAM free forever — the best free VPS. Google Cloud gives $300 credit for 90 days. AWS gives 12 months of a small instance. All require a credit card for verification but won't charge you on the free tier.

Just want a cheap VPS instead? Vultr (free credit), DigitalOcean ($200 free credit), or RackNerd (cheap annual deals) — starting at $3/month.


Comparison: Every Free VPS Option

Provider What You Get Free Duration Card Required Best For
Oracle Cloud 4 ARM cores, 24 GB RAM, 200 GB disk Forever Yes Best free option — run anything
Google Cloud $300 credit, e2-micro always free 90 days credit + always free tier Yes Testing, small projects
AWS t2.micro or t3.micro (1 vCPU, 1 GB RAM) 12 months Yes Learning AWS
Azure $200 credit (30 days), B1S free 12 months 30 days credit + always free Yes Learning Azure
Oracle Cloud x86 1 core, 1 GB RAM, 50 GB disk Forever Yes Light tasks
IBM Cloud Limited (many services deprecated) Forever No Very limited
Fly.io $5/month free compute credit Forever Yes Tiny apps, containers
Railway $5 trial credit Trial Yes Small web apps

The winner: Oracle Cloud. 4 ARM cores with 24 GB RAM for free forever is unmatched. Nothing else comes close for a free server you can run proxies, VPNs, and services on.


Option 1: Oracle Cloud (Best — Free Forever)

Oracle Cloud's "Always Free" tier is the most generous in the industry:

What You Get Free Forever

Resource Amount
ARM (Ampere A1) Up to 4 cores, 24 GB RAM total
x86 (AMD) 1 core, 1 GB RAM
Boot volume 200 GB total
Bandwidth 10 TB/month outbound
Public IPs 2 reserved
Load balancer 1 flexible LB
Object storage 20 GB

You can split the ARM resources however you want — one big VM (4 cores, 24 GB) or multiple smaller ones.

Sign Up

  1. Go to cloud.oracle.com
  2. Click "Start for free"
  3. Enter your email, name, country
  4. Home Region — choose carefully, this cannot be changed later. Pick the closest to your users:
  • US users: Phoenix or Ashburn
  • Europe: Frankfurt or Amsterdam
  • Asia: Tokyo, Seoul, Mumbai
  • Middle East: Jeddah (closest to Iran without being IN Iran)
  1. Enter credit card (for verification — Oracle charges $1 and refunds it)
  2. Verify email
  3. Wait for account approval (usually instant, sometimes 24 hours)

Create an ARM Instance (4 cores, 24 GB)

  1. Go to Compute → Instances → Create Instance
  2. Image: Ubuntu 22.04 (or 24.04) — select "Canonical Ubuntu"
  3. Shape: Click "Change Shape" → Ampere → select VM.Standard.A1.Flex
  4. Set: 4 OCPUs, 24 GB memory
  5. Networking: Accept defaults (creates a VCN with public subnet)
  6. SSH keys: Upload your public key or let Oracle generate one (download the private key!)
  7. Click Create

Common issue: "Out of capacity" error. Oracle's free ARM instances are extremely popular. If you get this error:

  • Try at off-peak hours (early morning US time)
  • Try a different availability domain (AD)
  • Try reducing to 2 cores, 12 GB first
  • Keep retrying — capacity opens up periodically
  • Some people automate retries with a script

Connect

# Default user for Ubuntu on Oracle
ssh ubuntu@YOUR_PUBLIC_IP -i your-private-key

# First things first
sudo apt update && sudo apt upgrade -y

Open Firewall (Oracle-Specific!)

Oracle Cloud has TWO firewalls — the OS firewall (iptables) and the cloud security list. You need to open both:

1. Cloud Security List (Oracle Console):

  1. Go to Networking → Virtual Cloud Networks → your VCN → Security Lists → Default Security List
  2. Click Add Ingress Rules
  3. Add rules for your ports:
Source CIDR Port Protocol Description
0.0.0.0/0 22 TCP SSH
0.0.0.0/0 80 TCP HTTP
0.0.0.0/0 443 TCP HTTPS
0.0.0.0/0 51820 UDP WireGuard
0.0.0.0/0 All All (or open all for simplicity)

2. OS Firewall (iptables):

Oracle's Ubuntu images have restrictive iptables rules by default:

# WARNING: This removes ALL firewall rules. Use the UFW method below instead
# for a safer approach. Only use this if UFW doesn't work.
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

# Save (so it persists after reboot)
sudo apt install iptables-persistent -y
sudo netfilter-persistent save

Or use UFW instead:

sudo iptables -F
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

This is the #1 reason things don't work on Oracle Cloud — people forget about the double firewall.

What to Run on It

4 ARM cores + 24 GB RAM can run a LOT:

ARM + Docker Note

Most Docker images support ARM64 (Nginx, Node.js, Python, PostgreSQL). Some older images do not. Check before pulling:

docker manifest inspect IMAGE_NAME | grep arm64

If no arm64 support, look for community ARM builds or build from source.

Limitations

  • ARM architecture — most software works (Docker, Nginx, Node.js, Python) but some x86-only binaries won't run
  • "Out of capacity" makes getting the instance hard initially
  • Oracle can terminate free tier instances after being "idle" (no compute activity for 7 days). Keep a lightweight cron job running to prevent this:
# Prevent Oracle from reclaiming idle instances
(crontab -l 2>/dev/null; echo "*/10 * * * * dd if=/dev/urandom bs=1k count=1 2>/dev/null | md5sum > /dev/null 2>&1") | crontab -

Option 2: Google Cloud ($300 Credit + Always Free)

What You Get

$300 credit for 90 days — use any VM size, any region. After 90 days:

Always Free tier:

Resource Amount
e2-micro VM 1 shared vCPU, 1 GB RAM
Boot disk 30 GB standard
Bandwidth 1 GB/month to most regions
Region Oregon, Iowa, or South Carolina only

Sign Up

  1. Go to cloud.google.com/free
  2. Sign in with Google account
  3. Enter credit card (won't charge after free trial unless you manually upgrade)
  4. Get $300 credit

Create a VM

Console → Compute Engine → VM Instances → Create Instance

Name: my-server
Region: us-west1 (Oregon) — cheapest, and always-free eligible
Machine type: e2-micro (for always free) or anything during $300 credit
Boot disk: Ubuntu 22.04, 30 GB
Firewall: Allow HTTP + HTTPS

Limitations

  • e2-micro is very small (1 shared vCPU, 1 GB RAM) — fine for a light proxy or Pi-hole, not for heavy Docker services
  • Always-free is limited to 3 US regions
  • 1 GB/month egress is very low — you'll exceed this quickly with a proxy
  • After $300 credit, you must explicitly upgrade to avoid shutdown

Best Use

Use the $300 credit to test setups for 90 days. Then either pay for what you use or switch to Oracle Cloud free tier for long-term.


Option 3: AWS Free Tier (12 Months)

What You Get

12 months free:

Resource Amount
t2.micro 1 vCPU, 1 GB RAM
Storage 30 GB EBS
Bandwidth 15 GB/month outbound
Elastic IP 1 (free while attached to running instance)

Sign Up

  1. Go to aws.amazon.com/free
  2. Create AWS account
  3. Enter credit card
  4. Verify phone number
  5. Choose "Basic Support" (free)

Create an Instance

Console → EC2 → Launch Instance

Name: my-server
AMI: Ubuntu Server 24.04 LTS
Instance type: t2.micro (or t3.micro if available)
Key pair: Create new (download the .pem file!)
Network: Allow SSH, HTTP, HTTPS
Storage: 30 GB gp2

Connect

chmod 400 your-key.pem
ssh -i your-key.pem ubuntu@YOUR_EC2_IP

Limitations

  • t2.micro has "CPU credits" — if you use sustained CPU, it gets throttled
  • After 12 months, it starts charging! Set a billing alarm
  • 15 GB/month egress is low for a proxy server
  • Some regions cost more even on free tier

Best Use

Learning AWS. For a free proxy server, Oracle Cloud is much better.


Option 4: Azure Free Tier ($200 Credit)

What You Get

$200 credit for 30 days + always free:

Resource Amount
B1S VM 1 vCPU, 1 GB RAM (750 hours/month for 12 months)
Storage 64 GB SSD (for 12 months)
Bandwidth 15 GB/month outbound

Sign Up

  1. Go to azure.microsoft.com/free
  2. Sign in with Microsoft account
  3. Enter credit card
  4. Get $200 credit

Limitations

  • $200 credit expires in 30 days (shortest of all providers)
  • B1S always-free is only for 12 months
  • Less generous than Oracle or AWS

Option 5: Budget VPS ($3-5/month)

If free tiers are too restrictive (capacity issues, bandwidth limits, ARM compatibility), a $3-5/month VPS gives you a reliable server with no surprises:

Provider Price Specs Why Choose
Vultr $3.50/month 1 vCPU, 512 MB RAM, 10 GB Free credit on signup
DigitalOcean $4/month 1 vCPU, 512 MB RAM, 10 GB $200 free credit
RackNerd $3/month 1 vCPU, 768 MB RAM, 15 GB Cheapest annual deals
Hetzner $3.29/month 1 vCPU, 2 GB RAM, 20 GB Best value in Europe

For $3-5/month you get:

  • Dedicated x86 CPU (no ARM compatibility issues)
  • Guaranteed resources (no "out of capacity")
  • Unlimited bandwidth (or very generous limits)
  • Reliable uptime
  • No risk of free tier termination

If you can afford $3/month, a paid VPS is simpler and more reliable than fighting Oracle's free tier capacity.


Important: Payment and Sanctions

If you're in Iran, Syria, or other sanctioned countries:

  • Credit cards from these countries don't work on any cloud provider
  • You need a card from another country (Turkey, UAE, etc.) or a virtual card service -- ask in Iranian tech Telegram groups for current working methods (Turkish bank accounts, UAE neobanks like Liv or Mashreq Neo are common options)
  • Use a VPN during signup -- some providers block signups from sanctioned IPs
  • Oracle Cloud is the most strict about identity verification; Google Cloud and AWS are slightly easier

If you're in China:

  • Most international cards work
  • Aliyun (Alibaba Cloud) is a domestic alternative with free tiers
  • Use a VPN during signup for non-Chinese providers

Which Free Tier Should You Use?

Need a long-term free server?
    → Oracle Cloud ARM (4 cores, 24 GB, forever)

Just want to test/learn for 90 days?
    → Google Cloud ($300 credit)

Learning AWS specifically?
    → AWS Free Tier (12 months)

Can't get Oracle ARM (out of capacity)?
    → Oracle x86 (1 core, 1 GB, forever)
    → Or just pay $3/month for Vultr/RackNerd

Need guaranteed reliability?
    → Pay $3-5/month (Vultr, DO, RackNerd, Hetzner)

What to Do After Getting Your VPS

  1. Set up SSH keys — secure your login
  2. Harden your server — firewall, fail2ban, updates
  3. Install Docker — for running services
  4. Choose what to run:

Troubleshooting

Problem Fix
Oracle "Out of capacity" Try off-peak hours. Try different AD. Reduce to 2 cores. Keep retrying
Oracle instance reclaimed It was idle >7 days. Add a cron job to prevent idle detection
Oracle firewall blocks traffic Open BOTH cloud security list AND OS iptables/UFW
AWS charges after 12 months Set billing alarm. Terminate instance before free tier expires
Google charges after $300 Account auto-suspends (no charges) unless you manually upgrade
Can't SSH to instance Wrong key, wrong username (ubuntu for Ubuntu, opc for Oracle Linux), wrong security group
ARM binary won't run That binary is x86-only. Look for ARM64/aarch64 version or build from source

Related Guides