日々精進

新しく学んだことを書き留めていきます

aws cliで「SignatureDoesNotMatch」「The request signature we calculated does not match the signature you provided. Check your key and signing method.」エラー

原因は aws configure コマンドで設定したシークレットアクセスキーなどの情報が間違っていたため。 IAMロールで権限を与えていたのでそもそもaws configureは不要だった。なので、.awsフォルダを削除したら直った。

参考:

qiita.com

S3上のデータを直接tensorflowから読み込んだ場合に「curl returned error code 77」「If the signature check failed. This could be because of a time skew. Attempting to adjust the signer.」エラーが出る

tensorflowのtf.data.TFRecordDatasetにS3に置いたTFRecordのパスを渡すと読み込んでくれるという機能がある。

github.com

これを使うと curl returned error code 77 が出た。77はSSL証明書のエラーらしい。

curl.haxx.se

今回はEC2からのアクセスで、man in the middle攻撃を受けることはないので環境変数S3_VERIFY_SSL=0を設定して解決した。

EC2からS3のデータをダウンロードする場合、AWS外のネットワークを経由する場合がある

今までEC2-S3間の通信はAWS内のみ通ると思っていたけど、VPCエンドポイントがない場合、一度インターネットに出るらしい。 そうすると通信速度が落ちるしセキュリティ的にも問題になりうるので VPCエンドポイントは必ず作るようにしておかねば。。

参考:

https://www.bitclear.co.jp/vpcendpoint/

agohack.com