For this example of how to connect AWS Mountpoint to a Cloudian HyperStore bucket we will be deploying and configuration the following:
- AWS CLI
- AWS Mountpoint
We will be leveraging an existing Cloudian HyperStore 7.5.3 (minimum) environment and a CentOS Linux VM as a client host.
Prepare HyperStore User and Bucket for AWS Mountpoint
- Log into HyperStore Cloudian Management Console (CMC) and create the appropriate group/user and target bucket. Note the user’s Access & Secret Key information.
AWS Mountpoint will use the credential configuration in /home/.aws folder, so it is helpful to have AWS CLI installed.
Install AWS CLI
Numerous online sources exist for install, and for convenience included here:
- Download & Install AWS CLI
[root@hs753 awscli]# mkdir /opt/awscli [root@hs753 awscli]# pwd /opt/awscli [root@hs753 awscli] curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" [root@hs753 awscli] unzip awscliv2.zip [root@hs753 awscli]# ./aws/install
You can now run: /usr/local/bin/aws –version
[root@hs753 awscli]# aws --version aws-cli/2.15.44 Python/3.11.8 Linux/3.10.0-1160.71.1.el7.x86_64 exe/x86_64.centos.7 prompt/off [root@hs753 awscli]# aws configure
AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: Default output format [None]:
During this section, enter the appropriate AWS Access & Secret Key and default Region name.
Install & Configuration AWS Mountpoint
Download and install the latest version of AWS Mountpoint.
[root@hs753]# mkdir /opt/awsmountpoint [root@hs753 awsmountpoint]# pwd /opt/awsmountpoint
[root@hs753 awsmountpoint]# wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm --2024-05-06 14:18:03-- https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm
Resolving s3.amazonaws.com (s3.amazonaws.com)... 52.216.217.80, 54.231.136.200, 52.216.39.112, ... Connecting to s3.amazonaws.com (s3.amazonaws.com)|52.216.217.80|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 12042192 (11M) [binary/octet-stream] Saving to: ‘mount-s3.rpm’
100%[===============>] 12,042,192 11.6MB/s in 1.0s 2024-05-06 14:18:05 (11.6 MB/s) - ‘mount-s3.rpm’ saved [12042192/12042192] [root@hs753 awsmountpoint]# yum install -y mount-s3.rpm [root@hs753 awsmountpoint]# mount-s3 --version mount-s3 1.6.0 [root@hs753 awsmountpoint]# mkdir /mnt/awsmountpoint
To mount the HyperStore S3 bucket, execute the following command:
[root@hs753 mnt]# mount-s3 --region region1 --endpoint-url http://s3-region1.localdomain.local:80 awsmountpoint /mnt/awsmountpoint/ bucket awsmountpoint is mounted at /mnt/awsmountpoint/
In this example:
The HyperStore region is: “region1”
The HyperStore endpoint is specified via:
--endpoint-url “http://-s3 region1.localdomain.local:80”
Target mounting bucket is: awsmountpoint
Local mounting directory is: /mnt/awsmountpoint
Verification Test
Verify the HyperStore bucket has been mounted successfully by copying a file to the /mnt/awsmountpoint directory:
[root@hs753 awscli]# cp awscliv2.zip /mnt/awsmountpoint/ [root@hs753 awscli]# cd /mnt/awsmountpoint/ [root@hs753 awsmountpoint]# ls -l total 59098 -rw-r--r--. 1 root root 60516068 May 6 14:22 awscliv2.zip
Verification can also be performed via HyperStore CMC:
Common Troubleshooting
Timeout Errors:
Verify correct port of HyperStore cluster and connectivity.
[root@hs753 /]# mount-s3 --region region1 --endpoint-url http://s3-region1.localdomain.local:80 awsmountpoint /mnt/awsmountpoint/
Error: Timeout after 30 seconds while waiting for mount process to be ready
Credential Errors:
Double check credentials in /home/.aws/credentials.
[root@hs753 awsmountpoint]# mount-s3 --region region1 --endpoint-url http://s3-region1.localdomain.local:80 awsmountpoint /mnt/awsmountpoint/ Error: Failed to create S3 client
Caused by:
0: initial ListObjectsV2 failed for bucket awsmountpoint in region us-east-1 1: Client error 2: No signing credentials found Error: Failed to create mount process
Self Signed S3 Certificate:
Unfortunately, at this time it is not possible to disable TLS Certificate Verification (https://github.com/awslabs/mountpoint-s3/issues/717) with AWS Mountpoint; this will cause any HyperStore cluster leveraging self-signed certificates to fail mounting.
[root@hs753 awsmountpoint]# mount-s3 --region region1 --endpoint-url https://s3-region1.localdomain.local:443 awsmountpoint /mnt/awsmountpoint/ Error: Failed to create S3 client
Caused by:
0: initial ListObjectsV2 failed for bucket awsmountpoint in region us-east-1 1: Client error 2: Unknown CRT error 3: CRT error 1029: aws-c-io: AWS_IO_TLS_ERROR_NEGOTIATION_FAILURE, TLS (SSL) negotiation failed Error: Failed to create mount process