FugokuFugoku Docs
Mask

Compute Instances

Virtual machines with dedicated resources - plans, specs, and pricing

Compute Instances

Fugoku compute instances are virtual machines running on dedicated CPU cores with guaranteed RAM and SSD storage.

Plans & Pricing

All plans include:

  • Dedicated vCPU (no CPU stealing)
  • Guaranteed RAM (no overcommitment)
  • NVMe SSD storage
  • 1 Gbps network connection
  • 1 TB bandwidth/month included
  • Unlimited internal traffic between instances

Standard Plans

Balanced CPU and RAM for general workloads: web servers, APIs, small databases.

PlanvCPURAMStorageTransferPrice/moPrice/hr
standard-112 GB50 GB1 TB$5$0.007
standard-224 GB80 GB2 TB$12$0.017
standard-448 GB160 GB3 TB$24$0.033
standard-8816 GB320 GB4 TB$48$0.067
standard-161632 GB640 GB5 TB$96$0.133

Use cases: WordPress sites, Node.js/Python apps, small PostgreSQL, Redis cache

CPU-Optimized Plans

High compute power for processing-heavy workloads.

PlanvCPURAMStorageTransferPrice/moPrice/hr
cpu-222 GB50 GB2 TB$18$0.025
cpu-444 GB80 GB3 TB$36$0.050
cpu-888 GB160 GB4 TB$72$0.100
cpu-161616 GB320 GB5 TB$144$0.200

Use cases: Video encoding, image processing, CI/CD build servers, batch jobs

RAM-Optimized Plans

High memory for databases, caching, and in-memory processing.

PlanvCPURAMStorageTransferPrice/moPrice/hr
ram-228 GB50 GB2 TB$24$0.033
ram-4416 GB80 GB3 TB$48$0.067
ram-8832 GB160 GB4 TB$96$0.133
ram-161664 GB320 GB5 TB$192$0.267
ram-3232128 GB640 GB6 TB$384$0.533

Use cases: PostgreSQL/MySQL, Elasticsearch, Redis, Memcached, data analytics

Storage-Optimized Plans

Large local SSD storage for data-intensive applications.

PlanvCPURAMStorageTransferPrice/moPrice/hr
storage-4416 GB500 GB3 TB$60$0.083
storage-8832 GB1 TB4 TB$120$0.167
storage-161664 GB2 TB5 TB$240$0.333

Use cases: MongoDB, Cassandra, log aggregation, media storage, backups

Operating System Images

Linux Distributions

All images are official upstream builds, updated monthly.

Ubuntu:

  • ubuntu-22.04 (Jammy Jellyfish) - LTS, supported until 2027
  • ubuntu-24.04 (Noble Numbat) - LTS, supported until 2029
  • ubuntu-24.10 (Oracular Oriole) - Latest stable

Debian:

  • debian-11 (Bullseye) - Stable
  • debian-12 (Bookworm) - Stable
  • debian-testing (Trixie) - For adventurous users

CentOS / Rocky Linux:

  • rocky-8 - RHEL 8 compatible
  • rocky-9 - RHEL 9 compatible
  • almalinux-8 - Alternative RHEL 8 rebuild
  • almalinux-9 - Alternative RHEL 9 rebuild

Fedora:

  • fedora-39 - Cutting edge
  • fedora-40 - Latest stable

Alpine:

  • alpine-3.18 - Minimal (5 MB base image)
  • alpine-3.19 - Latest

Arch Linux:

  • arch - Rolling release (for the brave)

Default Credentials

ImageDefault UserAuth Method
Ubuntu/Debianubuntu / debianSSH key only
Rocky/Almarocky / almalinuxSSH key only
FedorafedoraSSH key only
AlpinerootSSH key only
ArcharchSSH key only

Password auth is disabled by default for security. Use SSH keys.

Creating an Instance

Via Console

  1. Navigate to Compute → Instances
  2. Click Create Instance
  3. Select region, image, plan
  4. Configure name, SSH keys, user data
  5. Click Create

Provisioning time: 30-90 seconds.

Via CLI

# Basic creation
fugoku create instance \
  --name web-1 \
  --plan standard-2 \
  --image ubuntu-22.04 \
  --region lagos-1

# With custom configuration
fugoku create instance \
  --name api-prod \
  --plan standard-4 \
  --image ubuntu-22.04 \
  --region lagos-1 \
  --ssh-key my-laptop \
  --private-network backend-net \
  --enable-backups \
  --tags env:production,team:backend \
  --user-data @cloud-init.yaml

Via API

curl -X POST https://api.fugoku.com/v1/instances \
  -H "Authorization: Bearer $FUGOKU_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "web-1",
    "region": "lagos-1",
    "plan": "standard-2",
    "image": "ubuntu-22.04",
    "ssh_keys": ["my-laptop"],
    "tags": ["env:production"],
    "backups": true
  }'

Cloud-Init / User Data

Automate instance setup with cloud-init scripts.

Example: Install Nginx and deploy app

#cloud-config
package_update: true
package_upgrade: true

packages:
  - nginx
  - git
  - nodejs
  - npm

runcmd:
  - systemctl start nginx
  - systemctl enable nginx
  - cd /var/www
  - git clone https://github.com/yourname/app.git
  - cd app && npm install
  - npm start &

write_files:
  - path: /etc/nginx/sites-available/app
    content: |
      server {
        listen 80;
        server_name _;
        location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection 'upgrade';
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
  - path: /etc/systemd/system/app.service
    content: |
      [Unit]
      Description=Node.js App
      After=network.target
      
      [Service]
      Type=simple
      User=www-data
      WorkingDirectory=/var/www/app
      ExecStart=/usr/bin/node server.js
      Restart=on-failure
      
      [Install]
      WantedBy=multi-user.target

runcmd:
  - ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
  - rm /etc/nginx/sites-enabled/default
  - nginx -t && systemctl reload nginx
  - systemctl daemon-reload
  - systemctl start app
  - systemctl enable app

Pass this to --user-data:

fugoku create instance \
  --name web-1 \
  --plan standard-2 \
  --image ubuntu-22.04 \
  --region lagos-1 \
  --user-data @setup.yaml

SSH Access

Upload SSH Keys

Console: Account → SSH Keys → Add Key

CLI:

fugoku ssh-keys add --name laptop ~/.ssh/id_rsa.pub

API:

curl -X POST https://api.fugoku.com/v1/account/ssh-keys \
  -H "Authorization: Bearer $FUGOKU_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "laptop",
    "public_key": "ssh-rsa AAAAB3NzaC1yc2E... user@laptop"
  }'

Connect to Instance

Get IP address:

fugoku instances get web-1
# IP: 102.89.45.178

SSH directly:

# With CLI (manages keys automatically)
fugoku ssh web-1

# Manual SSH
ssh ubuntu@102.89.45.178

Troubleshooting SSH

Connection refused:

  • Instance may still be provisioning (wait 60 seconds)
  • Check firewall rules (port 22 must be open)
# View firewall rules
fugoku firewalls list-rules web-1

# Add SSH rule if missing
fugoku firewalls add-rule web-1 \
  --protocol tcp \
  --port 22 \
  --source your.ip.address/32

Permission denied:

  • Verify SSH key is uploaded to your account
  • Use correct username for image (ubuntu, debian, etc.)
  • Check key permissions: chmod 600 ~/.ssh/id_rsa

Managing Instances

Start / Stop / Reboot

Console: Instance detail → Actions menu

CLI:

# Stop instance (free while stopped, data preserved)
fugoku instances stop web-1

# Start instance
fugoku instances start web-1

# Reboot instance
fugoku instances reboot web-1

API:

curl -X POST https://api.fugoku.com/v1/instances/web-1/stop \
  -H "Authorization: Bearer $FUGOKU_API_TOKEN"

Billing note: Stopped instances only incur storage charges (~$0.10/GB/mo).

Resize Instance

Change CPU/RAM (requires reboot):

Console: Instance detail → Resize tab → Select new plan → Confirm

CLI:

fugoku instances resize web-1 --plan standard-4

Process:

  1. Instance stops
  2. Plan changes
  3. Instance restarts with new resources
  4. Downtime: ~60 seconds

Rebuild Instance

Reinstall OS (destroys all data, keeps IP):

Console: Instance detail → Actions → Rebuild

CLI:

fugoku instances rebuild web-1 --image ubuntu-24.04

Use cases:

  • Start fresh after compromise
  • Switch to different OS
  • Reset to clean state

Delete Instance

Permanently destroy instance and all data.

Console: Instance detail → Actions → Delete

CLI:

fugoku instances delete web-1 --confirm

Recovery: Deleted instances are not recoverable. Take snapshot first.

Monitoring & Metrics

View Metrics

Console: Instance detail → Metrics tab

CLI:

fugoku instances stats web-1

# Output:
# CPU: 12.5%
# RAM: 1.8 GB / 4 GB (45%)
# Disk: 2.1 GB / 80 GB (3%)
# Network: ↓ 450 Kbps ↑ 120 Kbps

API:

curl https://api.fugoku.com/v1/instances/web-1/metrics?period=1h \
  -H "Authorization: Bearer $FUGOKU_API_TOKEN"

Set Up Alerts

Console: Instance detail → Alerts → Create Alert Rule

Example rules:

  • CPU >80% for 5 minutes → email
  • RAM >90% for 10 minutes → email + SMS
  • Disk >95% full → email
  • Network unreachable for 2 minutes → email

CLI:

fugoku alerts create \
  --instance web-1 \
  --metric cpu \
  --threshold 80 \
  --duration 5m \
  --notify email:support@yourcompany.com

Backups & Snapshots

Manual Snapshots

Console: Instance detail → Snapshots → Create Snapshot

CLI:

fugoku snapshots create web-1 --name before-upgrade

Restore:

fugoku instances restore web-1 --snapshot before-upgrade

Automatic Backups

Console: Instance detail → Snapshots → Enable Automatic

CLI:

fugoku snapshots enable \
  --instance web-1 \
  --schedule daily \
  --time 02:00 \
  --retention 7

Schedule options:

  • hourly (keep last N hours)
  • daily (keep last N days)
  • weekly (keep last N weeks)

Cost: $0.05/GB/month for snapshot storage

Networking

Public IP

Every instance gets a public IPv4 by default.

View IP:

fugoku instances get web-1 | grep ip

Floating IP (optional): Static IP that persists across rebuilds and can move between instances.

# Create floating IP
fugoku networking create-ip --region lagos-1

# Assign to instance
fugoku networking assign-ip web-1 --ip 102.89.45.200

Private Networking

Connect instances on isolated VLANs.

Create network:

fugoku networks create \
  --name backend \
  --subnet 10.10.0.0/24 \
  --region lagos-1

Attach instance:

fugoku networks attach backend --instance web-1

Instance gets second interface: eth1 with private IP 10.10.0.x

Use case: Database servers only accessible from app servers, not internet.

Performance Tips

CPU Performance

  • Use CPU-optimized plans for compute-heavy tasks
  • Monitor CPU steal (should be <1%) - run top and check %st
  • Fugoku uses dedicated cores, not shared

Disk I/O

  • Root disk is NVMe SSD (fast)
  • For very high IOPS, use storage-optimized plans
  • Attach block volumes for additional storage

Benchmark disk:

# Write test
dd if=/dev/zero of=/tmp/test bs=1M count=1024 oflag=direct
# Should see 500+ MB/s on NVMe

# Read test
dd if=/tmp/test of=/dev/null bs=1M iflag=direct

Network Performance

  • Internal traffic between Fugoku instances: 10 Gbps, free
  • Public internet: 1 Gbps, 1 TB/month included
  • Additional bandwidth: $0.01/GB

Benchmark network:

# Install iperf3
sudo apt install iperf3

# On server instance
iperf3 -s

# On client instance
iperf3 -c server-ip
# Should see 900+ Mbps

Security Best Practices

  1. Disable password auth, use SSH keys only
  2. Use firewall rules - restrict port 22 to your IP
  3. Enable automatic updates:
    sudo apt install unattended-upgrades
    sudo dpkg-reconfigure -plow unattended-upgrades
  4. Use private networks for internal services
  5. Enable backups before major changes
  6. Rotate SSH keys quarterly
  7. Run fail2ban to block brute force attempts:
    sudo apt install fail2ban
    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban

Cost Optimization

Stop unused instances: Stopped instances only cost ~$0.10/GB/month for storage.

Right-size plans: Monitor metrics and downgrade if CPU/RAM underutilized.

Use reservations (coming soon): Commit to 1-3 year term for 30-50% discount.

Spot instances (coming Q3 2026): Spare capacity at up to 80% discount for fault-tolerant workloads.

Troubleshooting

Instance won't start:

  • Check account balance
  • Verify region has capacity
  • View error logs in Console

Poor performance:

  • Check metrics for bottlenecks
  • Verify plan size is adequate
  • Review disk I/O and network usage
  • Contact support if CPU steal >1%

Can't connect:

  • Verify firewall rules
  • Check instance is running
  • Confirm SSH key is uploaded
  • Try web console (VNC)

Getting Help


Next Steps:

On this page