amazon-web-servicesamazon-s3fuses3fs

Unable to mount S3 on EC2 using RIOFS - HTTP error: 400 (Bad Request)


I am trying to mount S3 bucket on AWS EC2 instance using RIOFS. I am unsuccessful.

Here is the logs

12:47:53 [main] (main main.c:753) Using config file: /home/ubuntu/.config/riofs/riofs.conf.xml
12:47:53 [con] (http_connection_init http_connection.c:79) [con: 0x561ff22c2be0] Connecting to s3.amazonaws.com:80
12:47:53 [con] (http_connection_make_request http_connection.c:814) [con: 0x561ff22c2be0] GET /csv-test/?acl  bucket: csv-test, host: s3.amazonaws.com, out_len: 0
12:47:53 [con] (http_connection_on_response_cb http_connection.c:464) [con: 0x561ff22c2be0] Got HTTP response from server! (160msec)
12:47:53 [con] (http_connection_on_response_cb http_connection.c:544) [con: 0x561ff22c2be0] New URL: csv-test.s3.amazonaws.com
12:47:53 [con] (http_connection_init http_connection.c:79) [con: 0x561ff22c2be0] Connecting to csv-test.s3.amazonaws.com:80
12:47:53 [con] (http_connection_on_close http_connection.c:196) [con: 0x561ff22c2be0] Connection closed !
12:47:53 [con] (http_connection_make_request http_connection.c:814) [con: 0x561ff22c2be0] GET /?acl  bucket: csv-test, host: csv-test.s3.amazonaws.com, out_len: 0
12:47:53 [con] (http_connection_on_close http_connection.c:196) [con: 0x561ff22c2be0] Connection closed !
12:47:53 [con] (http_connection_on_response_cb http_connection.c:464) [con: 0x561ff22c2be0] Got HTTP response from server! (9msec)
12:47:53 [con] (http_connection_on_response_cb http_connection.c:591) [con: 0x561ff22c2be0] Server returned HTTP error: 400 (Bad Request). AWS message: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
12:47:53 [con]  (http_connection_on_response_cb http_connection.c:602) [con: 0x561ff22c2be0] Server returned HTTP error: 400 (Bad Request)! Retry ID: 1 of 20

Is there a way to enable the use of AWS4-HMAC-SHA256 in RIOFS connection. I am trying this in Frankfurt eu-central-1 and also in London eu-west-2 and unsuccessful in both the regions.

I also tried using s3fs and ended with unable to access bucket error but couldn't get detailed logs like riofs which pointed out the actual error.


Solution

  • AWS4-HMAC-SHA256 is Signature Version 4 and only few regions support it. I tested this against Frankfurt eu-central-1 and London eu-west-2. Both these region doesn't work. It works only on US-EAST-1 N. Virginia region.

    I could successfully mount the S3 bucket created on us-east-1 on EC2.