

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

# 서비스별 엔드포인트
<a name="feature-ss-endpoints"></a>

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

서비스별 엔드포인트 구성은 API 요청에 대해 사용자가 선택한 엔드포인트를 사용하고 선택을 유지할 수 있는 옵션을 제공합니다. 이러한 설정은 로컬 엔드포인트, VPC 엔드포인트 및 타사 로컬 AWS 개발 환경을 지원할 수 있는 유연성을 제공합니다. 테스트 환경과 프로덕션 환경에 서로 다른 엔드포인트를 사용할 수 있습니다. 개별 AWS 서비스서비스에 대한 엔드포인트 URL을 지정할 수 있습니다.

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

**`endpoint_url` - 공유 AWS `config` 파일 설정`AWS_ENDPOINT_URL` - 환경 변수`aws.endpointUrl` - JVM 시스템 속성: Java/Kotlin만 해당**  
프로파일 내에서 직접 지정하거나 환경 변수로 지정하는 경우 이 설정은 모든 서비스 요청에 사용되는 엔드포인트를 지정합니다. 이 엔드포인트는 구성된 모든 서비스별 엔드포인트에 의해 재정의됩니다.  
공유 AWS `config` 파일의 `services` 섹션 내에서이 설정을 사용하여 특정 서비스에 대한 사용자 지정 엔드포인트를 설정할 수도 있습니다. `services` 섹션에서 사용할 모든 서비스 식별자 키 목록은 [서비스별 엔드포인트 식별자](ss-endpoints-table.md) 섹션을 참조하십시오.  
**기본값:** `none`  
**유효한 값:** 엔드포인트의 스키마와 호스트가 포함된 URL. URL에는 하나 이상의 경로 세그먼트가 포함된 경로 구성 요소가 선택적으로 포함될 수 있습니다.

**`AWS_ENDPOINT_URL_<SERVICE>` - 환경 변수`aws.endpointUrl<ServiceName>` - JVM 시스템 속성: Java/Kotlin만 해당**  
`AWS_ENDPOINT_URL_<SERVICE>`, 여기서 `<SERVICE>`는 AWS 서비스 식별자이며,는 특정 서비스에 대한 사용자 지정 엔드포인트를 설정합니다. 모든 서비스별 환경 변수 목록은 [서비스별 엔드포인트 식별자](ss-endpoints-table.md)을 참조하십시오.  
이 서비스별 엔드포인트는 `AWS_ENDPOINT_URL`에 설정된 모든 글로벌 엔드포인트보다 우선합니다.  
**기본값:** `none`  
**유효한 값:** 엔드포인트의 스키마와 호스트가 포함된 URL. URL에는 하나 이상의 경로 세그먼트가 포함된 경로 구성 요소가 선택적으로 포함될 수 있습니다.

**`ignore_configured_endpoint_urls` - 공유 AWS `config` 파일 설정`AWS_IGNORE_CONFIGURED_ENDPOINT_URLS` - 환경 변수`aws.ignoreConfiguredEndpointUrls` - JVM 시스템 속성: Java/Kotlin만 해당**  
이 설정은 모든 사용자 지정 엔드포인트 구성을 무시하는 데 사용됩니다.  
코드에 설정되거나 서비스 클라이언트 자체에 설정된 명시적 엔드포인트는 이 설정과 상관없이 사용된다는 점에 유의하십시오. 예를 들어 `--endpoint-url` 명령줄 파라미터를 AWS CLI 명령과 함께 포함하거나 엔드포인트 URL을 클라이언트 생성자에 전달하면 항상 적용됩니다.  
**기본값:** `false`  
**유효값:**  
+ **`true`**— SDK 또는 도구는 공유 `config` 파일 또는 환경 변수에서 엔드포인트 URL 설정을 위한 사용자 지정 구성 옵션을 읽지 않습니다.
+ **`false`**— SDK 또는 도구는 공유 `config` 파일 또는 환경 변수에서 사용 가능한 사용자 제공 엔드포인트를 사용합니다.

## 환경 변수를 사용한 엔드포인트 구성
<a name="ss-endpoints-envar"></a>

모든 서비스에 대한 요청을 사용자 지정 엔드포인트 URL로 라우팅하려면 `AWS_ENDPOINT_URL` 글로벌 환경 변수를 설정하십시오.

```
export AWS_ENDPOINT_URL=http://localhost:4567
```

특정에 대한 요청을 사용자 지정 엔드포인트 URL AWS 서비스 로 라우팅하려면 `AWS_ENDPOINT_URL_<SERVICE>` 환경 변수를 사용합니다. Amazon DynamoDB 에는 `serviceId`의이 있습니다[https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10). 이 서비스의 경우 엔드포인트 URL 환경 변수는 `AWS_ENDPOINT_URL_DYNAMODB`입니다. 이 엔드포인트는 이서비스에 대해 `AWS_ENDPOINT_URL`에 설정된 글로벌 엔드포인트보다 우선합니다.

```
export AWS_ENDPOINT_URL_DYNAMODB=http://localhost:5678
```

 또 다른 예로의 `serviceId` AWS Elastic Beanstalk 가 있습니다[https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9). AWS 서비스 식별자는 모든 공백을 밑줄로 바꾸고 모든 문자를 대문자로 대체`serviceId`하여 API 모델의를 기반으로 합니다. 이 서비스에 대한 엔드포인트를 설정하려면 해당 환경 변수는 `AWS_ENDPOINT_URL_ELASTIC_BEANSTALK`입니다. 모든 서비스별 환경 변수 목록은 [서비스별 엔드포인트 식별자](ss-endpoints-table.md)을 참조하십시오.

```
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:5567
```

## 공유 `config` 파일을 사용하여 엔드포인트를 구성합니다.
<a name="ss-endpoints-config"></a>

공유 `config` 파일에서는 다양한 기능을 위해 여러 위치에서 `endpoint_url`이 사용됩니다.
+ `profile` 내에서 직접 지정된 `endpoint_url`은 해당 엔드포인트를 글로벌 엔드포인트로 만듭니다.
+ `services` 섹션 내의 서비스 식별자 키 아래에 중첩된 `endpoint_url`은 해당 엔드포인트가 해당 서비스에 대한 요청에만 적용되로고 만듭니다. 공유 `config` 파일에서 `services` 섹션을 정의하는 방법에 대한 자세한 내용은 [구성 파일 형식](file-format.md#file-format-config)를 참조하십시오.

 다음 예제에서는 `services` 정의를 사용하여 Amazon S3에 대한 서비스별 엔드포인트 URL과 다른 모든 서비스에 사용되는 사용자 지정 글로벌 엔드포인트를 구성합니다.

```
[profile dev-s3-specific-and-global]
endpoint_url = http://localhost:1234
services = s3-specific

[services s3-specific]
s3 = 
  endpoint_url = https://play.min.io:9000
```

단일 프로파일로 여러 서비스에 대한 엔드포인트를 구성할 수 있습니다. 이 예제에서는 동일한 프로파일에서 Amazon S3 및 AWS Elastic Beanstalk 에 대한 서비스별 엔드포인트 URLs을 설정하는 방법을 보여줍니다. `serviceId`의 AWS Elastic Beanstalk 가 있습니다[https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9). AWS 서비스 식별자는 모든 공백을 밑줄로 바꾸고 모든 문자를 소문자로 대체`serviceId`하여 API 모델의를 기반으로 합니다. 따라서 서비스 식별자 키가 `elastic_beanstalk`가 되고 이 서비스에 대한 설정이 `elastic_beanstalk = ` 줄에서 시작됩니다. `services` 섹션에서 사용할 모든 서비스 식별자 키 목록은 [서비스별 엔드포인트 식별자](ss-endpoints-table.md)을 참조하십시오.

```
[services testing-s3-and-eb]
s3 = 
  endpoint_url = http://localhost:4567
elastic_beanstalk = 
  endpoint_url = http://localhost:8000

[profile dev]
services = testing-s3-and-eb
```

서비스 구성 섹션은 여러 프로파일에서 사용할 수 있습니다. 예를 들어 두 프로파일이 동일한 `services` 정의를 사용하면서 다른 프로파일 속성을 변경할 수 있습니다.

```
[services testing-s3]
s3 = 
  endpoint_url = https://localhost:4567

[profile testing-json]
output = json
services = testing-s3

[profile testing-text]
output = text
services = testing-s3
```

## 역할 기반 보안 인증을 사용하여 프로파일의 엔드포인트 구성
<a name="ss-endpoints-role"></a>

프로파일에 역할 기반 보안 인증 정보가 IAM 가정 역할 기능에 대한 `source_profile` 파라미터를 통해 구성된 경우 SDK는 지정된 프로파일에 대한 서비스 구성만 사용합니다. 역할이 연결된 프로파일은 사용하지 않습니다. 예를 들어 다음과 같은 공유 `config` 파일을 사용합니다.

```
[profile A]
credential_source = Ec2InstanceMetadata
endpoint_url = https://profile-a-endpoint.aws/

[profile B]
source_profile = A
role_arn = arn:aws:iam::123456789012:role/roleB
services = profileB

[services profileB]
ec2 = 
  endpoint_url = https://profile-b-ec2-endpoint.aws
```

 프로파일 `B`를 사용하고 코드에서 Amazon EC2로 직접 호출하는 경우 엔드포인트는 `https://profile-b-ec2-endpoint.aws`로 확인됩니다. 코드에서 다른 서비스에 요청을 하는 경우 엔드포인트 확인은 사용자 지정 로직을 따르지 않습니다. 엔드포인트는 프로파일 `A`에 정의된 글로벌 엔드포인트로 확인되지 않습니다. 글로벌 엔드포인트가 프로파일 `B`에 적용되려면 프로파일 `B` 내에서 직접 `endpoint_url`을 설정해야 합니다. `source_profile` 설정에 대한 자세한 내용은 [역할 보안 인증 제공자 수임](feature-assume-role-credentials.md) 단원을 참조하십시오.

## 설정의 우선 순위
<a name="ss-endpoints-precedence"></a>

 이 기능의 설정은 동시에 사용할 수 있지만 서비스당 하나의 값만 우선합니다. 지정된에 대한 API 호출 AWS 서비스의 경우 다음 순서가 값을 선택하는 데 사용됩니다.

1. 코드나 서비스 클라이언트 자체에 설정된 모든 명시적 설정은 다른 모든 설정보다 우선합니다.
   + 의 경우 `--endpoint-url` 명령줄 파라미터에서 제공하는 값 AWS CLI입니다. SDK의 경우 명시적 할당은 AWS 서비스 클라이언트 또는 구성 객체를 인스턴스화할 때 설정한 파라미터의 형태를 취할 수 있습니다.

1. 서비스별 환경 변수에서 제공하는 값(예: `AWS_ENDPOINT_URL_DYNAMODB`).

1. `AWS_ENDPOINT_URL` 글로벌 엔드포인트 환경 변수에 의해 제공되는 값입니다.

1. 공유 `config` 파일의 `services` 섹션 내에 서비스 식별자 키 아래 중첩된 `endpoint_url` 설정에서 제공하는 값.

1. 공유 `config` 파일의 `profile` 내에서 직접 지정된 `endpoint_url` 설정에 의해 제공되는 값.

1. 각의 기본 엔드포인트 URL AWS 서비스 이 마지막으로 사용됩니다.

## AWS SDKs 도구 지원
<a name="ss-endpoints-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/) | 예 |  | 
| [SDK for Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 예 |  | 
| [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/) | 예 |  | 
| [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/) | 예 |  | 
| [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/) | 예 |  | 
| [SDK for .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 예 |  | 
| [SDK for PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 예 |  | 
| [SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 예 |  | 
| [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/) | 예 |  | 
| [PowerShell V4용 도구](https://docs.aws.amazon.com/powershell/v4/userguide/) | 예 |  | 