S3 Product Description
S3 (Object Storage) is a Servercore service for storing and distributing an unlimited volume of unstructured and semi-structured data. S3 is built on a software-defined distributed storage system.
The terms of use for the S3 product are set forth in User Agreement and Terms of Use .
S3 can be deployed across different regions and pools; for details, see the S3 section of the Product Availability by Location guide.
The product supports user types and roles and projects.
Records of S3 operations are saved to audit logs.
Use cases
S3 is versatile storage that can be used for:
- distributing static content (website and application data), data streaming, etc.;
- storing backups and archives. You can configure scheduled server backups to transfer critical data to S3;
- storing large amounts of data for machine learning and analytics;
- hosting static websites.
How it works
To get started with S3, create a bucket. You can create a bucket:
- in the Control Panel;
- using the S3 API or the Swift API.
You can upload objects to a bucket. Objects inherit bucket settings.
S3 has a flat address structure: there are no folders or hierarchies in the storage, allowing you to quickly access objects via HTTP.
Each object contains:
- data;
- a unique identifier used by a hash function to determine the object's location;
- metadata. You can add your own metadata to implement a custom data storage and processing system.
All data in S3 is replicated. The replication method depends on the selected pool:
- multi-AZ pool (ru-6) — data replicas are synchronously distributed across three physically isolated data centers. It tolerates the complete failure of one data center without data loss or service disruption;
- single-AZ pool (ru-1, ru-3, ru-7, uz-2, kz-1) — data replicas are synchronously distributed within a single data center across multiple independent physical servers in different racks. It tolerates the failure of individual drives, servers, or racks within a single data center.
How to use S3
You can work with S3:
- via the S3 API, Swift API, and Object Storage API. You can use various tools (Rclone, AWS CLI, s3cmd, and others) to work with the API;
- over FTP. It uses the Swift API to translate requests to S3;
- in the Control Panel, which sends requests to S3 via the Swift API and Object Storage API. The Control Panel has limitations when working with a large number of objects or large-sized objects;
- using Terraform.
After creating a bucket, you can:
- manage bucket settings: bucket type, addressing type, and caching;
- manage objects in a bucket;
- enable versioning;
- manage Object Lock in buckets and on objects;
- set bucket limits;
- manage custom domains;
- manage access using user permissions or a bucket policy;
- manage CORS headers, and more.
Areas of responsibility
Servercore provides
- physical security and fault tolerance of the infrastructure hosting S3;
- storage scalability;
- technical support.
Servercore is not responsible for
- configuring buckets and access to them;
- configuration and operability of third-party software for working with S3, as well as integrations;
- compliance of stored data with applicable laws.
Cost
S3 is billed on a pay-as-you-go basis. Every hour, funds are deducted from the balance for the previous hour of S3 resource usage.
For details, see the S3 Billing Models and Pricing guide.
What is included in the cost
The S3 cost includes:
- ability to upload an unlimited number of objects;
- unlimited incoming traffic and traffic between Servercore products;
- managing S3 using the API and Terraform.
Limits and restrictions
Servercore sets S3 entity limits and API request limits per bucket.
There is a limit on uploading large objects via the Control Panel.