Skip to main content

Concepts — S3 Buckets

Architecture​

The Hikube Object Storage service is S3-compatible. Data is automatically replicated across 3 geographically distinct datacenters, which keeps it available even if an entire datacenter is lost.


Terminology​

TermDescription
BucketObject storage space created from the console (Infrastructure → S3 Buckets menu).
Bucket name (console)Name chosen at creation. It identifies the bucket in the console and cannot be changed.
S3 Bucket NameActual name of the bucket on the S3 side, generated by the platform as bucket-<identifier>. This is the name your S3 clients must use: with the console name, they receive AccessDenied. It is displayed on the bucket page once the bucket has a user.
S3 EndpointAddress of the S3 service (for example prod.s3.hikube.cloud), displayed on the bucket page.
S3 userIdentity attached to a bucket, with a Read-only or Read / Write permission. A bucket can have several users.
Access Key ID / Secret Access KeyA user's S3 authentication key pair, generated when the user is created. The secret key is displayed only once.
Locking (WORM)Object Lock (Write Once, Read Many): each object is locked for 365 days after it is written, in COMPLIANCE mode; no one can modify or delete it before then.
Encryption at rest (LUKS)Encryption of the data stored on disk.

How it works​

Creation​

A bucket is created with the Create a bucket wizard. Only the name is required; two options can be enabled at creation:

  • Enable Object Lock (WORM)
  • Enable encryption at rest (LUKS)

The wizard also asks you to create at least one S3 user. At the end, the console displays, for each user, the S3 Bucket Name, the Access Key, the Secret Key and the API Endpoint (S3).

Options set at creation

The name, locking and encryption are chosen at creation. The console does not let you change them afterwards.

Users and permissions​

PermissionConsole labelEffect
Read / writeRead / WriteList, read, write and delete objects in the bucket
Read-onlyRead-onlyList and read objects only

A user's permission can be changed at any time with Edit access, in both directions: unchecking Read-only access switches the user back to Read / Write. A user's keys cannot be displayed again: to get new keys, create a new user and then delete the old one.

Key scope​

A user's keys give access only to the bucket the user is attached to. They do not allow listing all the buckets of the endpoint: commands must always target the bucket (s3://<s3-bucket-name>/).

Deletion​

Deleting a bucket is confirmed by entering its name. What happens to the objects depends on locking:

BucketEffect of the deletion
Without lockingThe bucket and all its objects are permanently deleted, even if it is not empty.
Locked (WORM)The bucket is removed from the console, but the platform keeps its storage and all its objects. Each object stays locked for 365 days after it was written (COMPLIANCE mode).

The confirmation window states which case applies.


Multi-datacenter replication​

DatacenterLocation
Region 1Geneva
Region 2Gland
Region 3Lucerne
tip

Replication is transparent: there is nothing for you to configure.


Pricing​

The wizard displays an Estimated Cost per GB per month (and per hour). The rate depends on encryption: an encrypted bucket uses a different rate from a standard bucket.


Compatible tools​

ToolUse case
AWS CLICommand-line file management
MinIO Client (mc)S3-compatible client
rcloneData synchronization and migration
s3cmdAlternative S3 management
VeleroKubernetes cluster backup
ResticFile and database backup
SDKboto3 (Python), AWS SDK (Go, Java, Node.js)

Limits​

ParameterValue
Bucket name3 to 16 characters: lowercase letters, digits and hyphens; starts with a letter, ends with a letter or a digit
S3 username3 to 16 characters, same rules; some names are reserved
Users per bucketAt least one at creation
Replication3 datacenters, automatic

Further reading​