1 2 3 4 | AWS_ACCESS_KEY_ID=access_key AWS_SECRET_ACCESS_KEY=secret_key aws s3 --endpoint-url=https: //endpoint .example.com ls s3: //test_bucket An error occurred (InvalidSecurity) when calling the ListObjects operation: The provided security credentials are not valid. |
対象のオブジェクトストレージは署名バージョンが v2 までしか対応していないが、aws コマンドのデフォルトの署名バージョンは v4 になったらしい。
今回、バックアップスクリプト用のため、~/.aws 以下でなく別に設定ファイルを設けて設定する。プロファイルを分けてもいいのだが。
default.s3.signature_version に s3 を設定する。v4 の場合、s3v4 となる。
1 | AWS_CONFIG_FILE= /opt/backup/ .awscfg aws s3 configure set default.s3.signature_version s3 |
/opt/backup/.awscfg
1 2 3 4 | [default] s3 = signature_version = s3 |
1 2 3 | AWS_CONFIG_FILE= /opt/backup/ .awscfg AWS_ACCESS_KEY_ID=access_key AWS_SECRET_ACCESS_KEY=secret_key aws s3 --endpoint-url=https: //endpoint .example.com ls s3: //test_bucket 2018-06-18 04:05:05 0 a.txt |
無事接続。