

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 스마트 구성 기본값
<a name="feature-smart-config-defaults"></a>

**참고**  
설정 페이지의 레이아웃을 이해하거나 다음에 나오는 **Support AWS SDKs**[이 안내서의 설정 페이지의 이해](settings-reference.md#settingsPages).

스마트 구성 기본값 기능을 사용하면 AWS SDKs 다른 구성 설정에 대해 사전 정의되고 최적화된 기본값을 제공할 수 있습니다.

다음을 사용하여 이 기능을 구성하십시오.

**`defaults_mode` - 공유 AWS `config` 파일 설정`AWS_DEFAULTS_MODE` - 환경 변수`aws.defaultsMode` - JVM 시스템 속성: Java/Kotlin만 해당**  
이 설정을 사용하면 사용자 애플리케이션 아키텍처에 맞는 모드를 선택하여 애플리케이션에 최적화된 기본값을 제공할 수 있습니다. AWS SDK 설정에 명시적으로 설정된 값이 있는 경우 해당 값이 항상 우선합니다. AWS SDK 설정에 명시적으로 설정된 값이 없고 `defaults_mode`가 레거시와 같지 않은 경우이 기능은 애플리케이션에 최적화된 다양한 설정에 대해 서로 다른 기본값을 제공할 수 있습니다. 설정에는 HTTP 통신 설정, 재시도 동작, 서비스 리전 엔드포인트 설정 및 잠재적으로 모든 SDK 관련 구성이 포함될 수 있습니다. 이 기능을 사용하는 고객은 일반 사용 시나리오에 맞게 조정된 새 구성 기본값을 얻을 수 있습니다. `defaults_mode`이 `legacy`같지 않은 경우에 SDK를 업그레이드할 때 사용자 애플리케이션 테스트를 수행하는 것이 좋습니다. 제공된 기본값은 모범 사례가 발전함에 따라 변경될 수 있기 때문입니다.   
**기본값:** `legacy`  
참고: 새 주요 버전의 SDK는 `standard`로 기본 설정됩니다.   
**유효값:**  
+ `legacy`— SDK에 따라 달라지고 `defaults_mode`의 설정 이전에 존재했던 기본 설정을 제공합니다.
+ `standard`— 대부분의 시나리오에서 안전하게 실행할 수 있는 최신 권장 기본값을 제공합니다.
+ `in-region` - 표준 모드를 기반으로 하며 동일한 내에서 AWS 서비스 를 호출하는 애플리케이션에 맞게 조정된 최적화를 포함합니다 AWS 리전.
+ `cross-region` - 표준 모드를 기반으로 하며 다른 리전 AWS 서비스 에서를 호출하는 애플리케이션에 맞게 조정된 최적화를 포함합니다.
+ `mobile`— 표준 모드를 기반으로 구축하며 모바일 애플리케이션에 맞게 조정된 최적화를 포함합니다.
+ `auto`— 표준 모드를 기반으로 구축하며 실험적 기능을 포함합니다. SDK는 런타임 환경을 검색하여 적절한 설정을 자동으로 결정합니다. 자동 감지는 휴리스틱 기반이며 정확도가 100%는 아닙니다. 런타임 환경을 확인할 수 없는 경우 `standard` 모드가 사용됩니다. 자동 탐지는 [인스턴스 메타데이터](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)를 쿼리할 수 있으며, 이로 인해 지연이 발생할 수 있습니다. 시작 지연 시간이 애플리케이션에 중요한 경우에는 명시적 지연 시간을 `defaults_mode`을 대신 선택하는 것이 좋습니다.
 `config` 파일에서 이 값을 설정하는 예:  

```
[default]
defaults_mode = standard
```
다음 파라미터는 `defaults_mode`의 선택에 따라 최적화될 수 있습니다.  
+ `retryMode`— SDK 재시도 방법을 지정합니다. [재시도 동작](feature-retry-behavior.md)을(를) 참조하세요.
+ `stsRegionalEndpoints` - SDK가 AWS Security Token Service ()와 통신하는 데 사용하는 AWS 서비스 엔드포인트를 결정하는 방법을 지정합니다AWS STS. [AWS STS 리전 엔드포인트](feature-sts-regionalized-endpoints.md)을(를) 참조하세요.
+ `s3UsEast1RegionalEndpoints` - SDK가 `us-east-1` 리전의 Amazon S3와 통신하는 데 사용하는 AWS 서비스 엔드포인트를 결정하는 방법을 지정합니다.
+ `connectTimeoutInMillis`— 소켓에서 처음 연결을 시도한 후 제한 시간이 초과되기까지의 시간. 클라이언트가 연결 핸드셰이크 완료를 수신하지 못하면 클라이언트는 작업을 포기하고 중단합니다.
+ `tlsNegotiationTimeoutInMillis`— CLIENT HELLO 메시지가 전송된 시점부터 클라이언트와 서버가 암호를 완전히 협상하고 키를 교환할 때까지 TLS 핸드셰이크에 걸릴 수 있는 최대 시간입니다.

각 설정의 기본값은 사용자 응용 프로그램에서 선택한 `defaults_mode`에 따라 달라집니다. 이러한 값은 현재 다음과 같이 설정되어 있습니다(변경될 수 있음).


| 파라미터 | `standard` 모드 | `in-region` 모드 | `cross-region` 모드 | `mobile` 모드 | 
| --- | --- | --- | --- | --- | 
|  retryMode  | standard | standard | standard | standard | 
|  stsRegionalEndpoints  | regional | regional | regional | regional | 
|  s3UsEast1RegionalEndpoints  | regional | regional | regional | regional | 
|  connectTimeoutInMillis  | 3100 | 1100 | 3100 | 30000 | 
|  tlsNegotiationTimeoutInMillis  | 3100 | 1100 | 3100 | 30000 | 

예를 들어, 선택한 `defaults_mode` 값이 `standard`이면 `standard`의 값이 같으면 `retry_mode` (유효한 `retry_mode`옵션에서)의 값이 할당되고 `regional`의 값이 `stsRegionalEndpoints`에 할당됩니다(유효한 `stsRegionalEndpoints` 옵션에서).

## AWS SDKs 도구 지원
<a name="feature-smart-config-defaults-sdk-compat"></a>

다음 SDK는 이 주제에서 설명하는 기능 및 설정을 지원합니다. 모든 일부 예외가 기록됩니다. 모든 JVM 시스템 속성 설정은 AWS SDK for Java 및 AWS SDK for Kotlin 에서만 지원됩니다.


| SDK | 지원됨 | 참고 또는 추가 정보 | 
| --- | --- | --- | 
| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 아니요 |  | 
| [SDK for C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) |  예 | 최적화되지 않은 매개변수:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis. | 
| [SDK for Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 예 | 최적화되지 않은 매개변수:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,retryMode. | 
| [SDK for Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 아니요 |  | 
| [SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 예 | 최적화되지 않은 매개변수:stsRegionalEndpoints. | 
| [SDK for Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 아니요 |  | 
| [SDK for JavaScript 3.x](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 예 | 최적화되지 않은 매개변수:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis. connectTimeoutInMillis가 connectionTimeout 직접 호출됩니다. | 
| [SDK for JavaScript 2.x](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 아니요 |  | 
| [SDK for Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 아니요 |  | 
| [.NET 4.x용 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 예 | 최적화되지 않은 매개변수:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis. | 
| [SDK for .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 예 | 최적화되지 않은 매개변수:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis. | 
| [SDK for PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 예 | 최적화되지 않은 매개변수:tlsNegotiationTimeoutInMillis. | 
| [SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 예 | 최적화되지 않은 매개변수:tlsNegotiationTimeoutInMillis. | 
| [SDK for Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 예 |   | 
| [SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 아니요 |  | 
| [SDK for Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 아니요 |  | 
| [PowerShell V5용 도구](https://docs.aws.amazon.com/powershell/latest/userguide/) | 예 | 최적화되지 않은 매개변수:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis. | 
| [PowerShell V4용 도구](https://docs.aws.amazon.com/powershell/v4/userguide/) | 예 | 최적화되지 않은 매개변수:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis. | 