Vultr Storage Gateway (an NFS Gateway for Vultr File System) enables Vultr Bare Metal and Cloud Compute instance to access scalable Vultr File System (VFS) volumes over NFSv4, delivering high-speed, persistent cloud storage without local disk limitations. Available in all regions that support VFS, the gateway is designed for Bare Metal workloads that require dedicated storage access. It also serves as a way to share VFS volumes between your Bare Metal and other Vultr Cloud Compute instances in the same region, offering seamless integration and high-performance data management across your infrastructure.
Follow this guide to provision a Vultr Storage Gateway using the Vultr API.
Send a GET
request to the List VFS endpoint to retrieve available Vultr File System volumes.
$ curl "https://api.vultr.com/v2/vfs" \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
Note the id
of the VFS volume you want to attach to the Storage Gateway.
Provision a Vultr Storage Gateway by selecting either a Public Network or a VPC Network.
Provision Vultr Storage Gateway on a Public Network.
Send a POST
request to the Create Storage Gateway endpoint to deploy a Storage Gateway instance with public IP enabled.
$ curl "https://api.vultr.com/v2/storage-gateways" \
-X POST \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
-H "Content-Type: application/json" \
--data '{
"region": "<vultr-location>",
"label": "<storage-gateway-label>",
"type": "<storage-gateway-type>",
"export_config": [
{
"label": "<export-label>",
"vfs_uuid": "<vfs-id>",
"pseudo_root_path": "/vfs0",
"allowed_ips": ["<bare-metal-ip>/32"]
}
],
"network_config": {
"primary": {
"ipv4_public_enabled": "yes",
"ipv6_public_enabled": "no"
}
}
}'
Provision Vultr Storage Gateway Inside a Virtual Private Cloud (VPC).
Send a GET
request to the List VPCs endpoint to retrieve available VPCs in your account.
$ curl 'https://api.vultr.com/v2/vpcs' \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
Note the vpc id
of the target VPC where the Storage Gateway should reside.
Send a POST
request to the Create Storage Gateway endpoint to deploy a Storage Gateway instance inside the VPC.
$ curl "https://api.vultr.com/v2/storage-gateways" \
-X POST \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
-H "Content-Type: application/json" \
--data '{
"region": "<vultr-location>",
"label": "<storage-gateway-label>",
"type": "<storage-gateway-type>",
"export_config": [
{
"label": "<export-label>",
"vfs_uuid": "<vfs-id>",
"pseudo_root_path": "/vfs0",
"allowed_ips": ["<bare-metal-vpc-ip>/32"]
}
],
"network_config": {
"primary": {
"ipv4_public_enabled": "no",
"ipv6_public_enabled": "no",
"vpc": {
"vpc_uuid": "<vpc-id>"
}
}
}
}'
This deploys a Storage Gateway configured for private VPC networking, without public IP addresses.
Send a GET
request to the List Storage Gateways endpoint to retrieve detailed metadata for this storage gateway using its ID.
$ curl "https://api.vultr.com/v2/storage-gateways/<storage-gateway-id>" \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
A successful response includes metadata such as status, type, network settings, and export configuration ensure the health
field shows Running
to confirm the gateway is operational.