feat: added configuration variables to handle EC2 metadata service #2385
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Rusoto and the AWS SDK have different behavior when interacting with the ec2 metadata service. Despite the lower default timeout in the AWS SDK, it still takes longer to abandon the IMDS credential provider. This PR add a setting
AWS_EC2_METADATA_DISABLED
to disable the provider. It can be provided as an environment variable or isolated to the s3 storage settings. Additionally, I addedAWS_EC2_METADATA_TIMEOUT
to represent the timeout for the imds credential provider in milliseconds with a default value of 100.This does not completely eliminate the regression, but it provides opt-in/opt-out options to mitigate the issues in exceptional cases.
Related Issue(s)
Documentation
Rust SDK Environment Variables