How to Provision Vultr Cloud Compute Instances

Updated on 17 February, 2026

A guide explaining how to set up and deploy new cloud compute instances on the Vultr platform.


Vultr Cloud Compute instances are shared CPU virtual machines designed for demanding applications with bursty performance, such as low-traffic websites, blogs, CMS, development/test environments, and small databases. Vultr Cloud Compute instances are capable of running general purpose applications without specific CPU, memory or storage performance restrictions.

Follow this guide to provision Vultr Cloud Compute instances using the Vultr Customer Portal, API, CLI, or Terraform.

  • Vultr Customer Portal
  • Vultr API
  • Vultr CLI
  • Terraform
  1. Navigate to Products and click Compute.

  2. Click Deploy.

  3. Choose Shared CPU as the instance type.

  4. Select your desired Vultr location to deploy the instance to.

  5. Select a plan category from the sidebar:

    • Cloud Compute: Virtual Machines powered by previous generation Intel CPUs and regular SSD, and offer a good balance of price and performance.
    • High Frequency: Virtual Machines with a higher clock speed (>3Ghz) for CPU intensive applications and ultra fast NVMe storage.
    • High Performance: Virtual Machines powered by the latest generation Intel Xeon CPUs or AMD EPYC CPUs and ultra fast NVMe storage.
  6. Select a plan from the available options based on your vCPU, memory, storage, and bandwidth requirements.

  7. Click Configure Software.

  8. Select a cloud image to install on the instance based on the following options:

    • Operating System: Installs a fresh operating system image on the instance.
    • Marketplace Apps: Installs a prebuilt software stack or application and the recommended operating system image on the instance.
    • ISO/iPXE: Boots a specific ISO available or iPXE-compatible image on the instance.
    • ISO Library: Installs a specific ISO image from the Vultr ISOs library.
    • Backup: Recovers a specific backup available in your Vultr account to the instance.
    • Snapshot: Installs a specific snapshot available in your Vultr account to the instance.
  9. Select optional Server Settings to apply on the instance.

    • SSH Keys: Installs a specific SSH key on the instance.
    • Startup Script: Enables a startup script to execute at deployment or a PXE script to automate the operating system installation.
    • Firewall Group: Activates a Vultr Firewall group to filter incoming network traffic on the instance.
  10. Enter a new hostname in the Server Hostname field and a descriptive label in the Server Label field to identify the instance.

  11. Configure Additional Features for the instance.

    • Instance Connectivity: Select how the instance connects to the internet.
      • Instance(s) with Public IP: Assigns public IP addresses directly to the instance. Under Instance Address, Public IPv4 is enabled by default. Select Public IPv6 to enable IPv6 addressing. After selecting IPv6, you can optionally deselect Public IPv4 to create an IPv6-only instance.
      • Private Instance(s) behind NAT Gateway: Routes internet traffic through a NAT Gateway in a Virtual Private Cloud (VPC) Network. Select an existing VPC Network with a NAT Gateway or click Add VPC Network to create a new one.
    • VPC Network: Connects the instance to a VPC Network in the current location.
    • Automatic Backups: Automatically creates backups for data recovery in case of instance failures.
    • DDoS Protection: Prevents potential Distributed Denial of Service (DDoS) attacks on the instance.
    • Limited User Login: Creates a linuxuser non-root user with sudo privileges as the default user account instead of root.
    • Cloud-Init User Data: Enables Cloud-Init user data to initialize and customize the instance at boot.
  12. Click Deploy to provision the instance.

  1. Send a POST request to the Create Instance endpoint to create a new Vultr Cloud Compute instance. Replace VULTR_LOCATION, INSTANCE_PLAN, OS_ID, INSTANCE_LABEL, and HOSTNAME with your target values.

    console
    $ curl "https://api.vultr.com/v2/instances" \
      -X POST \
      -H "Authorization: Bearer ${VULTR_API_KEY}" \
      -H "Content-Type: application/json" \
      --data '{
        "region" : "VULTR_LOCATION",
        "plan" : "INSTANCE_PLAN",
        "os_id" : OS_ID,
        "label" : "INSTANCE_LABEL",
        "hostname": "HOSTNAME"
      }'
    

    Visit the Create Instance API page to view additional attributes you can apply on the Vultr Cloud Compute instance.

  2. Send a GET request to the List Instances endpoint to list all available instances.

    console
    $ curl "https://api.vultr.com/v2/instances" \
      -X GET \
      -H "Authorization: Bearer ${VULTR_API_KEY}"
    
  1. Create a new Vultr Cloud Compute instance. Replace VULTR_LOCATION, INSTANCE_PLAN, OS_ID, INSTANCE_LABEL, and HOSTNAME with your target values.

    console
    $ vultr-cli instance create --region VULTR_LOCATION --plan INSTANCE_PLAN --os OS_ID --label INSTANCE_LABEL --host HOSTNAME
    

    Run vultr-cli instance create --help to view additional options you can apply on the Vultr Cloud Compute instance.

  2. List all available instances.

    console
    $ vultr-cli instance list
    
  1. Ensure the Vultr Terraform provider is configured in your Terraform project.

  2. Define the Cloud Compute instance in your Terraform configuration file.

    terraform
    terraform {
        required_providers {
            vultr = {
                source  = "vultr/vultr"
                version = "~> 2.26"
            }
        }
    }
    
    provider "vultr" {}
    
    resource "vultr_instance" "cc" {
        label       = "cc-instance-1"
        hostname    = "cc-instance-1"
        region      = "del"            # such as ewr, ams, sgp
        plan        = "vc2-2c-4gb"     # Cloud Compute (shared CPU) plan code; use vhf-* for High Frequency
        os_id       = 2284             # Ubuntu 24.04 LTS x64
        enable_ipv6 = true
    }
    
    output "public_ip" {
        value = vultr_instance.cc.main_ip
    }
    
  3. Apply the configuration and observe the following output:

    Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Comments