This feature is still in the beta-testing period. Specifications and availability are subject to change.
S3-compatible* object storage is now available on the Vultr cloud. Our object storage technology is affordable, scalable, and easy to integrate into your existing solutions. This article provides an overview on object storage and instructions for getting started with it.
Object storage is a web-accessible service for storing and retrieving files. Files are referred to as "objects". Objects uploaded to object storage can be accessed privately or publicly on the web. Object storage supports a virtually unlimited number of objects.
Use cases for object storage include:
Within the Vultr customer portal, an "Objects" menu item is shown at the top of the page. This takes you to the object storage subscription listing.
On the subscription listing page, you will be presented with links to order object storage and manage your existing object storage subscriptions.
Once you have ordered an object storage subscription, the subscription will show in the subscription listing. Clicking on the subscription will navigate to the subscription detail page that provides you with the necessary hostname and access keys.
Vultr's object storage is S3-compatible*. This means that it is compatible with most tools designed for Amazon S3.
Object storage is purchased on Vultr through subscriptions. A single subscription grants you a fixed amount of storage in a given location. Each subscription is isolated and has its own set of S3 access keys. If you wanted to store objects in both New Jersey and Los Angeles, you would need to purchase two subscriptions.
Each subscription provides a pair of S3 access keys. These are the keys that are used with your S3-compatible software.
There is a variety of S3-compatible software. The software you can use depends on your personal preference and your computer's operating system. Both CLI-based tools and graphical tools are generally available. We include several examples later in this document.
Objects are stored in buckets. Before you can begin uploading objects, you need to create at least one bucket. Buckets are similar to folders on a file system. Bucket names are unique in any given location. For example, I could not create two buckets named mybucket
in New Jersey. See "Rules on bucket naming" for more information.
Buckets are web-accessible by name. For example, if I created a bucket named mybucket
in New Jersey, the bucket would be available at https://mybucket.ewr1.vultrobjects.com/
and also https://ewr1.vultrobjects.com/mybucket/
. The ewr1.vultrobjects.com
hostname portion varies by region and can be referenced in the object storage subscription listing.
Objects are uploaded to buckets. In most S3 tools, objects are "private" by default. This means that you would need the S3 access keys in order to download the object. Files can also be made "public", making them accessible on the web. Uploading photo.jpg
to mybucket
, then setting the permission to "public" would make the file accessible at https://mybucket.ewr1.vultrobjects.com/photo.jpg
.
S3cmd is a command line S3 client for Linux and Mac. Our tested version was 2.0.2.
First, you'll need to configure s3cmd
.
s3cmd --configure
The wizard will ask you several questions. Use the values provided with your object storage subscription for the questions below. Replace access123
, secret123
, and ewr1.vultrobjects.com
accordingly.
Access key: access123
Secret key: secret123
...
S3 Endpoint: ewr1.vultrobjects.com
DNS style bucket+hostname:port: %(bucket)s.ewr1.vultrobjects.com
...
After completing the wizard, you can use s3cmd
to access your object storage.
# make bucket
s3cmd mb s3://mybucket
# remove bucket
s3cmd rb s3://mybucket
# list buckets
s3cmd ls
# list files in bucket
s3cmd ls s3://mybucket
# upload file, private access
s3cmd put photo.jpg s3://mybucket/photo.jpg
# upload file, public access
s3cmd put -P photo.jpg s3://mybucket/photo.jpg
# download file
s3cmd get s3://mybucket/photo.jpg
# delete file
s3cmd rm s3://mybucket/photo.jpg
# change access on file to public
s3cmd setacl s3://mybucket/photo.jpg --acl-public
# change access on file to private
s3cmd setacl s3://mybucket/photo.jpg --acl-private
# enable directory listing on a bucket
s3cmd setacl s3://mybucket/ --acl-public
# disable directory listing on a bucket
s3cmd setacl s3://mybucket/ --acl-private
For more examples, see the s3cmd
manpage.
Cyberduck is a graphical file manager for Windows and Mac. It supports S3, FTP, and many popular file sharing services. Our tested version was 6.8.2.
Connect to Vultr object storage by clicking "Open Connection".
The "Open Connection" dialog will appear. You need to specify "Server
", "Access Key ID
", and "Password
". Use the values provided with your object storage subscription.
Server
" is the S3 hostname ( ewr1.vultrobjects.com
).Access Key ID
" is the S3 access key.Password
" is the S3 secret key.Click the "Connect" button to connect. Afterwards, you can manage files with Cyberduck.
# create bucket
Choose "File, New Folder" from the menu, or right click in the file area and choose "New Folder". The folder name is the bucket name.
# remove bucket
Right click on a bucket, click "Delete".
# upload file
Drag and drop a file from your computer onto the bucket.
# download file
Right click on a file, click "Download As...".
# delete file
Right click on a file, click "Delete".
# change access on file to public
Right click on a file, click "Info". Go to the "Permissions" tab. Click the gear on the lower left corner, and choose "Everyone" from the menu. Set the "Permission" dropdown to "READ" for the "Everyone" ACL table entry. Close the "Info" window.
# change access on file to private
Right click on a file, click "Info". Go to the "Permissions" tab. If "Everyone" appears in the "Access Control List (ACL)", click the gear on the lower left corner and remove the entry. Close the "Info" window.
# enable directory listing on a bucket
Right click on a bucket, click "Info". Go to the "Permissions" tab. Click the gear on the lower left corner, and choose "Everyone" from the menu. Set the "Permission" dropdown to "READ" for the "Everyone" ACL table entry. Close the "Info" window.
# disable directory listing on a bucket
Right click on a bucket, click "Info". Go to the "Permissions" tab. If "Everyone" appears in the "Access Control List (ACL)", click the gear on the lower left corner and remove the entry. Close the "Info" window.
The table below lists compatibility between Vultr object storage and the S3 protocol. Compatibility may be further limited depending on the S3 tool used to access Vultr object storage.
For download requests, the "Content-Length" header may not match the size of the file. This is because we use gzip on our webservers to improve performance. In the rare event that this is causing issues for your automation system, you can disable gzip on requests. The libcloud project is being updated to support this behavior.
Bucket ACLs (Get, Put) | Yes |
Bucket Access Logging | No |
Bucket Inventory | No |
Bucket Lifecycle | Yes |
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 |
You could earn up to $300 by adding new articles