Skip to content

S3 Object Storage HOSTKEY

In this article

Service Description

What is HOSTKEY S3 Object Storage

S3 Object Storage by HOSTKEY is a scalable solution for storing unstructured data. The service is fully compatible with Amazon Simple Storage Service (S3) specifications, allowing you to use existing S3-compatible tools, applications, and workflows without code modifications.

Key Features

  • Creating independent storages - during the free beta period on the Free Beta 1 plan, users can create up to 3 independent S3 storage buckets;
  • Independence from VPS/VDS - S3 storages operate autonomously and do not require HOSTKEY server rental;
  • Creating Buckets - when creating storage, the first bucket with a unique name is automatically created. Creating Buckets: During the beta period, users can create up to 10 buckets in each S3 storage;
  • S3-compatible access - full support for the standard Amazon S3 protocol for all data operations;
  • Work with any S3 clients - use S3 Browser, Cyberduck, boto3, and other S3-compatible tools;
  • Secure access - authorization via Access Key and Secret Key over HTTPS protocol;
  • Simple credential management - generation and viewing of access keys through the web interface of your account;
  • Ready-made plans - choice of plans with fixed storage volume and bandwidth.

Technical Parameters

  • Endpoint URL: https://s3-nl.hostkey.com;
  • Protocol: HTTPS (SSL/TLS);
  • Authorization: AWS Signature Version 4.

Pricing

During the Beta Access period, HOSTKEY S3 Object Storage is provided for free according to the "Free Beta" plan with the following limitations:

  • 250 GB of storage;
  • 1 TB of outbound traffic;
  • 1,500 command requests per month;
  • Up to 3 independent S3 storage instances per user;
  • Up to 10 buckets in each S3 storage.

During this period, storage volume, traffic, and command request limits cannot be increased.

You will be notified in advance before the beta period ends and regular monthly charges apply.

Creating S3 Storage

  1. Log in to your account at Invapi

  2. Go to the S3 Storage section;

  3. Create new storage:

    1. Region: select the region (default NL - Netherlands);
    2. Bucket name: enter the bucket name (for example, bde347688-testbucket):
      • name must be unique;
      • maximum 63 characters;
      • only lowercase letters, numbers, and hyphens;
      • must start and end with a letter or number.
    3. Plan: select a pricing plan (for example, Free Beta). To select, click on the plan name;
    4. Click Create S3 Storage.

    After creation, the storage will appear in the Your separate S3 Storages list.

Getting Credentials

  1. In your storage list, find the created storage and go to the Credentials tab:

  2. Copy the credentials:

    You will need:

    1. Hostname (Endpoint URL): https://s3-nl.hostkey.com;
    2. S3 user id: (for example, z5CrlJ67QuiF5xWp149TcmmhBjORRRu6);
    3. Access key: click to show the key;
    4. Secret key: click to show the key.

    Important

    You must first click the icon to display the real key values; only after that can they be correctly copied.

    Save this data - you will need it for connection.

Using via S3 Browser

  1. Download the free version of S3 Browser: https://s3browser.com;

  2. Add a new account:

    1. Open S3 Browser;
    2. Click Accounts >> Add New Account.
  3. Fill in the form:

    • Display name: HOSTKEY S3 (any convenient name);
    • Account type: S3 Compatible Storage (not Amazon S3 Storage!);
    • API endpoint: s3-nl.hostkey.com (without https://);
    • Access Key ID: paste your Access Key from the HOSTKEY panel;
    • Secret Access Key: paste your Secret Key from the HOSTKEY panel;
    • Use secure transfer (SSL/TLS): leave the checkbox active.
  4. Click Add new account;

  5. Work with files:

    After successful connection, you will see:

    • Bucket list on the left;
    • Files in bucket on the right;
    • Management buttons: Upload, Download, Delete, New Folder, Refresh.

    Available operations:

    • Upload - upload files;
    • Download - download files;
    • Delete - delete files;
    • New Folder - create folders;
    • Refresh - refresh the list.

Basic file operations

After connecting to an S3 storage via an S3-compatible client, the following operations are available:

Uploading files

  1. Through S3 Browser:

    • Select a bucket in the left panel;
    • Click the Upload button or Upload folder(s);
    • Select files from your computer;
    • Confirm the upload:

  2. Through drag-and-drop:

    • Simply drag files from the explorer into the S3 Browser window.

Downloading files

  1. Select a file in the bucket;
  2. Click the Download button or right-click and select Download:

  3. Specify the folder to save the file on your computer.

Deleting files and folders

  1. Select a file or folder;
  2. Click the Delete button or press the Delete key on the keyboard:

  3. Confirm the deletion.

Attention

File deletion is irreversible. Make sure you have backups of important data.

Creating folder structure

  1. Select a bucket or folder;
  2. Click New Folder:

  3. Enter the folder name:

  4. Click Create new folder.

Copying and moving files

  • Copying: select a file → right-click → Copy → go to the target folder → right-click → Paste;
  • Moving: drag the file to the desired folder while holding the mouse button.

Renaming files

  1. Right-click the file;
  2. Select Rename:

  3. Enter a new name;

  4. Press Enter on the keyboard.

Managing access permissions (ACL)

  1. Right-click the file or bucket;
  2. In the context menu, select Edit Permissions (ACL):

  3. In the opened window, configure access permissions for users:

    • Owner - full control over the object;
    • Any AWS Users - access for any AWS users;
    • All Users - public access for everyone.
  4. For each user category, you can set:

    • Full Control - full control;
    • Read - read the object;
    • Write - write/modify the object;
    • Read Permissions - read access permissions;
    • Write Permissions - modify access permissions:

  5. For quick configuration, use the buttons:

    • Make public - make the file public;
    • Make private - make the file private.
  6. After configuration, click Apply changes to save.

Security

Be careful with public access. Do not make confidential data publicly available. By default, it is recommended to keep full control only for the owner (Owner).

To create a public link to a file or folder in S3 Object Storage:

  1. Right-click the file;
  2. In the context menu, select Generate Web URL:

  3. In the opened window Web URL Generator, configure the link generation parameters:

  4. Use secure transfer (HTTPS) - use a secure connection (recommended for confidential data);

  5. Expiration - choose the link expiry period;
  6. Hostname - host name selection:

    • Use default host name - use the default address (e.g., https://s3-nl.hostkey.com/bfcc62b88-testbucket/);
    • Or specify your own domain;
  7. After configuring the parameters, the system will generate a full link to the file, e.g.:

       https://s3-nl.hostkey.com/bfcc62b88-testbucket/dedicated-server-architecture.drawio
    

  1. To create a short link, click the Shorten button and choose a service:

    • Shorten with Bitly - shorten with Bitly;
    • Shorten with TinyURL - shorten with TinyURL;
    • Configure... - configure shortening services;

  2. After successful shortening, you will receive a short link (e.g., https://tinyurl.com/2dhcsk8y);

  3. Use the buttons:

    • Copy - copy the link to the clipboard;
    • Close - close the generator window.

Important

For public access to a file via a web link, the file must be set as public through ACL. A shortened link will automatically download the file when accessed.

Note

Detailed information about working with S3 Browser is available in the developer documentation.

Note

Detailed information about working with Amazon S3 is available in the official AWS documentation.

Working with HOSTKEY S3 via AWS CLI

Installing AWS CLI

AWS CLI can be installed in two ways. Choose one of them:

Method 1: Installation via pip (universal)

Advantages:

  • Simple installation with a single command;
  • Easy to update;
  • Works on all platforms (Windows, Linux, macOS).

Disadvantages:

  • Requires Python installed;
  • May show warnings in some terminals.

Installation:

pip install awscli boto3

Verify installation:

aws --version
pip show awscli boto3

Update:

pip install --upgrade awscli boto3

Advantages:

  • Does not require Python;
  • No warnings in terminal;
  • Clean system installation.

Disadvantages:

  • Windows only;
  • Updates must be downloaded manually.

Installation via terminal:

curl -o AWSCLIV2.msi https://awscli.amazonaws.com/AWSCLIV2.msi
msiexec /i AWSCLIV2.msi /quiet /norestart

After installation:

  1. Restart the terminal;
  2. Verify the installation.
    aws --version
    
    where aws
    

Expected result:

aws-cli/2.x.x Python/3.x.x Windows/10 exe/AMD64
C:\Program Files\Amazon\AWSCLIV2\aws.exe

Alternative installation method:

Important

If you have both versions (pip and MSI) installed, this may cause conflicts. It's best to use only one method.

Check for conflicts:

where aws

If it shows multiple paths, remove one of the versions:

pip uninstall awscli -y
wmic product where "name like 'AWS Command Line Interface%'" call uninstall

Configuring connection to HOSTKEY S3

1. Obtaining credentials from the HOSTKEY panel

  1. Log into your account at Invapi;
  2. Go to the S3 Storage section;
  3. Open the "Credentials" tab;
  4. Copy the following data:

    For the S3 user identifier (Access Key ID):

    • Click the eye icon to reveal the key;
    • Copy the displayed value manually or via the Copy button.

    For the secret key (Secret Access Key):

    • Click the eye icon to reveal the key;
    • Copy the displayed value manually or via the Copy button.

    Important

    You must first click the icon to display the real key values; only after that can they be correctly copied.

  5. You will also need:

  6. Host name: https://s3-nl.hostkey.com;
  7. Region: displayed in the panel (e.g., nl for the Netherlands).

2. Setting up the profile

aws configure --profile hostkey

When prompted, enter:

AWS Access Key ID [None]: your_access_key_id
AWS Secret Access Key [None]: your_secret_access_key
Default region name [None]: nl
Default output format [None]: json

Example:

AWS Access Key ID [None]: s3uid_XXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Default region name [None]: nl
Default output format [None]: json

3. Verify configuration

aws configure list --profile hostkey

Expected output:

NAME       : VALUE                    : TYPE             : LOCATION
profile    : hostkey                  : manual           : --profile
access_key : ****************xxxx     : shared-credentials-file :
secret_key : ****************xxxx     : shared-credentials-file :
region     : nl                       : config-file      : ~/.aws/config

4. Verify connection

aws s3 ls --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Expected result (list of your buckets):

2025-11-26 13:54:16 your-bucket-name

Basic file operations

Viewing bucket contents

aws s3 ls s3://bucket-name/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Example:

aws s3 ls s3://your-bucket-name/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Result:

2025-11-28 12:14:28         21 test.txt
2025-11-28 14:52:11         19 test_new.txt

Uploading a file

Create a test file:

echo Hello HOSTKEY S3 > test.txt

Upload the file to the bucket:

aws s3 cp test.txt s3://bucket-name/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Example:

aws s3 cp test_new.txt s3://your-bucket-name/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Result:

upload: .\test_new.txt to s3://your-bucket-name/test_new.txt

Downloading a file

aws s3 cp s3://bucket-name/file.txt ./local-file.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Example:

aws s3 cp s3://your-bucket-name/test.txt ./downloaded.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Result:

download: s3://your-bucket-name/test.txt to .\downloaded.txt

Check downloaded file (Windows):

type downloaded.txt

Check downloaded file (Linux/macOS):

cat downloaded.txt

Deleting a file

aws s3 rm s3://bucket-name/file.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Example:

aws s3 rm s3://your-bucket-name/test.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Result:

delete: s3://your-bucket-name/test.txt

Synchronizing folders

Uploading a folder to the bucket:

aws s3 sync path/to/local/folder s3://bucket-name/path-in-bucket/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Example:

aws s3 sync C:\Users\User\Documents\Test s3://your-bucket-name/remote-folder/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Result:

upload: Documents\Test\file1.txt to s3://your-bucket-name/remote-folder/file1.txt
upload: Documents\Test\file2.docx to s3://your-bucket-name/remote-folder/file2.docx

Downloading a folder from the bucket:

aws s3 sync s3://bucket-name/path-in-bucket/ path/to/local/folder --profile hostkey --endpoint-url https://s3-nl.hostkey.com

With progress display:

aws s3 sync C:\Users\User\Documents\Test s3://your-bucket-name/backup/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com --progress

Important

If the path contains spaces, be sure to use quotes.

Correct:

aws s3 sync "C:\Users\Name\My Documents" s3://bucket/docs/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Incorrect (will cause an error):

aws s3 sync C:\Users\Name\My Documents s3://bucket/docs/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Additional commands

Creating a bucket

aws s3 mb s3://new-bucket-name --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Deleting an empty bucket

aws s3 rb s3://bucket-name --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Deleting a bucket with all its contents

aws s3 rb s3://bucket-name --force --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Copying between buckets

aws s3 cp s3://source-bucket/file.txt s3://dest-bucket/file.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Moving a file

aws s3 mv s3://bucket-name/old-file.txt s3://bucket-name/new-file.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

Troubleshooting

Error: "aws" is not a command

Cause: AWS CLI is not installed or not added to PATH.

Solution:

  1. Restart the terminal after installation;
  2. Verify installation using the command where aws (should show a path);
  3. If that doesn't help, reinstall AWS CLI.

Error: Invalid bucket name

Cause: Incorrect bucket name.

Solution: Use the exact bucket name from the HOSTKEY panel (e.g., prefix-testbucket).

Error: AccessDenied

Cause: Incorrect credentials or insufficient permissions.

Solution:

  1. Check the Access Key and Secret Key in the HOSTKEY panel;
  2. Recreate the profile.
    aws configure --profile hostkey
    

Conflict between pip and MSI versions

Symptoms: The command where aws shows two paths.

Solution: Remove one of the versions (see the section "Do not mix installation methods").

Resetting configuration

Windows:

rmdir /S /Q %USERPROFILE%\.aws

Linux/macOS:

rm -rf ~/.aws

Set up again:

aws configure --profile hostkey

Location of configuration files

Windows:

C:\Users\USER_NAME\.aws\credentials
C:\Users\USER_NAME\.aws\config

Linux/macOS:

~/.aws/credentials
~/.aws/config

File contents:

  • credentials - Access Key and Secret Key;
  • config - region and output format settings.

Useful commands for verification

AWS CLI version:

aws --version

Location of the executable:

where aws

Profile information:

aws configure list --profile hostkey

Package information (for pip version):

pip show awscli boto3

Update (for pip version):

pip install --upgrade awscli boto3

Note

Detailed information about working with AWS CLI is available in the official AWS documentation.


Some of the content on this page was created or translated using AI.

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×