Skip to main content

Hyperstack Object Storage (Beta)

Hyperstack Object Storage provides scalable, S3-compatible storage designed for workloads that require reliable, cost-efficient, and flexible data access—such as AI/ML datasets, logs, media, and backup files. This guide covers the key concepts and functionality of Hyperstack Object Storage, including how to generate access credentials, interact with storage using S3-compatible tools, manage storage buckets, and understand relevant security considerations.

For complete documentation on Hyperstack's Object Storage APIs, see the Object Storage API Reference.

Regional Availability

Hyperstack's S3-compatible Object Storage is currently exclusively available in the CANADA-1 region.

In this article


Overview

Hyperstack Object Storage is built on Amazon S3-compatible technology, offering a scalable, secure, and API-compliant solution for large-scale data handling.

This storage option is suitable for workloads that include backups, long-term archives, AI/ML datasets, and media delivery. It is optimized for redundancy, availability, and cost-efficiency.

Key Benefits

  • Redundancy and Resilience: Data is stored with built-in redundancy, ensuring durability and availability even in the event of hardware failures.
  • Cost Optimization: Designed for high-volume storage with an efficient pay-as-you-go pricing model.
  • S3 Compatibility: Supports standard S3 API operations via access keys, making it easy to integrate with existing tools and SDKs.
  • Optimized for Unstructured Data: Object storage is designed for storing large-scale unstructured data such as media, logs, and datasets.
  • Efficient Metadata Handling: Each object can include custom metadata, making it easier to manage, categorize, and retrieve content at scale.

What is an Access Key?

Access keys are credentials used to authenticate programmatic access to Object Storage. Each access key consists of:

  • Access Key ID (public identifier)
  • Secret Access Key (used to sign requests; shown once at creation)

What is a Bucket?

Buckets are the top-level containers where your data is stored in Object Storage. Each bucket can store an unlimited number of objects and includes configuration options like region, access level, and lifecycle settings.

S3 Endpoint

To interact with Hyperstack Object Storage via any S3-compatible tool, use the following endpoint:

https://no1-dev.s3.nexgencloud.io
info

Replace with production endpoint.

Billing

[Billing and pricing details here when available.]

You can monitor object count, storage usage, and hourly costs directly in the Hyperstack Console by visiting the Buckets page.


Getting Started with Hyperstack Object Storage

You can interact with Hyperstack Object Storage using any S3-compatible client or SDK. This guide covers three popular tools: AWS CLI, MinIO Client (mc), and the Boto3 Python SDK, with step-by-step instructions for each.

Click the tab below that matches your preferred tool to get started.


Using AWS CLI

  1. Generate Access Key Credentials
    Generate the necessary credentials to authenticate with Hyperstack's S3-compatible Object Storage.

    • Log in to the Hyperstack Console
    • Navigate to Object Storage > Access Keys
    • Click the Generate Access Key button, select the region, and click Generate
    • Copy and securely store your Access Key ID and Secret Access Key (shown only once)

    Regional Availability

    Object storage is currently available only in the CANADA-1 region.

    Secret Access Key Visibility

    For your security, your secret access key is displayed only once at the time of creation. Be sure to copy and store it in a secure location immediately. Treat your secret access key like a password—do not share it with anyone.

  2. Install AWS CLI
    Follow the official installation instructions for your platform.

  3. Connect using AWS CLI
    Use the AWS CLI to configure your credentials and set up access to Hyperstack Object Storage.

    aws configure

    Enter the following values when prompted:

    • AWS Access Key ID: (paste from Hyperstack).
    • AWS Secret Access Key: (paste from Hyperstack).
    • Default region name: us-east-1 (required for compatibility but unrelated to Hyperstack’s actual region setting).
    • Default output format: you can leave this blank or set it to json.

    Verify your configuration:

    aws s3 ls --endpoint-url https://no1-dev.s3.nexgencloud.io
  4. Create a Bucket
    Provide a name for your bucket and run the command below. Bucket names must be 3–63 characters and use only lowercase letters, numbers, hyphens (-), or periods (.). For full naming rules, see AWS S3 bucket guidelines.

    aws s3api create-bucket \
    --bucket <your-bucket-name> \
    --endpoint-url https://no1-dev.s3.nexgencloud.io \
    --region us-east-1

    Confirm the bucket was created:

    aws s3 ls --endpoint-url https://no1-dev.s3.nexgencloud.io

    You can view your bucket in Hyperstack by navigating to Object Storage > Buckets.

  5. Upload Your First Object
    Upload a file using the cp command:

    aws s3 cp /path/to/your-file.txt s3://<your-bucket-name>/ \
    --endpoint-url https://no1-dev.s3.nexgencloud.io

    Confirm the object uploaded:

    aws s3 ls s3://<your-bucket-name>/ \
    --endpoint-url https://no1-dev.s3.nexgencloud.io
    View Bucket In Hyperstack

    You can view your bucket and uploaded objects in the Hyperstack Console > Buckets.
    Your total storage usage will update automatically to reflect any new uploads.

    Supported S3 operations

    For a list of commonly supported actions, see the Supported S3 Actions by Tool section below under the AWS CLI tab.

    For detailed guidance on using AWS CLI with S3-compatible storage, refer to the official AWS CLI S3 reference.


Supported S3 Actions by Tool

See below for detailed examples of how to perform S3-compatible operations using the AWS CLI, MinIO Client (mc), or Boto3 Python SDK. Each tab organizes commands by action category—such as bucket management, object operations, multipart uploads, and directory sync. Select your preferred tool, then expand a category to view example commands.


AWS CLI S3 Actions

Bucket Operations - Manage your object storage buckets: list, validate, and access them.
ListBuckets - List all available buckets.

Execute the following command to list all buckets under your account:

aws s3 ls \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
HeadBucket - Check if a bucket exists and if you have access.

Execute the following command to verify the existence and access permissions for a bucket:

aws s3api head-bucket \
--bucket <your-bucket-name> \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
Object Operations - Upload, download, delete, and inspect files within buckets.
PutObject - Upload an object.

Execute the following command to upload a file to your bucket:

aws s3 cp /path/to/your-file.txt s3://<your-bucket-name>/ \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
GetObject - Download an object.

Execute the following command to download a file from your bucket:

aws s3 cp s3://<your-bucket-name>/file.txt ./ \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
DeleteObject - Remove an object from a bucket.

Execute the following command to delete a specified object:

aws s3 rm s3://<your-bucket-name>/file.txt \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
CopyObject - Copy an object to a new location.

Execute the following command to copy an object to another bucket or path:

aws s3 cp s3://<source-bucket>/file.txt s3://<target-bucket>/file.txt \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
HeadObject - Retrieve metadata of an object.

Execute the following command to retrieve metadata for a specified object:

aws s3api head-object \
--bucket <your-bucket-name> \
--key <object-key> \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
ListObjects - List objects in a bucket.

Execute the following command to list all objects in a specified bucket:

aws s3 ls s3://<your-bucket-name>/ \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
Multipart Uploads - Split large files into parts for reliable, resumable uploads.
CreateMultipartUpload - Initiate multipart upload.

Execute the following command to begin a multipart upload session:

aws s3api create-multipart-upload \
--bucket <your-bucket-name> \
--key <object-key> \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
UploadPart - Upload a part in a multipart upload.

Execute the following command to upload a single part in a multipart session:

aws s3api upload-part \
--bucket <your-bucket-name> \
--key <object-key> \
--upload-id <upload-id> \
--part-number 1 \
--body ./part1.bin \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
CompleteMultipartUpload - Finalize multipart upload.

Execute the following command to complete a multipart upload by assembling uploaded parts:

aws s3api complete-multipart-upload \
--bucket <your-bucket-name> \
--key <object-key> \
--upload-id <upload-id> \
--multipart-upload file://parts.json \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
AbortMultipartUpload - Cancel a multipart upload.

Execute the following command to abort an in-progress multipart upload:

aws s3api abort-multipart-upload \
--bucket <your-bucket-name> \
--key <object-key> \
--upload-id <upload-id> \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
ListMultipartUploads - List in-progress multipart uploads.

Execute the following command to list all ongoing multipart uploads in a bucket:

aws s3api list-multipart-uploads \
--bucket <your-bucket-name> \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io
Directory Operations - Sync local directories with Object Storage for bulk transfers.
Sync - Synchronize local directory with bucket.

Execute the following command to mirror the contents of a local directory to a bucket:

aws s3 sync ./local-dir s3://<your-bucket-name>/ \
--region us-east-1 \
--endpoint-url https://no1-dev.s3.nexgencloud.io

S3 Reference Documentation

For comprehensive documentation on AWS S3 commands and libraries, refer to:


Manage Access Keys and Buckets

View and Manage Access Keys

  • In Hyperstack, navigate to Object Storage > Access Keys
  • View all keys associated with your account, including:
    • Access Key ID
    • Region
    • Date of creation
Access Key Visibility

Organization owners will see all access keys while members will only see the keys they created.

Delete Access Keys

  1. Click the menu next to the key
  2. Confirm deletion by entering the key name
Access Key Deletion

Deleting an access key will immediately disable all access using that key.

View and Manage Buckets

  1. In Hyperstack, navigate to Object Storage > Buckets
  2. View list of existing buckets and their basic info including:
    • Name
    • Creation date
    • Region
    • Storage size
    • Number of objects
  3. Click on the name of a bucket or hover over the menu and click More Details to see:
    • Creation date – the exact timestamp when the bucket was created.
    • Region – the Hyperstack region (e.g., CANADA-1) where the bucket is hosted.
    • Per hour running cost – current hourly cost for storing objects in the bucket, calculated based on storage size used.
    • Number of objects – total count of objects stored in the bucket.
    • Total Storage Used – cumulative storage consumption in human-readable units.
    • Endpoint – the unique S3-compatible URL to access the bucket (e.g., https://no1-dev.s3.nexgencloud.io/<bucket-name>).

Delete a Bucket

  1. From the bucket list or detail page, click the next to the bucket
  2. Click Delete, confirm via dialog
  3. A deletion confirmation email will be sent
Deletion Warning

Bucket deletions are permanent. Ensure all necessary data is backed up before deleting.


Data Protection, Performance and Policies

Encryption and Data Security

All communication with the Hyperstack S3-compatible endpoint is encrypted using TLS 1.2 or higher, ensuring secure data transmission between clients and Object Storage.

Server-Side vs client-side Encryption

Server-side encryption is not currently supported. Users who require encryption at rest should implement client-side encryption. Most S3-compatible tools and SDKs—such as S3cmd, AWS SDKs, and Boto3—offer built-in support for encrypting data before upload.

Durability and Redundancy

Objects are stored using a 4+2 erasure coding scheme, which divides data into four data blocks and two parity blocks. This configuration tolerates the loss of any two blocks without impacting data integrity, ensuring high durability and fault tolerance.

Regional Availability

Hyperstack's Object Storage is currently exclusively available in the CANADA-1 region.

Multipart Uploads

Multipart upload is supported and recommended for large files. This feature:

  • Enables more reliable uploads by retrying individual parts
  • Delivers faster transfers through parallel uploads
  • Uses less memory for handling large objects

See the Supported S3 Actions by Tool section for example Multipart Upload commands for your preferred tool.

Performance and Usage Limits

Performance depends on network conditions:

  • Transfers over the public internet are limited by the region’s external uplink, currently ~40 Gb/s aggregate in the CANADA-1 region.
  • Transfers within the same region (e.g., between VMs/Clusters and Object Storage in CANADA-1) benefit from faster internal networking.
Rate Limits

There are currently no enforced per-user or per-bucket rate limits. For sustained high-throughput use cases, contact support@hyperstack.cloud to ensure optimal provisioning.


Back to top