Docs v1.0

Documentation

Build on CloudVantage

Everything you need to provision, manage, and scale your cloud infrastructure — from signing up to running production workloads.

Start here

Compute

Storage

Networking

Managed Services

Coming soon

VPN

Encrypted site-to-site tunnel connections.

Coming soon
Object Storage

Scalable storage for images, videos, backups, and assets.

Coming soon
API Reference

Full REST API documentation and interactive explorer.

Coming soon
CLI Reference

Command-line tools for scripting and automation.

Coming soon
Home/Introduction

Overview

Who is CloudVantage?

Cloudvantage is a fast, reliable, and scalable cloud provider solutions that help businesses deploy infrastructure with just a few clicks.

CloudVantage provides fast, reliable, and scalable cloud solutions that enable businesses and organisations to deploy servers and infrastructure with just a few clicks. With CloudVantage, you can easily create and manage virtual machines (Dews), networks, storage, and other cloud resources needed to run your applications efficiently.

CloudVantage allows you to scale and customise your servers easily, providing flexibility and efficient resource utilisation. Whether you are running a small web application or a large-scale enterprise system, CloudVantage gives you the tools to deploy and manage infrastructure confidently.

Key concepts

Familiarise yourself with these terms first — they are used throughout the documentation and will help you navigate it more easily.

TermDescription
DewA virtual server (VM) hosted in the cloud. Functions like a traditional machine but is fully managed on the CloudVantage platform. Configurable with different CPU, memory, and storage specifications called flavors. Common uses: hosting applications and websites, running databases, processing data, file storage, and network services.
WalletPrepaid balance used to pay for all resources. Must have sufficient funds before provisioning. Charges are deducted immediately when a resource is created; deleting a resource before the billing period ends triggers a refund for the unused time, returned directly to your wallet.
ProjectAn organisational unit that groups your cloud resources together. Project names must be unique platform-wide and a description is required. You can create multiple projects to separate different workloads and switch between them using the project selector on the top bar.
FlavorA server size configuration defining vCPUs, RAM, and disk. CloudVantage offers predefined flavors (e.g., Vantage Nano: 1 vCPU / 1 GB RAM / 30 GB disk) and supports custom flavors for specific workload requirements. Disk size cannot be reduced once allocated — only increased.
SnapshotA point-in-time backup. Server snapshots capture the entire instance state (data, system configuration, current state). Volume snapshots capture a storage volume. Both can be used to restore or create new resources.
Floating IPA publicly routable IP address that can be assigned to a private instance to make it accessible from the internet. Maximum 3 per project. Contact support if you require additional Floating IPs.
Security GroupA virtual firewall that controls inbound (ingress) and outbound (egress) network traffic to and from your servers. When a Dew is provisioned, two groups are automatically created: a default group (allows all outbound) and a group with port 22 (SSH) open.
RouterEnables communication between different networks and to external networks. Automatically connected to the external network upon creation. Interfaces connect routers to private subnets, enabling traffic to flow between subnets and out to the internet.
VolumeA persistent virtual storage device (like a hard drive) that can be attached to a Dew. Data persists independently of the VM's lifecycle — even if the server is restarted or terminated. Must be detached before it can be deleted.
Load BalancerDistributes incoming traffic across multiple backend servers. Consists of a Listener (accepts traffic), a Pool (group of backends), Pool Members (individual servers), and a Health Monitor (checks backend health).
Auto Scaling GroupAutomatically adjusts the number of running VMs based on demand using CPU and RAM thresholds. Integrates with a Load Balancer for traffic distribution and health monitoring.
Certificate ManagerSecure vault for SSL/TLS certificates. Certificates stored here are used by Load Balancers (TERMINATED HTTPS) and Auto Scaling Groups. Certificates cannot be downloaded after upload.

Quick start path

  1. Register at www.cloudvantage.com.ng and verify your email address before signing in.

  2. Projects help you organise and manage your cloud resources. You'll be prompted to create one immediately after signing in for the first time. Project names must be unique platform-wide and a description is required.

  3. CloudVantage uses a prepaid wallet model. A virtual bank account is automatically created for you at registration. You must fund your wallet before provisioning any resources. Charges are deducted from your wallet immediately when a resource is created; unused time is refunded when you delete a resource.

  4. Create a virtual server (Dew) with your chosen operating system, size (flavor), authentication method, and network configuration.

Platform overview

The CloudVantage platform is organised into the following sections, all accessible from the sidebar navigation:

  • Compute — Dews (virtual servers), Server Snapshots, Auto Scaling
  • Storage — Volumes, Volume Snapshots, Volume Backups
  • Networking — Private Networks, Security Groups, Routers, Floating IPs, Load Balancer
  • Security — Certificate Manager
  • Account — Billing, Event Logs, Settings, Support
Home/Getting Started/Creating an Account

Getting Started

Creating an Account

Register on CloudVantage to access your dashboard and begin provisioning resources.

To begin using the CloudVantage platform, you need to create an account at www.cloudvantage.com.ng.

Registration steps

  1. Visit the platform

    Go to www.cloudvantage.com.ng.

  2. Click My Account

    Select My Account from the top navigation menu.

  3. Register or sign in

    Click Create an Account if you're new. Existing users sign in with their email address and password.

  4. Complete registration

    Enter all required details on the registration page and click Create Account.

  5. Verify your email

    A verification email will be sent to your registered address. Open it and confirm your account before signing in.

ℹ️
Email confirmation required

Your account won't be active until you confirm it via the verification email. Check your spam folder if the email doesn't arrive within a few minutes.

Once signed in, you'll be prompted to create a project. Continue to Projects →

Getting Started

Projects

Isolated workspaces that organise your cloud resources. Every server, volume, and network belongs to a project.

Projects are the primary organisational unit on CloudVantage. Every resource you create — Dews, volumes, networks, load balancers — belongs to a specific project. You can create multiple projects to separate different workloads or environments (e.g., development, staging, production).

Creating your first project

After signing in for the first time, you'll be automatically prompted to create a project before accessing your dashboard.

  1. Enter a project name

    Choose a unique name. Project names must be unique across the entire platform.

  2. Provide a description

    A description is required. Use it to identify this project's purpose or environment (e.g., "Production web infrastructure").

  3. Click Create Project

    You'll be redirected to your dashboard where you can start provisioning resources.

⚠️
Project names must be unique platform-wide

If the name is already taken, you'll receive an error. Choose a different, more specific name (e.g., include your company name or environment).

Editing your current project

  1. Click Manage Project

    Select Manage Project from the sidebar.

  2. Update details

    Edit the project name or description as needed.

  3. Save changes

    Click Save to apply the changes.

Creating additional projects

You can create multiple projects to separate different workloads or environments.

  1. Open the project selector

    Click your current project name in the top bar.

  2. Select Create New Project

    Enter a unique project name and a required description.

  3. Click Create Project

    Switch between projects at any time using the project selector in the top bar.

ℹ️
Resources are project-scoped

Resources created in one project are not visible or accessible from other projects. This isolation makes projects ideal for separating environments like development and production.

Home/Getting Started/Funding Your Wallet

Getting Started

Funding Your Wallet

CloudVantage uses a prepaid wallet model. You must have sufficient balance before provisioning any resource.

When you register, a virtual bank account is automatically created for you. All resource costs are deducted from your wallet balance immediately upon provisioning. If you delete a resource before the billing period ends, the unused portion is refunded directly to your wallet.

How to fund your wallet

  1. Click Fund Wallet

    Click the Fund Wallet button in the top-right corner of your dashboard.

  2. View your virtual account details

    Your virtual bank account number and other details will be displayed on screen.

  3. Copy the account details

    Copy the account number and bank details for your transfer.

  4. Make a payment

    Transfer the desired amount using the provided account details. Once payment is confirmed, the funds will reflect in your CloudVantage wallet balance.

ℹ️
Keep your wallet funded

If your balance runs low or reaches zero, resource provisioning and Auto Scaling events may be interrupted. Monitor your balance regularly from the Fund Wallet button.

🚫
Non-payment will result in server shutdown and permanent deletion

When your billing period ends, you have a 15-day grace period to make payment. If payment is not received within 15 days, your server will be shut down. If payment is still not made after a further 45 days, your server will be permanently deleted and decommissioned — all data will be lost and cannot be recovered. Ensure your wallet is funded before your billing period ends to avoid any interruption or data loss.

Switching billing currency

CloudVantage allows you to switch your billing currency between Naira (₦) and US Dollars ($).

  1. Click Fund Wallet

    In the top-right corner of your dashboard.

  2. Click Currency Settings

    Click Currency Settings below the account information.

  3. Switch currency

    Select Switch to Dollar to change billing from Naira to USD, or the reverse to switch back.

ℹ️
Also accessible from Settings

Currency preferences can also be changed at cloudvantage.com.ng/settings.

Home/Compute/Dews (Servers)

Compute

Dews (Servers)

Virtual servers that provide the computing resources required to run applications and services on CloudVantage.

Dews function like traditional machines but are hosted in the cloud. They can be configured with different amounts of CPU, memory, and storage depending on your workload requirements. CloudVantage allows you to scale and customise your servers easily, providing flexibility and efficient resource utilisation.

Common use cases

  • Hosting applications and websites
  • Running databases
  • Processing and transforming data
  • File storage and backup targets
  • Network services (DNS, VPN endpoints, proxies)
  • Continuous integration / build servers

3.1 Provisioning a Dew

ℹ️
Pay-as-you-go billing

When you provision a Dew, the full amount for the selected billing term is deducted from your wallet immediately. Ensure sufficient funds are available before proceeding.

🚫
Missed payments will lead to shutdown and permanent data loss

When your billing period expires, you have a 15-day grace period to renew. After 15 days without payment, your server is shut down. After a further 45 days without payment, your server is permanently deleted and all data is lost with no possibility of recovery. Always ensure your wallet has sufficient funds before your billing period ends.

  1. Navigate to your Dashboard

    Click Resources, then select Create Dew.

  2. Select a plan

    You will see a list of available server plans (flavors) with their specifications and pricing. Example plans include:

    • Vantage Nano — 1 vCPU, 1 GB RAM, 30 GB Disk
    • Additional flavors with increasing CPU/RAM/disk are available
    • Custom flavors can be created to match specific requirements

    Select your desired plan and click Configure to proceed.

  3. Configure your server

    Set the following options:

    • Term Length — select your preferred billing period (monthly or yearly)
    • Operating System — choose your OS and version: Ubuntu, CentOS, Debian, Windows, and others. Example: Ubuntu 22.04 LTS
    • Instance Name — enter a name to identify this Dew within your project
  4. Choose an authentication method

    See Authentication Methods below.

  5. Configure the network

    Select one of the following options:

    OptionAccessibilityWhen to use
    Public NetworkAccessible from the internet — server receives a public IP addressWeb servers, APIs, or any service that needs to be reached externally
    Private NetworkInternal only — not reachable from the internetDatabases, backend services, or instances you want to keep off the public internet. A private network must already exist in your project. You can assign a Floating IP later if external access is needed.
  6. Review and provision

    Review the server configuration summary and price. Ensure your wallet has sufficient funds, then click Provision. Your new Dew will be created shortly.

Authentication methods

1. SSH Key Authentication (Recommended)

Select an existing keypair or create a new one. The keypair will be downloaded as a .pem file. Keep this file secure — it is required to access your server and cannot be retrieved from the platform again.

  • Select from Existing Keypairs — click "Select from Existing Keypairs" and choose from the dropdown
  • Create a New Keypair — click "Create New Keypair", enter a name, click "Create Key". The .pem file downloads automatically.

2. Password Authentication

Enter and confirm a password. The login username will be automatically generated for you.

🚫
Your keypair is generated once — you cannot get it again

When a new SSH keypair is created, the .pem file is available for download at that moment only. It is never stored on the platform and cannot be recovered if lost. Before proceeding to the next step, confirm you have downloaded and saved the file in a secure location. If you lose it, you will be unable to SSH into the server and will need to rebuild it.

3.2 Viewing Dew Information

To view details of any provisioned Dew:

  1. Locate the Dew on your Dashboard
  2. Click the Dew name

    A panel will appear displaying: public or private IP address, flavor specification, operating system, keypair used for authentication, and network configuration.

3.3 Monitoring & Metrics

You can monitor the performance of each provisioned Dew through the metrics dashboard. The platform provides visual graphs for the following metrics:

CPU Usage
Processor utilisation %
Memory Usage
RAM consumption %
Disk Usage
Storage consumption %
Egress Usage
Outbound traffic

You can filter metrics by selecting a start and end date to analyse usage within a specific period.

  1. Locate the instance on your dashboard
  2. Click Show Metrics

    Click Show Metrics next to the instance.

  3. View and filter

    The metrics page will display graphs for CPU, memory, disk, and egress. Use the date range selectors to analyse a specific period.

3.4 Alarms

Alarms notify you by email when resource usage exceeds defined thresholds. You can configure CPU, RAM, and disk thresholds independently and control how often notification emails are sent.

ℹ️
One alarm per instance

You can create only one alarm per Dew instance. Configure all thresholds within that single alarm configuration.

Creating an alarm

  1. Click Show Metrics

    Locate the instance and click Show Metrics.

  2. Select Alarming

    On the Metrics page, click the Alarming tab.

  3. Click New Alarm and configure
    • CPU Threshold (%) — trigger level for CPU usage alerts
    • RAM Threshold (%) — trigger level for memory usage alerts
    • Disk Threshold (%) — trigger level for disk usage alerts
    • Notification Frequency — how often alert emails are sent while the threshold is breached
    • Maximum Emails Per Day — cap on daily alert emails to prevent inbox flooding
    • Statistic Type — Average, Maximum, or Minimum measurement used for threshold evaluation
    • Email Recipient — primary alert email address
    • CC Emails — optional additional recipients

Updating an alarm

  1. Click Show Metrics next to the instance
  2. Select Alarming → Edit Alarm

    Locate the alarm and click Edit Alarm.

  3. Update and save

    Update the required fields and click Save.

Deleting an alarm

  1. Click Show Metrics next to the instance
  2. Select Alarming → Delete Alarm
  3. Confirm

    The instance will no longer send alert notifications.

3.5 Resizing a Dew

Resizing a Dew allows you to adjust the resources allocated to it (vertical scaling). You can increase or decrease vCPUs and RAM, but disk size cannot be reduced once allocated — only increased.

OptionDescription
Resize to a Preconfigured FlavorChoose from a predefined list of flavors offering different CPU/RAM/disk combinations.
Resize to a Custom FlavorManually specify vCPU count and RAM. Disk size can only be increased, not decreased.
  1. Open Manage

    Locate the Dew and click Manage next to the instance.

  2. Select Resize

    Click Resize Instance to open the resize configuration page.

  3. Select option and configure

    Select your preferred resizing option (preconfigured or custom) and set the desired resources.

  4. Click Initiate Resize

    The platform will begin the resize operation.

  5. Confirm or stop

    A confirmation dialog appears. Click Confirm Resize to apply or Stop Resize to revert.

⚠️
Do not refresh during resize

Do not refresh the page until you have either confirmed or cancelled the resize operation. Refreshing prematurely may leave the Dew in an intermediate state.

3.6 Shutting Down & Restarting a Dew

You can shut down a running Dew at any time from the dashboard. A shut-down Dew becomes inactive but is not deleted — it continues to exist in your project and can be restarted whenever needed.

Shutting down a Dew

  1. Locate the Dew on your dashboard
  2. Click Manage next to the instance
  3. Select Shutdown Server

    The server will power off and its status will change to Inactive.

Restarting a Dew

  1. Locate the inactive Dew on your dashboard
  2. Click Manage next to the instance
  3. Select Restart Server

    The server will boot back up and its status will return to Active.

3.7 Deleting a Dew

Deleting a Dew permanently removes it from your project. Any unused time remaining in the billing period will be refunded to your wallet.

🚫
Deletion is permanent and cannot be undone

Once a Dew is deleted, it cannot be recovered. If you need to preserve its state, create a snapshot before deleting.

  1. Locate the Dew on your dashboard
  2. Click Manage next to the instance
  3. Select Delete Server
  4. Confirm the action

    A confirmation prompt will appear. Confirm to permanently delete the server.

Home/Compute/Server Snapshots

Compute

Server Snapshots

A point-in-time backup of an entire virtual machine — capturing its data, system configuration, and current state.

Snapshots allow you to restore an instance in the event of data loss, a system failure, or issues arising from an update. The snapshot captures the full state of the Dew at the moment it is taken, including all files, installed packages, configuration, and running state.

Common uses for server snapshots:

  • Pre-upgrade checkpoints — take a snapshot before applying major updates or changes
  • Disaster recovery — restore an instance to a known-good state after failure
  • Cloning — launch multiple identical servers from a single snapshot template
  • Migration — move a server configuration to a new instance with different resources

4.1 Creating a Server Snapshot

  1. Locate the instance

    Find the Dew you want to snapshot on your dashboard.

  2. Open Manage

    Click the Manage icon next to the instance.

  3. Select Create Snapshot
  4. Enter a name

    Enter a descriptive name for the snapshot (e.g., prod-web-pre-upgrade-2025-01).

  5. Choose a payment option

    Select monthly or yearly billing for snapshot storage.

  6. Click Create Snapshot

    Snapshot creation may take several minutes depending on disk size.

4.2 Viewing Snapshots

Navigate to Server Snapshots on the sidebar. This page displays a list of all snapshots created for your Dews, showing: snapshot name, OS Distro, creation date, size, and status.

4.3 Managing Snapshots

Click Manage Snapshot next to any snapshot. Available actions include:

  • Create a Volume from Snapshot — extract the snapshot's data as a new volume
  • Edit Snapshot — update the name or description
  • Launch a New Dew from Snapshot — spin up a new server using this snapshot as its disk image
  • Delete Snapshot — permanently remove the snapshot (irreversible)

Launching a Dew from a Snapshot

  1. Go to Server Snapshots from the sidebar
  2. Click Manage Snapshot → Launch

    Select Launch next to the snapshot you want to use.

  3. Proceed through the Dew creation process

    Configure the new Dew as needed (flavor, authentication, network) and provision it.

Creating a Volume from a Snapshot

  1. Click Server Snapshots on the sidebar
  2. Click Manage Snapshot → Create Volume from Server Snapshot
  3. Provide details

    Enter Volume Name, Volume Size (cannot be smaller than the snapshot size), Payment Option, and an optional Description.

  4. Click Create Volume

    The new volume will appear on the Volumes page, ready to attach to any instance.

Deleting a Snapshot

  1. Navigate to Server Snapshots
  2. Click Manage Snapshot → Delete Snapshot
  3. Confirm

    Once deleted, the snapshot is permanently removed and cannot be recovered. Ensure you no longer need it before proceeding.

Home/Compute/Auto Scaling

Compute

Auto Scaling

Automatically adjust the number of running VMs based on demand — scaling up during traffic spikes and down during quiet periods.

Auto Scaling automatically adjusts the number of virtual machines running your application based on demand. Instead of manually provisioning or removing servers, the platform continuously monitors resource usage and automatically increases or decreases instances as needed.

  • High availability — maintain service during periods of increased traffic without manual intervention
  • Cost efficiency — automatically scale down during low-demand periods to avoid paying for idle capacity
  • Reduced operational overhead — eliminate the need to manually monitor and adjust server counts

5.1 Infrastructure & Networking

These settings form the template for every server the Auto Scaling Group launches. All instances in the group are created from the same configuration.

SettingDescription
ImageA snapshot of an existing instance containing your fully configured application. Ensure your application is running correctly before taking the snapshot. This becomes the disk image for all instances launched by the group.
FlavorVM size (CPU, memory, disk). All instances in the group use the same flavor. Choose a flavor sized for your application's peak load requirements.
Key PairSSH key pair used to access all instances created by the Auto Scaling Group.
VM NameBase name for instances. The platform appends unique identifiers automatically — e.g., web-server becomes web-server-01, web-server-02.
NetworkPrivate network where instances will be deployed. All instances join this network.
SubnetSubnet within the private network. Ensure it has enough available IP addresses to accommodate your maximum instance count.
Security GroupsSecurity groups defining network access. Ensure required ports are open: SSH (22), HTTP (80), HTTPS (443), and any application-specific ports.
Application PortPort your application listens on (e.g., 80, 443, 8080). Used by the Load Balancer when adding pool members and by Health Monitoring to check instance status.

5.2 Scaling & Capacity Management

These settings control when and how the Auto Scaling Group adds or removes instances in response to demand.

SettingDescription
Minimum SizeThe minimum number of instances that must always remain running. The system never scales below this number. Set to at least 1 (or 2 for high availability).
Maximum SizeMaximum number of instances that can run simultaneously. Prevents uncontrolled scaling that could exhaust your wallet balance.
Desired CapacityInitial number of instances launched when the Auto Scaling Group is first created. The group scales up or down from this starting point.
Cooldown PeriodHow long (seconds) the system waits after a scaling action before evaluating whether to scale again. Prevents rapid repeated scaling ("flapping"). Typical value: 300 seconds (5 minutes).

Scaling policies

SettingDescription
Scale Up AdjustmentNumber of instances added when a scale-up threshold is triggered. Set to 1 for gradual scaling, higher for faster response to traffic spikes.
Scale Down AdjustmentNumber of instances removed when a scale-down condition is met. Lower values (e.g., 1) are safer and reduce the risk of over-aggressive scale-down.
Scaling CooldownStabilisation period between scaling actions. After adding or removing instances, the system waits this duration before re-evaluating.

CPU-based scaling rules

SettingDescription
CPU Scale Up Threshold (%)Average CPU usage % that triggers adding more instances (e.g., 70%). When average CPU across all running instances exceeds this value for the configured evaluation periods, a scale-up action is triggered.
CPU Scale Down Threshold (%)Average CPU usage % below which instances are removed (e.g., 30%). When usage consistently stays below this value, a scale-down action is triggered.
CPU Evaluation PeriodsNumber of consecutive monitoring intervals the threshold must be exceeded before scaling occurs. Higher values prevent premature scaling from temporary spikes — e.g., value of 3 means threshold must be exceeded in 3 consecutive checks.

Memory (RAM) based scaling rules

SettingDescription
RAM Scale Up Threshold (%)Triggers a scale-up when average memory usage across instances exceeds this percentage.
RAM Scale Down Threshold (%)Triggers a scale-down when average memory usage falls below this percentage.
RAM Evaluation PeriodsNumber of consecutive checks required before a memory-based scaling action is triggered. Prevents scaling due to temporary memory spikes.

5.3 Traffic Management & Health Monitoring

The Auto Scaling Group integrates with a Load Balancer to distribute traffic across instances and verify their health.

SettingDescription
Listener ProtocolHow users connect — HTTP, HTTPS, or TCP. HTTPS requires an SSL certificate in Certificate Manager first.
Listener PortPort exposed to users (e.g., 80 for HTTP, 443 for HTTPS).
Pool ProtocolProtocol between Load Balancer and backend instances. Default is HTTP — the LB handles SSL termination and forwards plain HTTP to backends.
Load Balancing AlgorithmHow traffic is distributed: Round Robin (evenly in sequence) or Least Connections (to the instance with fewest active connections).
Health Check TypeHTTP — sends a request to a URL path and checks the response code. TCP — attempts a connection on the application port.
Delay (seconds)Time between health check attempts. Lower values detect failures faster but generate more traffic.
Timeout (seconds)Max time to wait for a health check response before marking the check as failed. Must be less than Delay.
RetriesNumber of consecutive failed checks before an instance is marked unhealthy and removed from the pool.
Health Check URL PathEndpoint for HTTP checks (e.g., /health, /status, /ping). Must return a successful HTTP response code.
Expected HTTP CodesHTTP response codes considered healthy (e.g., 200, 200-299).

5.4 Editing an Auto Scaling Stack

The following settings are locked after creation. If you need to change these, you must delete and recreate the Auto Scaling Group:

  • Image (snapshot template)
  • Flavor (VM size)
  • Key Pair (SSH access)
  • Network and Subnet
  • Security Groups

All other parameters — scaling thresholds, capacity limits, cooldown periods, health check settings, and traffic configuration — can be modified after creation as your workload requirements change.

5.5 Pricing & Billing

Resources created within an Auto Scaling Group are billed the same way as standalone resources. Each instance and its associated load balancer pool member incur standard platform charges.

⚠️
Maintain sufficient wallet balance

Ensure your wallet always has enough balance to cover your maximum instance count plus their pool members. For example, with maximum size 5 and 5 pool members, your wallet should cover all 10 resources at maximum scale. Insufficient funds will interrupt Auto Scaling events.

Home/Storage/Volumes

Storage

Volumes

Virtual storage devices that function like hard drives attached to a cloud VM — persisting data independently of the VM's lifecycle.

A Volume is a persistent block storage device that can be attached to a Dew. Unlike the Dew's built-in disk, a Volume exists independently — data persists even if the server is restarted or terminated. Volumes can be detached from one Dew and reattached to another.

6.1 Creating a Volume

  1. Click Volumes on the sidebar

    Select Volumes from the dropdown menu.

  2. Click Create Volume

    In the top-right corner of the Volumes page.

  3. Enter details

    Enter the Name, Size (in GB), and Payment Option (Monthly or Yearly). Review the estimated cost before confirming.

  4. Click Create Volume

    Ensure your wallet has sufficient funds before proceeding.

6.2 Attaching and Detaching Volumes

Attaching a volume to an instance

  1. Navigate to Volumes from the sidebar
  2. Locate the volume and click Manage Volume
  3. Select Attach to Instance

    Choose the target instance from the dropdown and click Attach. The volume will appear as a new block device on the server (e.g., /dev/vdb).

Detaching a volume from an instance

  1. Navigate to Volumes from the sidebar
  2. Click Manage Volume for the volume
  3. Select Detach from Instance

    Confirm the detachment. The volume will move to "Available" status and can be attached to a different instance or deleted.

6.3 Deleting a Volume

  1. Navigate to Volumes from the sidebar
  2. Locate the volume, click Manage Volume, then select Delete Volume
  3. Confirm the action
⚠️
Detach before deleting

A volume must be detached from any instance (status must be Available) before it can be deleted. Attempting to delete an in-use volume will fail.

6.4 Volume Snapshots

A Volume Snapshot is a point-in-time copy of a storage volume. It preserves the exact state of the volume's data at the moment it is taken, and can be used to create a new volume from that saved state.

ℹ️
Volume must be Available

Volume snapshots can only be created when the volume status is Available. If the volume is currently In Use (attached to an instance), you must detach it first.

Creating a volume snapshot

  1. Navigate to Volumes → Volumes from the sidebar
  2. Locate the volume, click Manage Volume → Create Volume Snapshot
  3. Enter details

    Enter a Snapshot Name, Description, and Payment Option. The size is auto-populated from the source volume.

  4. Click Create Volume Snapshot

    The snapshot will appear on the Volume Snapshots page.

Editing a volume snapshot

  1. Navigate to Volumes → Volume Snapshots from the sidebar
  2. Click Manage Volume Snapshot → Edit Volume Snapshot
  3. Update Name or Description and click Update Snapshot

Creating a new volume from a snapshot

  1. Navigate to Volumes → Volume Snapshots
  2. Click Manage Volume Snapshot → Create Volume
  3. Fill in details

    Enter Volume Name, Size (must be ≥ snapshot size), Billing Plan, and optional Description.

  4. Click Create Volume

    The new volume will be listed on the Volumes page, ready to attach.

Deleting a volume snapshot

  1. Navigate to Volumes → Volume Snapshots
  2. Click Manage Volume Snapshot → Delete Volume Snapshot and confirm

6.5 Volume Backups

A Volume Backup is a secure, independent copy of your volume stored separately from your running system. Unlike snapshots (which are tied to the volume's lifecycle), backups exist independently — making them suitable for longer-term data protection and disaster recovery.

ℹ️
Backups work while attached

Unlike snapshots, volume backups can be created while the volume is attached and the server is running. You do not need to detach the volume first.

Creating a volume backup

  1. Navigate to Volumes → Volumes from the sidebar
  2. Locate the volume, click Manage Volume → Create Volume Backup
  3. Enter details

    Enter a Backup Name, Description, and Payment Option. The size is auto-populated.

  4. Click Create Volume Backup

    The backup will appear on the Volume Backups page.

Restoring a volume from a backup

  1. Navigate to Volumes → Volume Backups
  2. Click Manage Backup → Restore Backup
  3. Choose destination
    • New Volume — enter a name for the new volume to be created from the backup
    • Existing Volume — select a volume from the dropdown to overwrite it with the backup data

    Click Restore to confirm.

Deleting a volume backup

  1. Navigate to Volumes → Volume Backups
  2. Click Manage Volume Backup → Delete Volume Backup and confirm
Home/Networking/Private Networks

Networking

Private Networks

Allows your servers to communicate securely with each other within your cloud environment without exposing traffic to the public internet.

A Private Network allows your servers to communicate securely with each other within your cloud environment. Traffic between servers on the same private network stays internal — it is never exposed to the public internet. You can attach private network instances to routers and assign them Floating IPs when external access is needed.

Creating a Private Network

  1. Click Networks on the sidebar → Private Networks
  2. Click Create Network

    In the top-right corner.

  3. Enter a Network Name and optional Description

    Choose a name that identifies this network's purpose (e.g., prod-network, backend-db-net).

  4. Click Create Network

Viewing Network Details

  1. Click Networks → Private Networks
  2. Click Manage Network → View Network Details

    Displays the network's configuration, attached subnets, and connected resources.

Editing a Private Network

  1. Go to Networks → Private Networks
  2. Click Manage Network → Edit Network
  3. Update the network name and/or description and click Update Network

Managing Subnets

A subnet defines the IP address range that servers within a private network can use. Only one subnet can be created per private network. The subnet uses CIDR notation to define its IP range.

ℹ️
One subnet per network

Each private network supports only one subnet. Plan your IP address range carefully before creating it, as the CIDR and IP version cannot be changed after creation.

Creating a Subnet

  1. Go to Networks → Private Networks

    Locate the network and click Manage Network → Create Subnet.

  2. Configure the subnet
    • Subnet Name — a descriptive label
    • Network Address (CIDR) — the IP range in CIDR notation (e.g.,192.168.10.0/28). Use RFC 1918 private ranges: 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16. Ensure CIDRs do not overlap with other networks in your environment.
    • DHCP — enable automatic IP assignment for connected instances. Enabled by default. Recommended for most use cases.
    • Allocation Pools — optionally restrict which IPs within the range are auto-assigned via DHCP
    • DNS Name Servers — optionally specify DNS servers (e.g., 8.8.8.8, 8.8.4.4)
  3. Click Create Subnet

Editing a Subnet

Only the subnet name can be modified after creation. To change the CIDR, IP version, or other core settings, delete and recreate the subnet.

  1. Go to Networks → Private Networks → Manage Network → View Network Details → Subnets tab
  2. Click Manage Subnet → Edit Subnet

    Update the name and save.

Deleting a Subnet

  1. Navigate to Networks → Private Networks → Manage Network → View Network Details → Subnets tab
  2. Click Manage Subnet → Delete Subnet and confirm

Deleting a Private Network

⚠️
Disconnect all instances first

Before deleting a network, ensure no instances or ports are connected to it. Attempting to delete a network with active connections will fail. The same applies to deleting a subnet.

  1. Go to Networks → Private Networks

    Click Manage Network → Delete Network and confirm.

Home/Networking/Security Groups

Networking

Security Groups

A virtual firewall for servers, controlling both inbound and outbound network traffic using rules you define.

A Security Group acts as a virtual firewall for your servers, controlling which network traffic is allowed to reach them (ingress) and which traffic they are allowed to send out (egress). Rules within a security group specify the protocol, port range, and source or destination of allowed traffic.

When a Dew is provisioned, two security groups are automatically created:

  • The default security group — allows all outbound (egress) traffic
  • A server-specific group with port 22 (SSH) open for remote access
ℹ️
Default group cannot be deleted

The default security group cannot be deleted, but it can be detached from instances. You can create additional security groups and attach them as needed. A Dew can have multiple security groups attached simultaneously — rules from all attached groups are combined.

Creating a Security Group

  1. Click the Networks tab → Security Groups
  2. Click Create Security Group
  3. Enter a name and description, then click Create Security Group

    Use descriptive names that identify the group's purpose (e.g., web-servers, database-access, allow-https-only).

Creating a Security Group Rule

  1. Click Manage Rule next to the security group → Add New Rule
  2. Configure the rule
    • Rule Type — predefined rules (SSH, HTTP, HTTPS, etc.) auto-fill the port and protocol. Select Custom TCP or Custom UDP to specify your own values.
    • DirectionIngress controls inbound traffic; Egress controls outbound traffic.
    • EtherType — select IPv4 for most use cases.
    • Port Range — auto-fills based on rule type, or specify manually. Enter a single port (e.g., 8080) or a range (e.g., 8000-8999).
    • Remote — source (ingress) or destination (egress). This can be specified as:
    • CIDR block — e.g., 0.0.0.0/0 for anywhere, 203.0.113.0/24 for a range, 192.168.1.50/32 for a single IP
    • Security Group — restrict to traffic from instances in another security group
    • Description — optional label to document the rule's purpose
  3. Click Submit

Attaching or Detaching Security Groups

  1. Click Manage Rules next to the security group
  2. Choose Attach to Instance or Detach from Instance

    Select the target instance from the dropdown and attach or detach.

Deleting Security Groups and Rules

To delete a rule, click the delete icon next to it and confirm. To delete an entire security group, first ensure it is not attached to any Dew.

Common rules reference

Rule TypeProtocolPortDirectionSourceUse Case
SSHTCP22IngressYour IP / 0.0.0.0/0Remote server access via SSH
HTTPTCP80Ingress0.0.0.0/0Public web traffic
HTTPSTCP443Ingress0.0.0.0/0Secure public web traffic
Custom TCPTCP3306IngressApp server CIDRMySQL database access
Custom TCPTCP5432IngressApp server CIDRPostgreSQL database access
Custom TCPTCP6379IngressApp server CIDRRedis cache access
Custom TCPTCP8080Ingress0.0.0.0/0Application server (alternate HTTP)
Custom UDPUDP53IngressSpecific CIDRDNS queries
ICMPICMPAllIngressSpecific CIDRAllow ping / network testing
All TCPTCP1–65535IngressPeer network CIDRAllow all TCP from a trusted private network
⚠️
Restrict SSH access in production

Avoid opening SSH (port 22) to 0.0.0.0/0 in production environments. Restrict the source CIDR to your known IP address, or use a bastion/jump server pattern to reduce your attack surface.

Networking

Routers

Enable communication between different networks — connecting private subnets and allowing traffic to flow to external networks.

A router enables communication between different networks. Routers connect private networks and allow traffic to flow between subnets or to external networks such as the internet. When a router is created on CloudVantage, it is automatically connected to the external network, giving it a publicly routable external IP address.

To allow a server on a private network to communicate outside that network (e.g., to reach the internet or another subnet), the private subnet must be connected to a router via a router interface.

Creating a Router

  1. Click Networks → Routers

    Click Create Router in the top-right corner.

  2. Enter a Name and Description

    Choose a name that identifies this router's purpose or the networks it will connect.

  3. Click Create Router

    The router is automatically connected to the external network upon creation.

Managing a Router

Go to Networks → Routers, locate the router, and click Manage Router. Available actions:

  • View Router Details — configuration, external IP, and attached interfaces
  • Edit Router — update name or description
  • Delete Router — permanently remove (must be disconnected from all subnets first)

Creating a Router Interface

Interfaces allow a router to connect to a subnet, enabling communication between that subnet and other networks (including the internet via the router's external gateway). Without an interface, servers on a private subnet cannot reach resources outside that subnet.

  1. Go to Networks → Routers → Manage Router → View Router Details → Interfaces tab
  2. Select Create Interface

    Choose the Subnet to connect, set a Payment Option, and add an optional description.

  3. Click Create Interface

    The router will now route traffic between the connected subnet and the external network.

Deleting a Router Interface

  1. Navigate to Networks → Routers → Manage Router → View Router Details → Interfaces tab
  2. Click Delete Interface next to the interface and confirm

    Removing an interface disconnects the subnet from the router. Servers on that subnet will lose external connectivity.

Deleting a Router

⚠️
Remove all interfaces before deleting

Before deleting a router, remove all router interfaces first. Attempting to delete a router with active subnet connections will fail.

  1. Go to Networks → Routers

    Click Manage Router → Delete Router and confirm.

Home/Networking/Floating IPs

Networking

Floating IPs

Publicly routable IP addresses that can be attached to private instances, making them accessible from the internet.

A Floating IP is a publicly routable IP address that can be attached to a private instance or a load balancer, allowing it to be accessible from the internet. Floating IPs are separate from instances — you allocate the IP to your project first, then associate it with a specific resource. You can reassociate a Floating IP between resources at any time without releasing it. You just have to disassociate it from the current resource and associate it with another resource.

ℹ️
Maximum 3 Floating IPs per project

A project can have a maximum of three Floating IPs at a time. Contact support if your project requires additional Floating IPs.

Allocating a Floating IP

Allocating a Floating IP reserves it for your project. Once allocated, you can associate it with any instance or load balancer port within your project.

  1. Go to Networks → Floating IPs

    Click Allocate IP to Project.

  2. Configure

    Select the Pool (External — the public IP pool), choose a Payment Option, and add an optional Description.

  3. Click Allocate IP

    The IP address is reserved for your project and appears in your Floating IPs list.

Associating a Floating IP with an Instance

  1. Go to Networks → Floating IPs

    Click Associate Floating IP next to the IP address.

  2. Select the port

    Choose the target port from the dropdown — a Dew port or a load balancer port. Click confirm.

ℹ️
Attaching to Load Balancers

Floating IPs can be attached to Load Balancers provisioned on a private network, making them internet-accessible without placing the Load Balancer directly on the external network.

Releasing a Floating IP

Releasing a Floating IP removes it from your project entirely. The IP is returned to the public pool and is no longer available to you.

  1. Go to Networks → Floating IPs

    Click Release Floating IP next to the address and confirm.

⚠️
Update DNS before releasing

If you have DNS records pointing to a Floating IP, update them before releasing the IP. Once released, the IP may be reassigned to another user.

Home/Networking/Load Balancer

Networking

Load Balancer

Distributes incoming traffic across multiple backend servers, ensuring high availability, scalability, and resilience to failures.

A Load Balancer acts as a traffic distributor that sits between your users and backend servers. It receives incoming requests and intelligently routes them to healthy backend servers based on the configured algorithm and health monitoring rules.

Common use cases

  • High Availability — eliminate single points of failure by distributing traffic across multiple servers
  • Scalability — handle increased traffic by adding backend servers to the pool
  • SSL/TLS Termination — offload SSL/TLS encryption from backend servers to the load balancer
  • Traffic Management — route requests using different protocols and ports
  • Health Monitoring — automatically detect and remove unhealthy servers from rotation

Key components

ComponentDescription
Load BalancerThe main component that receives traffic and distributes it
ListenerDefines what traffic the load balancer accepts (protocol and port)
PoolA group of backend servers that handle requests
Pool MembersIndividual backend servers within a pool
Health MonitorChecks backend health and removes unhealthy members from rotation

Prerequisites

  • At least one running backend instance to receive traffic
  • Network configuration: access to an external or private network
  • SSL certificates uploaded to Certificate Manager (required only for TERMINATED HTTPS listeners)

Creating a Load Balancer

Navigate to Networks → Load Balancers and click Create Load Balancer. The creation wizard has five steps.

Step 1 — Load Balancer Details

Name (Required) — enter a descriptive name (e.g., production-web-lb, api-load-balancer).

IP Address (Optional) — leave blank to have an IP assigned automatically. Specifying an IP is not recommended for most deployments.

Network (Required)

  • External Network — the load balancer receives a public IP directly. Use for public-facing websites and APIs.
  • Private Network — accessible only within your private infrastructure. Use for internal services and backends. Attach a Floating IP to make it publicly accessible.

Step 2 — Listener Details

Protocol (Required)

ProtocolDefault PortSSL/TLSUse Case
HTTP80NoneUnencrypted web traffic, redirects to HTTPS, internal services
HTTPS443Backend handles SSLEnd-to-end encryption; backends need their own certificates
TERMINATED HTTPS443Load balancer terminates SSLSSL offloaded to LB; backends run plain HTTP; certificate required in Certificate Manager
TCPSpecify manuallyNoneDatabase connections, custom applications, non-HTTP services
UDPSpecify manuallyNoneDNS, streaming media, gaming servers, VoIP
SCTPSpecify manuallyNoneTelecommunications, signalling protocols
⚠️
TERMINATED HTTPS requires a certificate

Upload your SSL certificate to Certificate Manager before creating the listener. Without a valid certificate, TERMINATED HTTPS listeners cannot function.

Timeout settings

SettingDefaultDescription
Client Data Timeout50,000 msMax time to wait for client data. Increase for file uploads or streaming; decrease for high-traffic APIs.
TCP Inspect Timeout0 (disabled)Time to wait during TCP inspection. Leave at 0 for most use cases.
Member Connect Timeout5,000 msMax time to wait when connecting to a backend. Increase for slow backends or high-latency networks.
Member Data Timeout50,000 msMax time to wait for data from a backend. Increase for long-processing requests.
Connection Limit-1 (unlimited)Max concurrent connections. Use -1 for most deployments; set a limit to protect against traffic spikes.

Step 3 — Pool Details

Load Balancing Algorithm (Required)

AlgorithmHow it worksBest for
ROUND_ROBINDistributes requests sequentially to each backend in order, then repeats.Homogeneous backends; stateless applications; general-purpose load balancing.
LEAST_CONNECTIONSRoutes new requests to the server with the fewest active connections.Long-lived connections; applications with variable request duration; WebSocket; database connection pooling.
SOURCE_IPUses a hash of the client IP to consistently map to a specific backend.Applications requiring client affinity; UDP protocols.

Session Persistence (Required)

OptionDescriptionNotes
NoneNo persistence — each request can go to any available backend.Best load distribution. Use for stateless apps or apps with shared session storage (Redis, Memcached).
SOURCE_IPRoutes requests from the same client IP to the same backend.Issues with clients behind NAT.
HTTP_COOKIELoad balancer inserts a cookie to maintain backend affinity.HTTP/HTTPS only. Works well with proxies and NAT.
APP_COOKIEUses an existing cookie from your application.HTTP/HTTPS only. Requires configuring the cookie name.

Step 4 — Pool Members

Pool members are the backend servers that receive traffic. For each backend server:

FieldRequiredDescription
IP AddressYesMust be reachable from the load balancer's network. Use private IPs for private-network load balancers.
PortYesPort your backend listens on — can differ from the listener port (e.g., listener on 443, backend on 8080). Common values: 80, 443, 8080, 3000, 5000.
WeightYes (default: 1)Relative traffic proportion. Range 1–256. Weight 2 receives twice the traffic of weight 1. Set equal for even distribution.
NameNoA label for the member (e.g., web-server-1). Helpful for troubleshooting.

Weight example: Server A (weight 2) + B (weight 1) + C (weight 1) → A receives 50%, B and C each receive 25%.

Step 5 — Health Monitor

🚫
Always enable health monitoring

Without health monitoring, the load balancer won't detect failed backends and will continue sending traffic to non-functional servers.

Health monitor types:

TypeCompatible ListenersHow it works
HTTPHTTP, HTTPS, TERMINATED HTTPSSends GET request to a URL path. Expects a successful HTTP response code.
HTTPSHTTPS, TERMINATED HTTPSSame as HTTP but uses an encrypted connection.
TCPTCP, HTTP, HTTPSAttempts to open a TCP connection. Healthy if connection succeeds.
PINGAnySends ICMP echo request. Note: some networks block ICMP.
UDP-CONNECTUDPSends UDP packets and checks connectivity.
TLS-HELLOHTTPS, TERMINATED HTTPSInitiates SSL/TLS handshake. Healthy if handshake succeeds.
SCTPSCTPChecks SCTP protocol connectivity.

Health monitor settings:

SettingDefaultDescription
Delay (sec)5Time between health check attempts. Must be ≥ Timeout.
Timeout (sec)5Max time to wait for response. Must be < Delay.
Max Retries3Successful checks required before marking a server healthy (1–10).
Max Retries Down3Failed checks before marking a server unhealthy (1–10).
HTTP MethodGETHTTP method used for the health check request.
URL Path/Endpoint for HTTP checks (e.g., /health, /ping, /status).
Expected Codes200Codes considered healthy: single (200), list (200,201), or range (200-299).

After creation

  • Note the IP address — needed for DNS records or direct traffic routing
  • Monitor health checks — ensure all pool members show as healthy in the dashboard
  • Test connectivity — send test requests to verify traffic is being distributed
  • Configure DNS — point your domain name to the load balancer IP address

Best practices

High availability

  • Use at least 2 pool members — a single member defeats the purpose of a load balancer
  • Always configure health checks to detect failures automatically

Security

  • Use TERMINATED HTTPS for public services — centralises certificate management
  • Monitor certificate expiration dates in Certificate Manager
  • Keep backend servers accessible only through the load balancer where possible
  • Use private networks for backends to reduce attack surface

Performance

  • Choose the right algorithm — ROUND_ROBIN for similar-capacity servers; LEAST_CONNECTIONS for variable request durations or long-lived connections
  • Tune timeout values — balance fast failure detection with tolerance for slow responses
  • Avoid unnecessary session persistence — prefer stateless architectures with shared session storage (Redis, Memcached)
  • Adjust member weights based on server capacity

Cost optimisation

  • Start with the minimum required pool members and scale as traffic grows
  • Monitor actual utilisation and remove unnecessary pool members
  • Right-size your backend servers based on actual load

Troubleshooting

IssuePossible CausesSolution
Pool members showing unhealthyServer down; firewall blocking health checks; wrong port; app not responding on health pathVerify server is running; check security group rules; verify port; check app logs
Uneven traffic distributionSession persistence enabled; SOURCE_IP with limited client diversity; different weights; some members unhealthyDisable session persistence if not needed; switch to ROUND_ROBIN; equalise weights; check health status
SSL/TLS errors (TERMINATED HTTPS)Certificate expired; domain mismatch; incomplete CA chain; wrong certificate selectedCheck expiration in Certificate Manager; verify certificate matches domain; ensure CA chain was uploaded
Timeout errorsMember connect timeout too low; member data timeout too low; slow backendsIncrease connect and data timeouts; investigate backend performance
🚫
Deleting a load balancer stops all traffic immediately

Before deleting: update your DNS records, migrate traffic to another load balancer if needed, and back up any configuration you may need to recreate.

Home/Security/Certificate Manager

Security

Certificate Manager

A secure vault for storing and managing SSL/TLS certificates and their associated private keys.

Certificate Manager allows you to upload SSL/TLS certificates once and reuse them across services such as Load Balancers and Auto Scaling Groups, without needing to store certificates directly on individual servers. All certificates are securely encrypted at rest — only you have access to your stored certificates and keys.

Common use cases

  • Load Balancer SSL/TLS Termination — secure HTTPS traffic without managing certs on each backend
  • Auto Scaling Groups — manage certificates for dynamically created instances
  • Centralised Certificate Storage — keep all certificates in one secure, organised location
  • Certificate Lifecycle Management — track expiration dates and manage renewals
🚫
Certificates cannot be downloaded after upload

This is a security feature protecting sensitive cryptographic material. Once uploaded, certificates and private keys cannot be retrieved from the platform. Always maintain your own secure backups before uploading.

Accessing Certificate Manager

  1. Navigate to Certificate Manager from the sidebar
  2. You'll see two tabs: Overview and Secrets
    • Overview — total number of stored secrets
    • Secrets — list of all certificates with create/delete actions

Creating a Certificate

Before uploading, ensure you have:

  • Created secure backups of certificate files and private keys in an encrypted location
  • Documented which certificates are used for which services
  • Verified you have all required files: Private Key, Server Certificate, and CA Chain
  1. Click the Secrets tab → Create Secret
  2. Fill in certificate details
    • Name — a descriptive identifier (e.g., production-web-cert, staging-api-cert)
    • Secret Type — select Certificate from the dropdown
    • Expiration Date — enter in DD/MM/YYYY format
  3. Upload the three certificate files (all must be in PEM format)
    • Private Key (.pem) — your certificate's private key
    • Server Certificate (.pem) — the certificate file from your CA
    • CA Chain Certificate (.pem) — the certificate authority chain file
  4. Click Create Secret

    Your certificate appears in the Secrets list showing name, type, and expiration date.

Accepted file formats

Certificate Manager accepts certificates in PEM format. To check if a file is PEM format, open it in a text editor — it should begin with -----BEGIN CERTIFICATE-----.

  • .crt or .cer files in PEM format — upload directly or rename to .pem
  • DER binary or PKCS#7 (.p7b) files — convert to PEM first:
# Convert .crt (DER format) to PEM
openssl x509 -inform der -in certificate.crt -out certificate.pem

# Extract certificates from PKCS#7 (.p7b)
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem

Safe certificate rotation

To replace a certificate without service disruption, always follow this order:

  1. Upload the new certificate

    Give it a different name from the existing certificate.

  2. Update your Load Balancer

    Attach the new certificate to your Load Balancer and any other affected services.

  3. Verify HTTPS is working with the new certificate

    Test thoroughly before proceeding to the next step.

  4. Delete the old certificate

    Only after confirming the new certificate is fully active and working.

🚫
Deleting a certificate in use causes immediate outage

If you delete a certificate attached to a Load Balancer with HTTPS termination, the Load Balancer will immediately stop terminating HTTPS connections and users will receive SSL errors. Always verify a certificate is not in use before deleting.

Recovery from accidental deletion

  1. Re-upload the certificate immediately using your local backup (this is why maintaining backups is critical)
  2. Re-attach the certificate to affected Load Balancers or services
  3. Monitor your services to confirm they're functioning correctly

Note: there may be downtime between deletion and re-upload.

Best practices

  • Maintain secure backups — certificates cannot be downloaded after upload; always keep encrypted backups locally
  • Use descriptive names — clearly identify purpose (e.g., production-web-cert-2026)
  • Monitor expiration dates — check regularly and plan renewals well in advance
  • Rotate before expiry — upload and attach new certificates before old ones expire
  • Never delete certificates in use — verify no services reference a certificate before deleting
  • Secure your private keys — delete key files from insecure locations after uploading

Troubleshooting

ProblemSolution
My certificate file has a .crt or .p7b extensionSee the Accepted File Formats section above for OpenSSL conversion commands.
I don't have a private key fileThe private key should be on the server where you originally generated the Certificate Signing Request (CSR). If lost, generate a new private key and request a certificate reissue from your CA.
My HTTPS Load Balancer stopped working after deleting a certificateRe-upload the certificate using your local backup, then re-attach it to the Load Balancer immediately.
My certificate is expiring soonUpload the new certificate with a different name, update your Load Balancers, verify everything is working, then delete the old certificate.
Home/Billing

Account

Billing

CloudVantage operates on a pay-as-you-go pricing model — you only pay for the resources you use.

When you provision any resource, the cost for the selected billing term is deducted immediately from your wallet balance. CloudVantage's billing model is designed to be transparent and flexible:

  • Charges are deducted immediately when a resource is provisioned
  • Deleting a resource before the billing period ends triggers a refund for the unused portion
  • Refunds are returned directly to your CloudVantage wallet — not to your bank account
  • This allows you to scale resources up or down without financial waste

Viewing your invoices

The CloudVantage Billing page allows you to view and download your monthly invoices. Visit cloudvantage.com.ng/billing or click Billing in the sidebar.

ℹ️
Keep your wallet funded

If your balance runs out, resource provisioning and Auto Scaling events may be interrupted. Maintain a buffer balance sufficient to cover your peak resource usage, especially if you use Auto Scaling Groups.

🚫
Non-payment will result in server shutdown and permanent deletion

When your billing period ends, you have a 15-day grace period to make payment. If payment is not received within 15 days, your server will be shut down. If payment is still not made after a further 45 days, your server will be permanently deleted and decommissioned — all data will be lost and cannot be recovered. Ensure your wallet is funded before your billing period ends to avoid any interruption or data loss.

Billing by resource type

ResourceBilled whenRefund on deletion
Dew (Server)On provisioningYes — unused time refunded to wallet
VolumeOn creationYes — unused time refunded to wallet
Floating IPOn allocationYes — unused time refunded on release
Load Balancer Pool MemberOn additionYes — on removal
Router InterfaceOn creationYes — on deletion
Volume SnapshotOn creationYes — on deletion
Volume BackupOn creationYes — on deletion
Home/Event Logs

Account

Event Logs

A chronological record of important actions and activities that occur within your project.

Event logs provide an audit trail of system and user events within your project. Each log entry includes the timestamp and a description of the action performed.

Event logs are useful for:

  • Auditing — track what changed, when, and by whom
  • Change tracking — review configuration changes across your project over time
  • Troubleshooting — identify the sequence of events leading to unexpected behaviour or failures
  • Compliance — maintain a record of infrastructure operations for governance purposes

Accessing Event Logs

  1. Click Event Logs on the sidebar
  2. Browse the list of recorded events

    Events are displayed in reverse chronological order. Review recent activity within your project.

Home/Settings

Account

Settings

Manage your account preferences, including billing currency and password.

Accessing Settings

  1. Click the Wallet Balance in the top-right corner of your dashboard
  2. Select Currency Settings

    This navigates to the Settings page. You can also visit cloudvantage.com.ng/settings directly.

Available settings

SettingDescription
Billing CurrencySwitch between Naira (₦) and US Dollars ($). This affects how resource costs are displayed and charged from your wallet.
PasswordReset your account password. You will need to verify your current password before setting a new one.
Home/Support

Help

Support

Get help from the CloudVantage support team.

If you need assistance or have any questions, click the Support tab on the sidebar. From there, you can send a message to our support team via email, and we will respond to help resolve your issue.

ℹ️
Check troubleshooting sections first

Each resource guide includes a troubleshooting section. See Load Balancer and Certificate Manager for common issues and resolutions.

Self-service resources

Home/Managed Services/Managed Databases

Managed Services

Managed Databases

Fully managed MySQL databases — provision, migrate, and manage your database infrastructure on CloudVantage with minimal downtime.

The CloudVantage Managed Database service allows you to run production MySQL databases without managing the underlying infrastructure. You can provision a fresh database or migrate an existing database from any external environment into CloudVantage in a secure, guided, and reliable process.

Database Migration

The Database Migration Service enables you to move existing MySQL databases from any external environment into CloudVantage Managed Databases with minimal downtime and reduced operational risk.

Prerequisites

Before starting a migration, ensure you have the following ready:

  • Your source database is accessible over the network
  • Source database IP address
  • Database username and password with sufficient privileges
  • Correct database name (must match exactly)
  • A database flavor with at least 4 GB RAM is recommended for faster migration

Step-by-step migration guide

Step 1 — Select a Database Flavor

  1. Click Managed Databases from the sidebar
  2. Click Migrate Database

    In the top-right corner. A modal window will appear prompting you to select a database flavor.

  3. Select a flavor

    Choose the target database configuration that matches your workload. Example flavor:

    NameRAMCPUStoragePrice
    Vantage Advanced16 GB6 vCPUs200 GB₦110,000/month
    ℹ️
    RAM recommendation

    A minimum of 4 GB RAM is recommended for faster and more efficient migration. For large databases, select a higher RAM flavor.

  4. Click Next

Step 2 — Database Setup

Configure your target database on CloudVantage.

  1. Set the required fields
    FieldDescription
    Database EngineCurrently supported: MySQL
    Database NameMust exactly match the name of the database on your source server (e.g., employees)
    Target UsernameUsername that will be created for accessing the new database (e.g., test-user)
    Target PasswordPassword for the new database user. Enter and confirm. Use a strong password.
    Management InterfaceChoose how you want to manage your database: PhpMyAdmin, Adminer, or None (command-line only via mysql client)
    Payment OptionMonthly or Yearly — billed according to the selected flavor
    ⚠️
    Database name must match exactly

    The database name entered here must be identical to the name on your source server. A mismatch will cause the migration to fail.

  2. Click Next: Source DB Info

Step 3 — Source Database Information

Provide connection details for the database you want to migrate.

  1. Enter source database details
    FieldDescription
    Source IP AddressIP address of your source database server (e.g., 172.168.192.304)
    Source PortDefault MySQL port is 3306
    Source UsernameUsername with migration privileges (e.g., migration_user)
    Source PasswordPassword for the source database user
    ℹ️
    Use a dedicated migration user

    Create a dedicated database user specifically for migration with only the required privileges. Delete this user from the source database after migration is completed.

  2. Click Check Database Connection

    This performs a connectivity test to verify database accessibility, credentials validity, and required permissions. If the connection fails, verify your IP address, database name, username, password, and port, then retry.

  3. Once connection is successful, click Next: Migration Settings

Step 4 — Migration Settings

Choose how the migration will be executed.

Migration TypeBehaviourWhen to use
Test MigrationSource database remains read-write. No locking occurs. Simulates the migration process.Run this first to estimate duration, test compatibility, and validate the process before going live.
Live MigrationSource database is placed in read-only mode. Write operations are temporarily blocked to ensure data consistency.Use for final production migration. After completion, switch your application to use the CloudVantage database.
ℹ️
Always run a Test Migration first

Running a Test Migration before a Live Migration helps you estimate duration, identify issues, and validate compatibility — with no risk to your source data.

  1. Select your migration type
  2. Click Start Migration

    The migration process begins. You can monitor both provisioning and migration progress from the dashboard.

    • While the database is being provisioned: Provisioning = In Progress, Migration = Pending
    • Once provisioning completes: Provisioning = Completed, Migration = In Progress
    • Once migration finishes: Migration = Completed
🚫
Credentials are shown only once

Once migration completes, your database credentials can be viewed by clicking the eye icon next to the database status. These credentials are displayed one time only for security reasons. Save them immediately and securely — they cannot be retrieved again once the view window is closed.

Post-migration checklist

  • Verify all tables and data are present in the new database
  • Test application connectivity using the new CloudVantage credentials
  • Update your application's database connection settings
  • Remove the temporary migration user from the source database

Best practices

  • Always run a Test Migration before a Live Migration
  • Use a dedicated migration user with only the required privileges
  • Choose a flavor with sufficient RAM — minimum 4 GB recommended
  • Schedule Live Migration during low-traffic hours to minimise user impact

Troubleshooting

IssuePossible CauseSolution
Connection test failsFirewall blocking access; wrong port; incorrect credentials; database does not exist on sourceCheck firewall rules allow database access; verify port is open; confirm credentials and database name
Migration takes too longLarge database size; low RAM flavor selected; network latencyUpgrade to a higher RAM flavor; check network connectivity between source and CloudVantage
Migration fails mid-wayNetwork interruption; source database went offlineEnsure stable network connection; verify source database remains accessible throughout migration