Provision a high-performance Vultr VX1™ Cloud Compute instance using the Customer Portal or API, with flexible boot options including local NVMe and Block Storage.
Vultr VX1™ Cloud Compute delivers industry-leading price-performance with dedicated CPU resources. VX1™ supports booting from high-performance Vultr Block Storage and can also leverage local NVMe for high-speed scratch storage.
Follow this guide to provision a Vultr VX1™ Cloud Compute instance using the Vultr Customer Portal or Vultr API.
Navigate to Products and click Compute.
Click Deploy.
Choose Dedicated CPU as the instance type.
Select your desired Vultr location to deploy the instance. VX1™ is available in New Jersey (ewr) and Atlanta (atl).
Select VX1 from the sidebar plan categories.
Select a plan from the available options:
General Purpose (vx1-g-*): Provide a balanced combination of vCPUs and memory, suitable for most workloads including web servers, application servers, development environments, container workloads, and moderate database deployments.
Memory Optimized (vx1-m-*): Provide a higher memory-to-vCPU ratio, ideal for workloads requiring large in-memory datasets such as caching engines, analytics workloads, JVM applications, high-memory web services, and large databases.
-###s suffix (such as vx1-g-4c-16g-240s) include local NVMe storage.
Click Configure Software.
Select Boot Disk Settings:
Local NVMe: Boot from high-speed local NVMe storage.
Bootable Block Volume: Boot from Vultr Block Storage. Select an existing bootable block volume or click Create Bootable Block Volume to create a new one. When creating a bootable block volume, select the operating system, storage size, and label.
Select a cloud image to install on your instance based on the following options:
Select optional Server Settings to apply on the instance.
Enter a new hostname in the Server Hostname field and a descriptive label in the Server Label field to identify the instance.
Configure Additional Features for the instance.
linuxuser non-root user with sudo privileges as the default user account instead of root.Click Deploy to provision the instance.
Use the examples below as a reference for deploying VX1™ instances using API.
In this section, you create a VX1™ instance that boots directly from the high-performance local NVMe device included with -###s plans. You can rely on the default boot configuration or explicitly specify the local NVMe disk as the bootable device, depending on your deployment requirements.
Send a POST request to the Create Instance endpoint to create a VX1™ instance using local NVMe as the default boot device.
$ curl "https://api.vultr.com/v2/instances" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
--data '{
"region": "ewr",
"plan": "vx1-g-4c-16g-240s",
"label": "VX1 Local Disk Only",
"hostname": "vx1-localonly-1",
"os_id": 2284
}'
Send a POST request to the Create Instance endpoint to explicitly configure the local NVMe device (block_id: "local") as the boot drive.
$ curl "https://api.vultr.com/v2/instances" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
--data '{
"region": "ewr",
"plan": "vx1-g-4c-16g-240s",
"label": "VX1 Local Disk Only - Bootable",
"hostname": "vx1-localonly-2",
"os_id": 2284,
"block_devices": [
{
"block_id": "local",
"bootable": true
}
]
}'
-###s suffix (for example, vx1-g-4c-16g-240s) to include local NVMe storage.
In this section, you create a VX1™ instance that boots from a high-performance block storage volume. You can either provision a bootable block device first and attach it to a new instance or create a VX1™ instance that includes a newly provisioned bootable block volume during deployment.
Send a POST request to the Create Block Storage endpoint to create a bootable block device.
$ curl "https://api.vultr.com/v2/blocks" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
--data '{
"region": "ewr",
"size_gb": 50,
"label": "Bootable Block",
"block_type": "high_perf",
"os_id": 2284,
"bootable": true
}'
Send a POST request to the Create Instance endpoint to create the VX1™ instance using the previously created bootable block volume.
$ curl "https://api.vultr.com/v2/instances" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
--data '{
"region": "ewr",
"plan": "vx1-g-4c-16g",
"label": "vx1-blockonly-existing-boot-block-1",
"hostname": "vx1-blockonly-existing-boot-block-1",
"os_id": 2284,
"block_devices": [
{
"block_id": "BLOCK_UUID",
"bootable": true
}
]
}'
Replace BLOCK_UUID with the UUID of your bootable block.
Send a POST request to the Create Instance endpoint to create the VX1™ instance and provision a new bootable block device at the same time.
$ curl "https://api.vultr.com/v2/instances" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
--data '{
"region": "ewr",
"plan": "vx1-g-4c-16g",
"label": "vx1-blockonly-new-boot-block-1",
"hostname": "vx1-blockonly-new-boot-block-1",
"os_id": 2284,
"block_devices": [
{
"disk_size": 50,
"label": "New Bootable Block",
"bootable": true
}
]
}'
Replace BLOCK_UUID with the UUID of your bootable block device.
In this section, you deploy a VX1™ instance that boots from a block storage device while also attaching the high-performance local NVMe disk for additional data storage. You can create a new bootable block volume during deployment or boot from an existing bootable block device.
Send a POST request to the Create Instance endpoint to create a VX1™ instance that boots from a new bootable block device and includes local NVMe for additional data storage.
$ curl "https://api.vultr.com/v2/instances" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
--data '{
"region": "ewr",
"plan": "vx1-g-4c-16g-240s",
"label": "vx1-new-boot-block-plus-local-1",
"hostname": "vx1-new-boot-block-plus-local-1",
"os_id": 2284,
"block_devices": [
{
"disk_size": 50,
"label": "New Bootable Block",
"bootable": true
},
{
"block_id": "local"
}
]
}'
Send a POST request to the Create Instance endpoint to create a VX1™ instance that boots from an existing bootable block device and includes local NVMe.
$ curl "https://api.vultr.com/v2/instances" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
--data '{
"region": "ewr",
"plan": "vx1-g-4c-16g-240s",
"label": "vx1-existing-boot-block-plus-local-1",
"hostname": "vx1-existing-boot-block-plus-local-1",
"os_id": 2284,
"block_devices": [
{
"block_id": "local"
},
{
"block_id": "BLOCK_UUID",
"bootable": true
}
]
}'
Replace BLOCK_UUID with the UUID of your bootable block device.
block_type to high_perf.