Amazon EC2 instance metadata - Amazon SDKs and Tools
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Amazon EC2 instance metadata

Note

For help in understanding the layout of settings pages, or in interpreting the Support by Amazon SDKs and tools table that follows, see Understanding the settings pages of this guide.

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 Amazon config file setting
AWS_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 Amazon config file setting
AWS_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_TIMEOUT 10

Support by Amazon SDKs and tools

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 Amazon SDK for Java and the Amazon SDK for Kotlin only.

SDK Supported Notes or more information
Amazon 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 Partial Only AWS_METADATA_SERVICE_TIMEOUT is supported.
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 4.x 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