Vultr Object Storage

Updated on July 25, 2024
Vultr Object Storage header image

Object Storage is Vultr's S3-compatible, web-accessible cloud object storage service for storing and retrieving file objects. Objects can be accessed privately or publicly over the web. Use cases for cloud object storage include:

  • Static website hosting for assets such as images, JavaScript, CSS, or media files
  • Share software or business files.
  • Backup solutions

Object storage is ideal when handling large file objects without managing or growing the underlying filesystem.

Object Storage Locations

Vultr offers object storage in multiple locations, which gives you options for geographic redundancy and performance. Choose a location close to your clients and application for high performance and low latency. For high availability and redundancy, you can back up to object storage in a different location from your main application or use multiple object storage locations and sync between them.

Vultr's sites and their hostnames are:

  • Amsterdam: ams1.vultrobjects.com
  • Bangalore: blr1.vultrobjects.com
  • New Jersey: ewr1.vultrobjects.com
  • Silicon Valley: sjc1.vultrobjects.com
  • Singapore: sgp1.vultrobjects.com
  • New Delhi: del1.vultrobjects.com

How to Add Object Storage

You can add an object storage subscription in a few clicks.

  1. Select the Objects tab in the Vultr customer portal.

    Object Storage Tab

  2. Click the blue + icon, then click Add Object Storage

    Add Object Storage

  3. Choose a location for your object storage, such as Amsterdam.

    Add Object Storage 2

  4. Give your new object storage a label to identify it, then click Add. You'll return to the object storage list, and the status column shows Installing.

    Example for Amsterdam

  5. After the status changes to Ready, it's ready to use.

How to Find your Object Storage Credentials

Click your subscription to view the Overview page on the Object Storage page.

Overview Example

The S3 credentials are indicated with the red box in this example. The secret key is hidden by default, but you can reveal it with the eye icon. Use these credentials for your client application; keep them secret because they give full access to your object storage. If you need to change the keys, click Regenerate Keys.

About Buckets

You store objects in buckets. Buckets are similar to folders on a file system. You need to create at least one bucket before you upload objects. You can create buckets in the Vultr customer portal by clicking the Buckets tab, then clicking Create Bucket.

You can also create buckets with any S3-compatible client application.

  • Bucket names must be unique per location. For example, bucket names in the New Jersey location must be unique across all Vultr customers in New Jersey.
  • Bucket names must begin and end with a lowercase letter.
  • Bucket names may contain a dash (-).
  • Bucket names have a maximum length of 255 characters. If you plan to use the virtual hostname format described below, use less than 63 characters.

You can access your buckets through the web using two URL formats: top-level directory or virtual bucket hostname.

  • Top-level directory examples:
    • A bucket named example in New Jersey: https://ewr1.vultrobjects.com/example
    • A bucket named example in Amsterdam: https://ams1.vultrobjects.com/example
  • Virtual bucket hostname examples:
    • A bucket named example in New Jersey: https://example.ewr1.vultrobjects.com/
    • A bucket named example in Amsterdam: https://example.ams1.vultrobjects.com/

You can only use the virtual bucket hostname if the bucket name is less than 63 characters.

If you delete a bucket or close a subscription, you must wait up to 48 hours before you can reuse the old bucket name.

Objects transferred to object storage are private by default. You need a secret key to access them. Some tools allow you to change permissions to make public objects, files, and buckets. Check your tool's documentation and understand how it interacts with object storage.

S3 Compatibility

Refer to the list below for compatibility between Vultr Object Storage and the S3 protocol. Compatibility may be further limited depending on the S3 tool used to access Object Storage. For download requests, the "Content-Length" header may not match the file size because files are gzip-compressed to improve performance. If this is causing issues for your automation system, you can disable gzip on requests.

  • Bucket ACLs (Get, Put): Yes
  • Bucket Access Logging: No
  • Bucket Inventory: No
  • Bucket Lifecycle: No
  • Bucket Location: Yes
  • Bucket Notification: No
  • Bucket Object Versions: Yes
  • Bucket Replication: No
  • Bucket Request Payment: Yes
  • Bucket Website: No
  • CORS: Yes
  • Copy Object: Yes
  • Create Bucket: Yes
  • Delete Bucket: Yes
  • Delete Object: Yes
  • Get Bucket Info (HEAD): Yes
  • Get Object: Yes
  • Get Object Info (HEAD): Yes
  • List Buckets: Yes
  • Multipart Uploads: Yes
  • Object ACLs (Get, Put): Yes
  • Object Metadata: Yes
  • Object Tagging: Yes
  • POST Object: Yes
  • Policy (Buckets, Objects): Yes
  • Pre-Signed URLs: Yes
  • Put Object: Yes

Compatible Tools

You can transfer objects (files) to Object Storage with standard S3 tools. This is not an exhaustive list, but we do recommend the following tools:

SDKs and Language Support

You'll find many SDK options and language support for our S3-compatible object storage. Here are a few popular examples:

How to Use Versioning

Create and enable versioning on a bucket

Once a bucket is created, enable the versioning on the bucket by clicking the [enable versioning] button in the Web UI. From that point on, all the objects are versioned in a bucket. Bucket can be versioned-enabled, disabled versioning or suspend-versioning states. When you enable versioning, existing objects in your bucket do not change. What changes is how Vultr Object Storage handles the objects in future requests. By default, S3 Versioning is disabled on buckets, and you must explicitly enable it.

Versioning enables you to store the same object multiple times in a bucket. Versioning helps in recovering objects from accidental deletes or over writing. Versioning enables us to restore and retrieve versioned objects in a bucket. The versioning state applies to all (never some) of the objects in that bucket. When you enable versioning in a bucket, all new objects are versioned and given a unique version ID. Objects that already existed in the bucket at the time versioning was enabled will thereafter always be versioned and given a unique version ID when they are modified by future requests.

After you enable versioning on a bucket, Vultr Object Storage automatically adds a unique version ID to every object stored (using PUT, POST, or COPY) in the bucket.

Object Storage Versioning

Disabling versioning on a bucket

After Disabling Versioning: The bucket owner (or any user with appropriate permissions) can suspend versioning to stop accruing object versions. When you suspend versioning, existing objects in your bucket do not change. What changes is how Vultr Object Storage handles objects in future requests.

You can delete objects by explicitly calling DELETE Object. Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object.

A delete marker in Vultr Object Storage is a placeholder (or marker) for a versioned object that was named in a simple DELETE request. Because the object is in a versioning-enabled bucket, the object is not deleted. But the delete marker makes Vultr Object Storage behave as if it is deleted.

Frequently Asked Questions

What is the difference between object storage and block storage?

Object storage offers an internet-accessible endpoint to store and retrieve files via HTTPS. Block storage provides mountable disk volumes for cloud servers. Block storage is not available for Vultr Bare Metal.

Is Object Storage S3-compatible?

Vultr's object storage is S3-compatible and works with most tools designed for S3.

Can I use Object Storage as a filesystem?

Do not use object storage as a block device or mounted filesystem. The overhead of HTTPS calls severely hinders performance, and we do not support this use. Please use Block Storage for mounted filesystems.

Is there a request limit?

The rate limit, also known as a request limit, is 400 requests per second per IP address. If you exceed this limit, your requests may receive one or more of the following possible errors:

  • HTTP 429: Too Many Requests
  • HTTP 503: Service Unavailable
  • HTTP 504: Gateway Timeout

If your application requires higher request volumes, we recommend deploying a caching proxy for performance and security in front of your object storage or using a rate-limiting option in your software. For example, we explain how to rate-limit rclone in this article.

Can I use a custom domain?

We do not support using a white-labeled domain name for object storage. You must use the name shown for your object storage in the customer portal.

Can anyone access my files?

Files (objects) transferred to object storage are private by default. You need a secret key to access them. Some tools allow you to change permissions to make public objects, files, and buckets. Check your tool's documentation and understand how it interacts with object storage.

How does Object Storage billing work?

Please see our pricing page for up-to-date information. Data transfer between Vultr Object Storage and Vultr VPS instances traverses the public internet and incurs standard bandwidth charges.

I closed my subscription but want to reuse a bucket name. How long must I wait?

Object storage cleanup can take up to 48 hours to complete from the time you close the subscription. Please wait for storage cleanup before reusing bucket names.

Is Object Storage included in the Cloudflare Bandwidth Alliance?

No, the Cloudflare Bandwidth Alliance program does not include Object Storage traffic.

API Access

The Vultr API offers several endpoints to manage Object Storage.