Spaces

Spaces is an S3-compatible object storage service that lets you store and serve large amounts of data. Each Space is a bucket for you to store and serve files. The free, built-in Spaces CDN minimizes page load times, improves performance, and reduces bandwidth and infrastructure costs.

Plans and Pricing

The base rate of a Spaces subscription is $5/month and gives you the ability to create multiple Spaces.

The subscription includes 250 GiB of data storage (cumulative across all of your Spaces). Additional storage beyond this allotment is $0.02/GiB. If you cancel your subscription by destroying all your Spaces, your bill will be prorated hourly.

Bandwidth

Spaces subscriptions include 1,024 GiB of outbound data transfer (from Spaces to the internet), which is shared between all Spaces. Additional outbound transfer is $0.01/GiB. Outbound data transfer is free in the following cases:

  • From Spaces in NYC3 to Droplets in NYC1, NYC2, and NYC3
  • From Spaces in SGP1 to Droplets in SGP1
  • From Spaces in SFO2 to Droplets in SFO1, SFO2, and SFO3
  • From Spaces in SFO3 to Droplets in SFO1, SFO2, and SFO3
  • From Spaces in AMS3 to Droplets in AMS2 and AMS3
  • From Spaces in FRA1 to Droplets in FRA1

Inbound bandwidth to Spaces never counts against your Spaces transfer allowance.

Droplets have their own transfer allowance, independent of Spaces. Traffic from Droplets to Spaces does not count against your Spaces transfer allowance (because inbound bandwidth to Spaces is free), but does currently count against your Droplets' outbound transfer allowance. We’re working on changing this behavior.

Content Delivery Network (CDN)

The Spaces Content Delivery Network (CDN) is available at no additional cost. The transfer allowance that comes with the base Spaces subscription covers both CDN bandwidth and origin bandwidth. Transfer between the origin and the edge servers is calculated as part of the transfer allowance.

Regional Availability

Spaces are available in NYC3, SFO3, AMS3, SGP1, and FRA1. Spaces work with Droplets in all regions. The Spaces CDN is available in all regions where Spaces are available.

The Spaces CDN points of presence are in the following locations:

Region PoP Locations
North America Ashburn, Atlanta, Chicago, Dallas, Denver, Los Angeles, Miami, New York, San Jose, Seattle, Toronto
Europe Amsterdam, Frankfurt, London, Madrid, Milan, Paris, Stockholm, Warsaw
South America São Paulo (beta)
Asia Hong Kong (beta), Manila (beta), Seoul (beta), Singapore (beta), Tokyo (beta)
Oceania Melbourne (beta), Sydney (beta)

Features

DigitalOcean Spaces provide S3-compatible object storage which lets you store and serve large amounts of data. You can create them in a few seconds and use them immediately with no configuration. Data transfer is automatically secured with HTTPS, and the available storage capacity scales seamlessly.

Spaces are ideal for storing static, unstructured data like audio, video, and images as well as large amounts of text. Because Spaces are an object storage implementation, use cases like databases, applications written in server-side languages, and mission-critical applications will work best with local storage or block storage.

If you use Spaces to serve static or dynamic content for your website, you can also benefit from using the Spaces CDN (Content Delivery Network), which is available at no additional cost. CDNs reduce page load times, improve performance, and reduce your bandwidth and infrastructure costs by caching your assets across a set of geographically distributed servers.

Unique URLs

A Spaces subscription gives you the ability to create multiple Spaces to use as logical units for segmenting content. Each Space has its own unique URL.

The Spaces URL naming pattern is spacename.region.digitaloceanspaces.com and region.digitaloceanspaces.com/spacename, where spacename is the name of your Space and region is the region your Space is in.

High Availability

Spaces is built with Ceph, just like block storage. As we describe in our blog post on why we chose Ceph:

Ceph is built for redundancy, and we carefully ensure that the loss of a single drive, server, or even an entire data center rack does not compromise data integrity or availability.

Ceph gracefully heals itself when individual components fail, ensuring continuity of service with uncompromised data protection. Additionally, we use sophisticated monitoring systems built around tools including Icinga, Prometheus, and our own open-source ceph_exporter. These help us respond immediately to any issues with our Ceph infrastructure to ensure continuous availability.

Ceph is also compatible with a large subset of the S3 RESTful API, which allows you to use many familiar tools and commands.

CDN (Content Delivery Network)

Spaces provides a free, built-in CDN that you can enable with a few clicks. If you’ve enabled the Spaces CDN for your Space, you can access the contents of your Space using the edge URL <spacename>.<region>.cdn.digitaloceanspaces.com instead of the origin URL.

A CDN is a network of edge servers that deliver content to users. Each point of presence (PoP), the location of a group of edge servers, sends content to the users that are physically closest to it.

CDNs help deliver static and dynamic online content faster and more reliably. Because most search engines factor page load time into their algorithm, using a CDN can also provide an SEO advantage. Using a CDN additionally provides a layer of redundancy for websites; a CDN PoP can serve cached content to users even if the origin or other PoPs are down.

You can control how long your CDN content is cached using the TTL settings, either for all the content in your Space or for individual objects. You can similarly choose to purge the cache for the entire Space or individual objects at any time. Each request with a unique URL, including the query string, is treated as a unique asset and has its own cache.

If you don’t want to use the default edge URL, you can use a custom subdomain, like images.example.com. Subdomains you use with the Spaces CDN must have an SSL certificate for security reasons. If you’ve added your domain to DigitalOcean, you use DigitalOcean’s Let’s Encrypt certificates, which are fully managed and renewed on your behalf every 60 days. You also have the option to manually upload an SSL certificate if you use a different DNS provider or want to upload an existing certificate.

Limits

  • You can create up to 100 Spaces per account. If you need to raise this limit, please contact support.

  • Spaces have the following request rate limits:

    • 750 requests (any operation) per IP address per second to all Spaces on an account

    • 150 combined PUT, POST, COPY, DELETE, and LIST operations per second to any individual Space

    • 240 total operations per second to any individual Space

    • 5 PUT or COPY requests per 5 minutes to any individual object in a Space

    Applications should retry with exponential backoff on 503 Slow Down errors. If you plan to push more than 200 requests per second to Spaces, we recommend using the Spaces CDN or creating more Spaces.

  • Spaces have the following upload rate limits in AMS3:

    • Uploading up to 150 GB of data in 24 hours is unthrottled.

    • If uploads to a Space exceed 150 GB of data in 24 hours, that Space’s upload bandwidth is gradually throttled until its 24-hour accumulated uploads return to 150 GB or less.

    • If uploads to a Space exceed 270 GB of data in 24 hours, that Space’s upload bandwidth is set to 1 MB/s for the next 24 hours.

  • Spaces have the following file size limits:

    • PUT requests can be at most 5 GB

    • Each part of a multi-part upload can be at most 5 GB

    • Each part of a multi-part upload must be at least 5 MiB, except for the final part

    • Multi-part uploads have a 10,000 part limit

    • The maximum supported total size of a multi-part upload is 5 TB

  • DigitalOcean’s internal DNS infrastructure has rate limits in place to limit the impact of abusive actors. If you are making a large number of requests, we recommend implementing recursive DNS caching.

  • You can share access to all of the Spaces on an account or team, but not to specific Spaces.

  • While you can set permissions for all the files in a folder, currently you’ll need to use a third-party client to set permissions recursively.

  • Spaces currently do not support DigitalOcean tags or bucket tags.

  • Using the control panel, you can delete up to 9,999 files from a Space at once. To delete 10,000 or more files, use multiple requests in the control panel or use the API to batch deletes more quickly.

  • In the 2+ week period during which a Space is pending destruction, you cannot reuse that Space’s name. If you need to recover a Space that is pending destruction, open a support ticket.

  • You cannot secure a CDN’s subdomain with a custom wildcard SSL certificate that is already being used elsewhere in your account. Instead, you’ll need to add a new custom certificate during the custom subdomain set up for your CDN.

  • SSL wildcard certificates will not match Spaces if the Space name has a period, ., in it. If you need browser-based access to a Space, we recommend against using periods in the Space name. Spaces supports browser and API access with path-style requests and API access with vhost-style requests.

  • If you have a large number of objects or multi-part uploads, you may not be able to view all your objects in the control panel. You can still view all the objects using the Spaces API and s3-compatible tools such as s3cmd or AWS S3.

  • The minimum billable object size is 4 KiB. Storage is consumed by both the data and metadata of objects, and billed in multiples of 4KiB, rounded up.

    Early client disconnects may be metered up-to the original size of the requested object. Metering will reflect the total number of bytes egressed from Spaces prior to the receipt of the disconnect.

  • Individual Spaces with more than 3 million unversioned objects or 1.5 million objects with versioning may require intermittent maintenance periods to ensure consistent performance. Each version of a versioned object counts towards these limits. If you have Spaces that reach these limits, we recommend that you distribute your workload across multiple Spaces instead.

Known Issues

  • Space delete actions do not include the correct IP address that conducted the action in an account’s security history.

  • Uploading hundreds or thousands of files via cloud.digitalocean.com may not complete reliably. For this use case, use s3cmd or other third-party tools.

  • The Spaces API does not support list-objects-v2 pagination.

  • Uploading files and folders with spaces in their name is not supported, but when you upload using the drag and drop feature, they will upload successfully.

  • You cannot currently create wildcard SSL certificates using DigitalOcean’s Let’s Encrypt integration. Instead, choose the Bring your own certificate option to add custom wildcard certificates.

  • File metadata headers, like Content-Encoding, are not passed through the CDN. Metadata headers are correctly set when fetching content directly from the origin.

  • CDN subdomain certificates can silently fail to upload to the CDN on renewal. This causes the CDN to stop serving assets with SSL once the original certificate expires. Additionally, when this happens, you cannot change the invalid certificate in the control panel.

    Our engineers are working on a fix for the certificate renewal uploads and a fix in the control panel to support uploading or selecting a different certificate when a renewed certificate upload fails.

    As a workaround, you can use the API to update the CDN certificate. You can also open a support ticket for help.

Latest Updates

3 March 2021

  • With the completion of the SGP1 capacity augmentation, we have re-enabled the creation of new Spaces in SGP1.

1 February 2021

  • Spaces are now available in SFO3.

31 January 2021

  • Due to capacity limits in the region, we have disabled the creation of new resources in SFO2 for new customers. Existing customers with resources in SFO2 are unaffected and can still create and destroy resources in SFO2.

For more information, see all Spaces release notes.