

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

# 호스트 접두사 삽입
<a name="feature-host-prefix"></a>

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

호스트 접두사 삽입은 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
```

## 호스트 접두사 삽입의 예
<a name="hostprefix_examples"></a>

아래 예시 표는 호스트 접두사 삽입이 활성화된 경우와 비활성화된 경우, SDK가 최종 엔드포인트를 어떻게 수정하는지를 보여줍니다.
+ **호스트 접두사**: 코드에서 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 도구 지원
<a name="host-prefix-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\+\+](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 아니요 | 설정은 지원되지 않지만 [https://sdk.amazonaws.com/cpp/api/LATEST/aws-cpp-sdk-core/html/struct_aws_1_1_client_1_1_client_configuration.html](https://sdk.amazonaws.com/cpp/api/LATEST/aws-cpp-sdk-core/html/struct_aws_1_1_client_1_1_client_configuration.html)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [SDK for Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 아니요 | [미들웨어를 사용](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/configure-endpoints.html)하여 비활성화할 수 있습니다. | 
| [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/) | 아니요 | 설정은 지원되지 않지만 [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/client/config/SdkAdvancedClientOption.html#DISABLE_HOST_PREFIX_INJECTION](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/client/config/SdkAdvancedClientOption.html#DISABLE_HOST_PREFIX_INJECTION)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [SDK for Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 아니요 | 설정은 지원되지 않지만 [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfiguration.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfiguration.html)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [SDK for JavaScript 3.x](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 아니요 | 설정은 지원되지 않지만 [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3-control/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3-control/)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [SDK for JavaScript 2.x](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 아니요 | 설정은 지원되지 않지만 [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [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/) | 아니요 | 설정은 지원되지 않지만 [https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [SDK for .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 아니요 | 설정은 지원되지 않지만 [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [SDK for PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 아니요 | 설정은 지원되지 않지만 [https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.AwsClient.html](https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.AwsClient.html)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 예 | [https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [SDK for Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 아니요 | 설정은 지원되지 않지만 [https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/lib/aws-sdk-core/plugins/endpoint_pattern.rb#L8](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/lib/aws-sdk-core/plugins/endpoint_pattern.rb#L8)를 사용하여 클라이언트의 코드에서 구성할 수 있습니다. | 
| [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/) | 아니요 | 설정은 지원되지 않지만 -ClientConfig @{DisableHostPrefixInjection = $true} 매개변수를 사용하여 특정 cmdlet에 포함시킬 수 있습니다. | 
| [PowerShell V4용 도구](https://docs.aws.amazon.com/powershell/v4/userguide/) | 아니요 | 설정은 지원되지 않지만 -ClientConfig @{DisableHostPrefixInjection = $true} 매개변수를 사용하여 특정 cmdlet에 포함시킬 수 있습니다. | 