{question}
How do I troubleshoot "Could not perform remote backup. MissingAuthenticationToken: Request is missing Authentication Token" errors when trying to restore a database from S3?
{question}
{answer}
Troubleshooting Steps
1) Confirm the IAM role specified in the RESTORE DATABASE command has PUT, GET, and LIST action permissions.
2) Verify you are able to aws s3 ls the S3 bucket path and see backup files exist. For example:
aws s3 ls s3://path/to/backup/
2022-03-17 11:08:19 2348 BACKUP_COMPLETE
2022-03-17 11:08:12 1234567 testdb
2022-03-17 11:08:12 345678 testdb_0
2022-03-17 11:08:18 1234567 testdb_0_columns0.tar
...etc
3) If the above two steps are true and the error persists, increase the subprocess_ec2_metadata_timeout_ms variable to a higher value. This is set to 1000 by default.
- This variable was introduced in version 7.3.18 so it will only work on that version or higher of the database engine.
subprocess_ec2_metadata_timeout_msis the maximum amount of time, in milliseconds, the engine waits for or retries a request before timing out to return metadata used to verify the cluster is on ec2 from which implicit credentials can be obtained.subprocess_ec2_metadata_timeout_msis a Sync variable therefore this variable only needs to be changed on the master aggregator. This can be done with SET GLOBAL, for example:
SET GLOBAL subprocess_ec2_metadata_timeout_ms = 40000
Documentation:
AWS
SingleStore
{answer}