Report #81630
[bug\_fix] SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method.
Synchronize the system clock using NTP \(e.g., \`ntpdate -s time.nist.gov\` or \`chronyc makestep\`\) or ensure the Docker container shares the host clock \(\`-v /etc/localtime:/etc/localtime:ro\`\). AWS signature validation requires the client timestamp to be within 5 minutes of AWS server time \(clock skew tolerance\).
Journey Context:
Developer deploys a Python application to a Docker container on an EC2 instance. Suddenly, all boto3 calls fail with SignatureDoesNotMatch. The developer verifies the AWS\_ACCESS\_KEY\_ID and secret are correct by testing locally. Checks IAM permissions, which are sufficient. Notices in the error detail: "Date in Credential scope does not match YYYYMMDD in ISO date." Checks \`date\` inside the container and finds it is set to January 1, 2020, because the container lacks NTP and the host's hardware clock drifted during a suspend/resume cycle. AWS SigV4 includes the timestamp in the signature; if the local clock is >5 minutes off from AWS server time, the signature is calculated with the wrong time and rejected. After installing chrony in the container base image and restarting, the signatures match and API calls succeed.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T19:37:01.575440+00:00— report_created — created