스마트 구성 기본값 - AWS SDKs 및 도구

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

스마트 구성 기본값

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

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

defaults_mode- 공유 AWS config파일 설정
AWS_DEFAULTS_MODE - 환경 변수
aws.defaultsMode- JVM 시스템 속성: 자바/코틀린 전용

이 설정을 사용하면 사용자 애플리케이션 아키텍처에 맞는 모드를 선택하여 애플리케이션에 최적화된 기본값을 제공할 수 있습니다. 만약 AWS SDK설정에 명시적으로 설정된 값이 있으면 해당 값이 항상 우선합니다. 다음과 같은 경우 AWS SDK설정에 명시적으로 설정된 값이 없고 레거시와 defaults_mode 같지 않은 경우 이 기능은 애플리케이션에 최적화된 다양한 설정에 대해 다양한 기본값을 제공할 수 있습니다. 설정에는 HTTP 통신 설정, 재시도 동작, 서비스 지역별 엔드포인트 설정 및 가능한 모든 SDK 관련 구성이 포함될 수 있습니다. 이 기능을 사용하는 고객은 일반 사용 시나리오에 맞게 조정된 새 구성 기본값을 얻을 수 있습니다. 과 같지 않은 경우 모범 사례가 발전함에 따라 제공된 기본값이 변경될 수 있으므로 업그레이드 시 애플리케이션 테스트를 수행하는 defaults_mode 것이 좋습니다. legacy SDK

기본값: legacy

참고: 의 새 메이저 버전은 기본적으로 으로 SDKs 설정됩니다. standard

유효한 값:

  • legacy— 설정 전에 SDK 다양하고 존재했던 기본 설정을 제공합니다defaults_mode.

  • standard— 대부분의 시나리오에서 안전하게 실행할 수 있는 최신 권장 기본값을 제공합니다.

  • in-region— 표준 모드를 기반으로 하며 다음을 호출하는 애플리케이션에 맞게 조정된 최적화를 포함합니다. AWS 서비스 동일한 환경 내에서 AWS 리전.

  • cross-region— 표준 모드를 기반으로 하며 다음을 호출하는 애플리케이션에 맞게 조정된 최적화를 포함합니다. AWS 서비스 다른 지역에서.

  • mobile— 표준 모드를 기반으로 구축하며 모바일 애플리케이션에 맞게 조정된 최적화를 포함합니다.

  • auto— 표준 모드를 기반으로 구축하며 실험적 기능을 포함합니다. 런타임 환경을 검색하여 적절한 설정을 자동으로 SDK 결정하려고 시도합니다. 자동 감지는 휴리스틱 기반이며 정확도가 100%는 아닙니다. 런타임 환경을 확인할 수 없는 경우 standard 모드가 사용됩니다. 자동 탐지는 인스턴스 메타데이터를 쿼리할 수 있으며, 이로 인해 지연 시간이 발생할 수 있습니다. 시작 지연 시간이 애플리케이션에 중요한 경우에는 명시적 지연 시간을 defaults_mode을 대신 선택하는 것이 좋습니다.

config 파일에서 이 값을 설정하는 예:

[default] defaults_mode = standard

다음 파라미터는 defaults_mode의 선택에 따라 최적화될 수 있습니다.

  • retryMode— SDK 시도가 재시도되는 방식을 지정합니다. 재시도 동작을 참조하세요.

  • stsRegionalEndpoints— SDK 결정 방법을 지정합니다. AWS 서비스 엔드포인트와 통신하는 데 사용하는 엔드포인트 AWS Security Token Service (AWS STS). 보세요AWS STS 리전 엔드포인트.

  • s3UsEast1RegionalEndpoints— SDK 결정 방법을 지정합니다. AWS 해당 us-east-1 지역의 Amazon S3와 통신하는 데 사용하는 서비스 엔드포인트입니다.

  • 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

다음은 이 항목에 설명된 기능 및 설정을 SDKs 지원합니다. 모든 일부 예외가 기록됩니다. 모든 JVM 시스템 속성 설정은 에서 지원됩니다. AWS SDK for Java 그리고 AWS SDK for Kotlin 오직.

SDK 지원 참고 또는 추가 정보
AWS CLI v2 아니요
SDKC++의 경우 최적화되지 않은 매개변수:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis.
SDK고 V2 (1.x) 용 최적화되지 않은 매개변수:retryMode,stsRegionalEndpoints,s3UsEast1RegionalEndpoints.
SDKGo 1.x (V1) 용 아니요
SDK자바 2.x의 경우 최적화되지 않은 매개변수:stsRegionalEndpoints.
SDK자바 1.x의 경우 아니요
SDK3.x용 JavaScript 최적화되지 않은 매개변수:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis. connectTimeoutInMillisconnectionTimeout 호출됩니다.
SDK2.x의 경우 JavaScript 아니요
SDK코틀린의 경우 아니요
SDK왜냐하면. NET3.x 최적화되지 않은 매개변수:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.
SDK3.x의 경우 PHP 최적화되지 않은 매개변수:tlsNegotiationTimeoutInMillis.
SDK파이썬용 (보토3) 최적화되지 않은 매개변수:tlsNegotiationTimeoutInMillis.
SDK루비 3.x의 경우
SDK러스트용 아니요
SDK스위프트용 아니요
를 위한 도구 PowerShell 최적화되지 않은 매개변수:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.