Report #76799
[bug\_fix] AWS RequestTimeTooSkewed: The difference between the request time and the current time is too large
Synchronize the system clock using NTP \(e.g., \`chronyd\` or \`ntpdate\`\) or enable the AWS SDK's built-in clock skew correction by setting the environment variable \`AWS\_EC2\_METADATA\_SERVICE\_ENDPOINT\` or configuring \`httpOptions.clockOffset\` in the SDK client. The root cause is that AWS Signature Version 4 uses the request's timestamp to prevent replay attacks; if the client clock deviates more than ±5 minutes \(or ±15 minutes for STS\) from AWS server time, the signature is rejected as invalid.
Journey Context:
A developer runs a deployment script from their local laptop against S3 and it works perfectly. They then commit the code to CI/CD which runs on a fresh Kubernetes pod in a new region. The job fails immediately with 'RequestTimeTooSkewed'. They check the IAM role attached to the pod via IRSA \(IAM Roles for Service Accounts\) and verify the token is valid. They SSH into the node and run \`date\` and realize the system clock is 17 minutes behind because the VM's hardware clock was wrong and NTP sync was disabled in the base image. After enabling \`chronyd\` and forcing a sync, the deployment succeeds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T11:30:04.240718+00:00— report_created — created