Amazon EC2 instance metadata
Amazon EC2 provides a service on instances called the Instance Metadata Service (IMDS). To learn more about this service, see Work with instance metadata in the Amazon EC2 User Guide. When attempting to retrieve credentials on an Amazon EC2 instance that has been configured with an IAM role, the connection to the instance metadata service is adjustable.
Configure this functionality by using the following:
metadata_service_num_attempts
- shared AWSconfig
file settingAWS_METADATA_SERVICE_NUM_ATTEMPTS
- environment variable-
This setting specifies the number of total attempts to make before giving up when attempting to retrieve data from the instance metadata service.
Default value: 1
Valid values: Number greater than or equal to 1.
metadata_service_timeout
- shared AWSconfig
file settingAWS_METADATA_SERVICE_TIMEOUT
- environment variable-
Specifies the number of seconds before timing out when attempting to retrieve data from the instance metadata service.
Default value: 1
Valid values: Number greater than or equal to 1.
Example of setting these values in the config
file:
[default] metadata_service_num_attempts=
10
metadata_service_timeout=10
Linux/macOS example of setting environment variables via command line:
export AWS_METADATA_SERVICE_NUM_ATTEMPTS=
10
export AWS_METADATA_SERVICE_TIMEOUT=10
Windows example of setting environment variables via command line:
setx AWS_METADATA_SERVICE_NUM_ATTEMPTS
10
setx AWS_METADATA_SERVICE_TIMEOUT10
Compatibility with AWS SDKs
The following SDKs support the features and settings described in this topic. Any partial exceptions are noted. Any JVM system property settings are supported by the AWS SDK for Java and the AWS SDK for Kotlin only.
SDK | Supported | Notes or more information |
---|---|---|
AWS CLI v2 | Yes | |
SDK for C++ | No | |
SDK for Go V2 (1.x) |
No | |
SDK for Go 1.x (V1) | No | |
SDK for Java 2.x | No | |
SDK for Java 1.x | Partial | Only AWS_METADATA_SERVICE_TIMEOUT is supported. |
SDK for JavaScript 3.x | No | |
SDK for JavaScript 2.x | No | |
SDK for Kotlin | No | |
SDK for .NET 3.x | No | |
SDK for PHP 3.x | Yes | |
SDK for Python (Boto3) |
Yes | |
SDK for Ruby 3.x | No | |
SDK for Rust | No | |
SDK for Swift | No | |
Tools for PowerShell | No |