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
Available Plans
| Plan | Cores / vCPU | RAM | Storage | Network | Hourly | Monthly | Yearly |
|---|---|---|---|---|---|---|---|
vm-standard | 4 | 16 GB | 80 GB NVMe | 1 Gbps | $0.35 | $254 | $2,124 |
m4.metal.small | 6 | 64 GB | 2×960 GB NVMe | 10 Gbps | $0.41 | $297 | $2,487 |
f4.metal.small | 12 | 96 GB | 2×960 GB NVMe | 10 Gbps | $0.55 | $399 | $3,345 |
m4.metal.large | 24 | 384 GB | 4×NVMe | — | $2.03 | $1,471 | $12,324 |
rs4.metal.large | 32 | 768 GB | 2×480 GB + 2×8 TB NVMe | 100 Gbps | $3.22 | $2,351 | $19,748 |
m4.metal.xlarge | 48 | 768 GB | 4×NVMe | — | $4.12 | $2,986 | $25,024 |
rs4.metal.xlarge | 64 | 1536 GB | 4×8 TB NVMe | 100 Gbps | $6.44 | $4,669 | $39,110 |
f4.metal.large-gpu | 24 | 768 GB | 2×480 GB + 2×3.8 TB NVMe | 8× A100 | $8.99 | $6,521 | $54,600 |
See the Servers page for detailed specs and features per plan.
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
| Image | Default User | Auth Method |
|---|---|---|
| Ubuntu/Debian | ubuntu / debian | SSH key only |
| Rocky/Alma | rocky / almalinux | SSH key only |
| Fedora | fedora | SSH key only |
| Alpine | root | SSH key only |
| Arch | arch | SSH key only |
Password auth is disabled by default for security. Use SSH keys.
Creating an Instance
Via Console
- Navigate to Servers
- Click Create Server
- Select Virtual Machine category
- Select provider, region, and plan
- Configure name, SSH keys, user data
- Click Create
Provisioning time: 30-90 seconds.
Via CLI
# Basic creation
fugoku create server \
--name web-1 \
--plan vm-standard \
--image ubuntu-22.04 \
--region lagos-1 \
--role VirtualMachine
# With custom configuration
fugoku create server \
--name api-prod \
--plan m4.metal.small \
--image ubuntu-22.04 \
--region lagos-1 \
--role VirtualMachine \
--ssh-key my-laptop \
--private-network backend-net \
--enable-backups \
--tags env:production,team:backend \
--user-data @cloud-init.yamlVia API (Legacy)
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",
"instanceType": "vm-standard",
"image": "ubuntu-22.04",
"ssh_keys": ["my-laptop"],
"tags": ["env:production"],
"backups": true
}'Via API (Recommended)
curl -X POST https://api.fugoku.com/v1/servers \
-H "Authorization: Bearer $FUGOKU_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": {
"type": "servers",
"attributes": {
"name": "web-1",
"hostname": "web-1.example.com",
"site": "lagos-1",
"instanceType": "vm-standard",
"operating_system": "ubuntu-22.04",
"billing": "hourly",
"role": "VirtualMachine",
"provider": "latitude",
"ssh_keys": ["my-laptop"],
"tags": [{ "key": "env", "value": "production" }]
}
}
}'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 appPass this to --user-data:
fugoku create server \
--name web-1 \
--plan vm-standard \
--image ubuntu-22.04 \
--region lagos-1 \
--role VirtualMachine \
--user-data @setup.yamlSSH Access
Upload SSH Keys
Console: Account → SSH Keys → Add Key
CLI:
fugoku ssh-keys add --name laptop ~/.ssh/id_rsa.pubAPI:
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.178SSH directly:
# With CLI (manages keys automatically)
fugoku ssh web-1
# Manual SSH
ssh ubuntu@102.89.45.178Troubleshooting 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/32Permission 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: Server detail → Actions menu
CLI:
# Stop instance (free while stopped, data preserved)
fugoku servers stop web-1
# Start instance
fugoku servers start web-1
# Reboot instance
fugoku servers reboot web-1API:
curl -X POST https://api.fugoku.com/v1/servers/web-1/actions \
-H "Authorization: Bearer $FUGOKU_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": {
"type": "actions",
"attributes": { "action": "power_off" }
}
}'Billing note: Stopped instances only incur storage charges (~$0.10/GB/mo).
Resize Instance
Change CPU/RAM (requires reboot):
Console: Server detail → Upgrade tab → Select new plan → Confirm
CLI:
fugoku servers upgrade web-1 --plan m4.metal.smallProcess:
- Server status changes to
migrating - Plan changes
- Server restarts with new resources
- Downtime: ~60 seconds
Rebuild Instance
Reinstall OS (destroys all data, keeps IP):
Console: Server detail → Actions → Rebuild
CLI:
fugoku servers rebuild web-1 --image ubuntu-24.04Use cases:
- Start fresh after compromise
- Switch to different OS
- Reset to clean state
Delete Instance
Permanently destroy instance and all data.
Console: Server detail → Actions → Delete
CLI:
fugoku instances delete web-1 --confirmRecovery: Deleted instances are not recoverable. Take snapshot first.
Monitoring & Metrics
View Metrics
Console: Server 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 KbpsAPI:
curl https://api.fugoku.com/v1/servers/web-1/metrics?period=1h \
-H "Authorization: Bearer $FUGOKU_API_TOKEN"Set Up Alerts
Console: Server 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.comBackups & Snapshots
Manual Backups
Console: Server detail → Backups tab → Create backup
CLI:
fugoku backups create web-1 --name before-upgradeRestore:
fugoku backups restore backup-abc123Automatic Backups
Console: Server detail → Backups tab → Enable Automatic
CLI:
fugoku backups enable \
--instance web-1 \
--schedule daily \
--time 02:00 \
--retention 7Schedule options:
- hourly (keep last N hours)
- daily (keep last N days)
- weekly (keep last N weeks)
Cost: $0.05/GB/month for backup storage
Networking
Public IP
Every instance gets a public IPv4 by default.
View IP:
fugoku instances get web-1 | grep ipFloating 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.200Private Networking
Connect instances on isolated VLANs.
Create network:
fugoku networks create \
--name backend \
--subnet 10.10.0.0/24 \
--region lagos-1Attach instance:
fugoku networks attach backend --instance web-1Instance 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
topand 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=directNetwork 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+ MbpsSecurity Best Practices
- Disable password auth, use SSH keys only
- Use firewall rules - restrict port 22 to your IP
- Enable automatic updates:
sudo apt install unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades - Use private networks for internal services
- Enable backups before major changes
- Rotate SSH keys quarterly
- 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
- Documentation: docs.fugoku.com
- Support: support@fugoku.com
- Status: status.fugoku.com
- Discord: discord.gg/fugoku
Next Steps:
- Explore GPU Compute for AI/ML workloads
- Set Up Block Storage for additional capacity
- Configure Private Networks for isolation
- Use the API for automation