If system clock is out of sync, we may encounter error message like "An error occurred (RequestTimeTooSkewed) when calling the ListBuckets operation: The difference between the request time and the current time is too large."
ag@aj:~$ aws s3 ls
An error occurred (RequestTimeTooSkewed) when calling the ListBuckets operation: The difference between the request time and the current time is too large.
Fix:
I mostly use Ubuntu running on WSL for my local AWS development work and encountered this error few times
To fix, run sudo hwclock -s
. It will sync up the system clock with the current time.
abhijit@awsjunkie:~$ date
Tue Jul 4 08:54:30 EDT 2023
sudo hwclock -s
abhijit@awsjunkie:~$ date
Tue Jul 4 10:59:18 EDT 2023
abhijit@awsjunkie:~$ aws s3 ls
2023-07-04 10:30:51 awsjunkie-time-sync-test
Demo:
Usage of hwclock command:
hwclock -h
Usage:
hwclock [function] [option...]
Time clocks utility.
Functions:
-r, --show display the RTC time
--get display drift corrected RTC time
--set set the RTC according to --date
-s, --hctosys set the system time from the RTC
-w, --systohc set the RTC from the system time
--systz send timescale configurations to the kernel
-a, --adjust adjust the RTC to account for systematic drift --predict predict the drifted RTC time according to --date
Options:
-u, --utc the RTC timescale is UTC
-l, --localtime the RTC timescale is Local
-f, --rtc <file> use an alternate file to /dev/rtc0
--directisa use the ISA bus instead of /dev/rtc0 access
--date <time> date/time input for --set and --predict
--delay <sec> delay used when set new RTC time
--update-drift update the RTC drift factor
--noadjfile do not use /etc/adjtime
--adjfile <file> use an alternate file to /etc/adjtime
--test dry run; implies --verbose
-v, --verbose display more details
-h, --help display this help
-V, --version display version