Ошибка загрузки AWS S3: RequestTimeTooSkewed

Я использую

aws s3 sync ~/folder/s3://--delete

для загрузки (и синхронизации) большого количества файлов в ведро S3. Некоторые - но не все - из файлов сбой, бросая это сообщение об ошибке:

Загрузка не удалась: s3://bucketname/folder/ При вызове операции UploadPart произошла ошибка клиента (RequestTimeTooSkewed): разница между временем запроса и текущим временем слишком велика

Я знаю, что причиной этой ошибки обычно является локальное время, которое не синхронизируется с Интернетом, но я запускаю NTP (на моем ПК Ubuntu), и дата/время кажутся абсолютно точными - и эта ошибка имеет только было сообщено около 15 из 40 или около того файлов, которые я загрузил до сих пор. Некоторые из файлов относительно большие - примерно до 70 МБ каждый, и мои скорости загрузки не являются фантастическими: может ли S3 сравнить исходное и завершающее время и сообщить о своей разнице в качестве ошибки? Спасибо,

Ответ 1

Теперь кажется, что многостраничные загрузки не срабатывали на aws s3. Использование s3cmd работает отлично.

Ответ 2

Проверка времени происходит в начале загрузки на S3, поэтому это не связано с слишком длинными загрузками файлов.

Попробуйте сравнить системное время с тем, что сообщает S3, и посмотреть, есть ли лишний временной дрейф, просто чтобы убедиться:

# Time from Amazon
$ curl http://s3.amazonaws.com -v

# Time on your local machine
$ date -u

(Время возвращается в UTC)

Ответ 3

Я запускал aws s3 cp внутри контейнера докеров на MacBook Pro и получил эту ошибку. Перезагрузите Docker для Mac, исправив эту проблему.

Ответ 4

Вы должны синхронизировать свое местное время на своем компьютере. Время вне мирового времени.

Ответ 5

Amazon S3 использует NTP для системных часов, чтобы синхронизировать их с часами. Бежать

sudo apt-get install ntp

затем откройте /etc/ntp.conf и добавьте внизу

server 0.amazon.pool.ntp.org iburst
server 1.amazon.pool.ntp.org iburst
server 2.amazon.pool.ntp.org iburst
server 3.amazon.pool.ntp.org iburst

Потом service ntp restart