호스트 접두사 삽입 - AWS SDKs 및 도구

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

호스트 접두사 삽입

참고

설정 페이지의 레이아웃을 이해하거나 다음에 나오는 Support AWS SDKs이 가이드의 설정 페이지 이해.

호스트 접두사 삽입은 AWS SDKs가 특정 API 작업에 대한 서비스 엔드포인트의 호스트 이름 앞에 접두사를 자동으로 추가하는 기능입니다. 이 접두사는 정적 문자열이거나 요청 파라미터의 데이터를 포함하는 동적 값일 수 있습니다.

예를 들어 Amazon Simple Storage Service를 사용하여 Amazon S3 객체 또는 버킷에 대한 작업을 수행할 때 SDK는 최종 API 엔드포인트의 버킷 이름과 AWS 계정 ID를 대체합니다.

이 동작은 일반 AWS 서비스 엔드포인트에 필요하지만 VPC 엔드포인트 또는 로컬 테스트 도구와 같은 사용자 지정 엔드포인트를 사용할 때 문제가 발생할 수 있습니다. 이러한 경우 호스트 접두사 삽입을 비활성화해야 할 수 있습니다.

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

disable_host_prefix_injection - 공유 AWS config 파일 설정
AWS_DISABLE_HOST_PREFIX_INJECTION - 환경 변수
aws.disableHostPrefixInjection - JVM 시스템 속성: Java/Kotlin만 해당

이 설정은 SDK 또는 도구가 SDK의 클라이언트 객체 또는 변수에 정의된 호스트 접두사 앞에 추가하여 엔드포인트 호스트 이름을 수정할지 여부를 제어합니다.

기본값: false

유효한 값:

  • true - 호스트 접두사 삽입을 비활성화합니다. SDK는 엔드포인트 호스트 이름을 수정하지 않습니다.

  • false - 호스트 접두사 삽입을 활성화합니다. SDK는 호스트 접두사를 엔드포인트 호스트 이름 앞에 추가합니다.

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

[default] disable_host_prefix_injection = true

명령 행을 통한 환경 변수 설정의 Linux/macOS 예제:

export AWS_DISABLE_HOST_PREFIX_INJECTION=true

명령줄을 통해 환경 변수를 설정하는 Windows 예제:

setx AWS_DISABLE_HOST_PREFIX_INJECTION true

호스트 접두사 삽입의 예

다음 예제 표는 호스트 접두사 삽입이 활성화 및 비활성화될 때 SDKs가 최종 엔드포인트를 수정하는 방법을 보여줍니다.

  • 호스트 접두사: SDK의 클라이언트 객체 또는 코드의 변수에 설정된 호스트 접두사 속성 문자열의 템플릿입니다.

  • 입력: SDK의 클라이언트 객체 또는 코드의 변수에 설정된 추가 입력입니다.

  • 클라이언트 엔드포인트: 클라이언트의 파생 엔드포인트입니다.

  • 설정 값: 이전 설정의 해결된 값입니다.

  • 결과 엔드포인트: SDK 클라이언트가 API 호출에 사용하는 결과 엔드포인트입니다.

호스트 접두사 입력 클라이언트 엔드포인트 값 설정 결과 엔드포인트
"data." {} "https://service.us-west-2.amazonaws.com" false "https://data.service.us-west-2.amazonaws.com"
"{Bucket}-{AccountId}." Bucket: "amzn-s3-demo-bucket1", AccountId:"123456789012" "https://service.us-west-2.amazonaws.com" false "https://amzn-s3-demo-bucket1-123456789012.service.us-west-2.amazonaws.com"
"data." {} "https://override.us-west-2.amazonaws.com" (as an override endpoint) true "https://override.us-west-2.amazonaws.com"

AWS SDKs 도구 지원

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

SDK 지원 참고 또는 추가 정보
AWS CLI v2
SDK for C++ 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다enableHostPrefixInjection.
SDK for Go V2 (1.x) 아니요 미들웨어를 사용하여 비활성화할 수 있습니다.
SDK for Go 1.x (V1) 아니요
SDK for Java 2.x 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다SdkAdvancedClientOption.DISABLE_HOST_PREFIX_INJECTION.
SDK for Java 1.x 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다withDisableHostPrefixInjection.
SDK for JavaScript 3.x 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다disableHostPrefix.
SDK for JavaScript 2.x 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다hostPrefixEnabled.
SDK for Kotlin 아니요
.NET 4.x용 SDK 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다DisableHostPrefixInjection.
SDK for .NET 3.x 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다DisableHostPrefixInjection.
SDK for PHP 3.x 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다disable_host_prefix_injection.
SDK for Python (Boto3) 를 사용하여 클라이언트의 코드로 구성할 수 있습니다inject_host_prefix.
SDK for Ruby 3.x 아니요 설정은 지원되지 않지만를 사용하여 클라이언트의 코드에서 구성할 수 있습니다disable_host_prefix_injection.
SDK for Rust 아니요
SDK for Swift 아니요
PowerShell V5용 도구 아니요 설정은 지원되지 않지만 파라미터를 사용하여 특정 cmdlet에 포함할 수 있습니다-ClientConfig @{DisableHostPrefixInjection = $true}.
PowerShell V4용 도구 아니요 설정은 지원되지 않지만 파라미터를 사용하여 특정 cmdlet에 포함할 수 있습니다-ClientConfig @{DisableHostPrefixInjection = $true}.