

**이 문서는 AWS CLI의 버전 1에만 해당합니다.**

곧 AWS CLI 버전 1에 대한 지원이 종료될 예정임을 알려드립니다. AWS CLI 버전 2로 마이그레이션하는 것이 좋습니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 [공지 사항](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/)을 참조하세요. AWS CLI의 버전 2와 관련된 문서는 [버전 2 사용 설명서](https://docs.aws.amazon.com/cli/latest/userguide/)를 참조하세요.

# AWS CLI에서 엔드포인트 사용
<a name="cli-configure-endpoints"></a>

AWS 서비스에 프로그래밍 방식으로 연결하려면 엔드포인트를 사용해야 합니다. *엔드포인트*는 AWS 웹 서비스를 위한 진입점의 URL입니다. AWS Command Line Interface(AWS CLI)는 AWS 리전 리전의 각 서비스에 대해 자동으로 기본 엔드포인트를 사용하지만, API 요청에 대해 대체 엔드포인트를 지정할 수 있습니다.

**Contents**
+ [단일 명령에 대한 엔드포인트 설정](#endpoints-command)
+ [모든 AWS 서비스 서비스에 대한 글로벌 엔드포인트 설정](#endpoints-global)
+ [모든 AWS 서비스에 FIPS 엔드포인트를 사용하도록 설정](#endpoints-fips)
+ [모든 AWS 서비스에 이중 스택 엔드포인트를 사용하도록 설정](#endpoints-dual-stack)
+ [서비스별 엔드포인트 설정](#endpoints-service-specific)
  + [환경 변수](#endpoints-service-specific-envvars)
  + [공유 `config` 파일](#endpoints-service-specific-config)
  + [서비스별 식별자 목록](#endpoints-service-specific-table)
+ [계정 기반 엔드포인트](#endpoints-accountid)
+ [엔드포인트 구성 및 설정 우선 순위](#endpoints-precedence)

## 단일 명령에 대한 엔드포인트 설정
<a name="endpoints-command"></a>

단일 명령에 대한 엔드포인트 설정이나 환경 변수를 재정의하려면 `--endpoint-url` 명령줄 옵션을 사용하세요. 다음 명령 예제에서는 사용자 지정 Amazon S3 엔드포인트 URL을 사용합니다.

```
$ aws s3 ls --endpoint-url http://localhost:4567
```

## 모든 AWS 서비스 서비스에 대한 글로벌 엔드포인트 설정
<a name="endpoints-global"></a>

모든 서비스에 대한 요청을 사용자 지정 엔드포인트 URL로 라우팅하려면 다음 설정 중 하나를 사용하세요.
+ 환경 변수:
  + `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS` - 구성된 엔드포인트 URL을 무시합니다.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    ```

------
#### [ Windows Command Prompt ]

    **모든 세션에 대해 설정하려면**

    ```
    C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true
    ```

    **현재 세션에만 설정하려면**

    ```
    C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
    ```

------
  + `AWS\$1ENDPOINT\$1URL` - 글로벌 엔드포인트 URL을 설정합니다.

------
#### [ Linux or macOS ]

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

------
#### [ Windows Command Prompt ]

    **모든 세션에 대해 설정하려면**

    ```
    C:\> setx AWS_ENDPOINT_URL http://localhost:4567
    ```

    **현재 세션에만 설정하려면**

    ```
    C:\> set AWS_ENDPOINT_URL=http://localhost:4567
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ENDPOINT_URL="http://localhost:4567"
    ```

------
+ `config` 파일:
  + `ignore\$1configure\$1endpoint\$1urls` - 구성된 엔드포인트 URL을 무시합니다.

    ```
    ignore_configure_endpoint_urls = true
    ```
  + `endpoint\$1url` - 글로벌 엔드포인트 URL을 설정합니다.

    ```
    endpoint_url = http://localhost:4567
    ```

서비스별 엔드포인트와 `--endpoint-url` 명령줄 옵션은 모든 전역 엔드포인트를 재정의합니다.

## 모든 AWS 서비스에 FIPS 엔드포인트를 사용하도록 설정
<a name="endpoints-fips"></a>

모든 서비스에 대한 요청을 FIP 엔드포인트로 라우팅하려면 다음 중 하나를 사용하세요.
+ `AWS\$1USE\$1FIPS\$1ENDPOINT` 환경 변수

------
#### [ Linux or macOS ]

  ```
  $ export AWS_USE_FIPS_ENDPOINT=true
  ```

------
#### [ Windows Command Prompt ]

  **모든 세션에 대해 설정하려면**

  ```
  C:\> setx AWS_USE_FIPS_ENDPOINT true
  ```

  **현재 세션에만 설정하려면**

  ```
  C:\> set AWS_USE_FIPS_ENDPOINT=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_USE_FIPS_ENDPOINT="true"
  ```

------
+ `use\$1fips\$1endpoint` 파일 설정

  ```
  use_fips_endpoint = true
  ```

일부 AWS 서비스는 일부 AWS 리전에서 [FIPS(Federal Information Processing Standard) 140-2](https://aws.amazon.com/compliance/fips/)를 지원하는 엔드포인트를 제공합니다. AWS 서비스에서 FIPS를 지원하는 경우 이 설정은 AWS CLI에서 사용해야 하는 FIPS 엔드포인트를 지정합니다. 표준 AWS 엔드포인트와 달리 FIPS 엔드포인트에서는 FIPS 140-2를 준수하는 TLS 소프트웨어 라이브러리를 사용합니다. 이러한 엔드포인트는 미국 정부와 상호 작용하는 기업에 필요할 수 있습니다.

이 설정이 활성화되어 있지만 해당 서비스에 대한 FIPS 엔드포인트가 AWS 리전에 없는 경우 AWS 명령이 실패할 수 있습니다. 이 경우 `--endpoint-url` 옵션을 사용하여 명령에 사용할 엔드포인트를 수동으로 지정하거나 [서비스별 엔드포인트](#endpoints-service-specific)를 사용합니다.

AWS 리전별로 FIPS 엔드포인트를 지정하는 방법에 대한 자세한 내용은 [서비스별 FIPS 엔드포인트](https://aws.amazon.com/compliance/fips/)를 참조하세요.

## 모든 AWS 서비스에 이중 스택 엔드포인트를 사용하도록 설정
<a name="endpoints-dual-stack"></a>

모든 서비스에 대한 요청을 사용 가능한 이중 스택 엔드포인트로 라우팅하려면 다음 설정 중 하나를 사용하세요.
+ `AWS\$1USE\$1DUALSTACK\$1ENDPOINT` 환경 변수

------
#### [ Linux or macOS ]

  ```
  $ export AWS_USE_DUALSTACK_ENDPOINT=true
  ```

------
#### [ Windows Command Prompt ]

  **모든 세션에 대해 설정하려면**

  ```
  C:\> setx AWS_USE_DUALSTACK_ENDPOINT true
  ```

  **현재 세션에만 설정하려면**

  ```
  C:\> set AWS_USE_DUALSTACK_ENDPOINT=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_USE_DUALSTACK_ENDPOINT="true"
  ```

------
+ `use\$1dualstack\$1endpoint` 파일 설정

  ```
  use_dualstack_endpoint = true
  ```

이중 스택 엔드포인트를 사용하여 AWS 요청을 보내도록 설정합니다. *IPv4 및 IPv6 트래픽을 모두 지원하는 이중 스택 엔드포인트에 대한 자세한 내용은 Amazon 심플 스토리지 서비스 사용 설명서*의 [Amazon S3 이중 스택 엔드포인트](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html) 사용을 참조하세요. 이중 스택 엔드포인트는 일부 리전에 사용할 수 있는 서비스입니다. 서비스 또는 AWS 리전에 대한 이중 스택 엔드포인트가 없는 경우 요청이 실패합니다. 이 옵션은 기본적으로 비활성화되어 있습니다.

## 서비스별 엔드포인트 설정
<a name="endpoints-service-specific"></a>

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

서비스별 엔드포인트는 다음과 같은 방법으로 지정할 수 있습니다.
+ 단일 명령에 대한 명령줄 옵션 `--endpoint-url`.
+ 환경 변수:
  + `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS` - 명령줄에 지정하지 않는 한 구성된 모든 엔드포인트 URL을 무시합니다.
  + `AWS\$1ENDPOINT\$1URL\$1<SERVICE>` - 특정 서비스에 사용되는 사용자 지정 엔드포인트를 지정하며, 여기서 `<SERVICE>`는 AWS 서비스 서비스 식별자로 대체됩니다. 모든 서비스별 변수에 대해서는 [서비스별 엔드포인트: 서비스별 식별자 목록](#endpoints-service-specific-table)를 참조하세요
+ `config` 파일:
  + `ignore\$1configure\$1endpoint\$1urls` - 환경 변수를 사용하거나 명령줄에서 지정하지 않는 한 구성된 모든 엔드포인트 URL을 무시합니다.
  + `config` 파일의 [`services`](cli-configure-files.md#cli-configure-files-format-services) 섹션과 `endpoint\$1url` 파일 설정이 결합됩니다.

**Topics**
+ [환경 변수](#endpoints-service-specific-envvars)
+ [공유 `config` 파일](#endpoints-service-specific-config)
+ [서비스별 식별자 목록](#endpoints-service-specific-table)

### 서비스별 엔드포인트: 환경 변수
<a name="endpoints-service-specific-envvars"></a>

환경 변수는 구성 파일의 설정을 재정의하지만 명령줄에 지정된 옵션을 재정의하지는 않습니다. 모든 프로파일이 디바이스에서 동일한 엔드포인트를 사용하도록 하려면 환경 변수를 사용하세요.

다음은 서비스별 환경 변수입니다.
+ `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS` - 명령줄에 지정하지 않는 한 구성된 모든 엔드포인트 URL을 무시합니다.

------
#### [ Linux or macOS ]

  ```
  $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
  ```

------
#### [ Windows Command Prompt ]

  **모든 세션에 대해 설정하려면**

  ```
  C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true
  ```

  **현재 세션에만 설정하려면**

  ```
  C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
  ```

------
+ `AWS\$1ENDPOINT\$1URL\$1<SERVICE>` - 특정 서비스에 사용되는 사용자 지정 엔드포인트를 지정하며, 여기서 AWS 서비스가 `<SERVICE>` 식별자로 대체됩니다. 모든 서비스별 변수에 대해서는 [서비스별 엔드포인트: 서비스별 식별자 목록](#endpoints-service-specific-table)를 참조하세요

  다음 환경 변수 예제는 AWS Elastic Beanstalk의 엔드포인트를 설정합니다.

------
#### [ Linux or macOS ]

  ```
  $ export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
  ```

------
#### [ Windows Command Prompt ]

  **모든 세션에 대해 설정하려면**

  ```
  C:\> setx AWS_ENDPOINT_URL_ELASTIC_BEANSTALK http://localhost:4567
  ```

  **현재 세션에만 설정하려면**

  ```
  C:\> set AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_ENDPOINT_URL_ELASTIC_BEANSTALK="http://localhost:4567"
  ```

------

환경 변수 설정에 대한 자세한 내용은 환경 변수를 사용하여 [AWS CLI에 대한 환경 변수 구성](cli-configure-envvars.md)을 참조하세요.

### 서비스별 엔드포인트: 공유 `config` 파일
<a name="endpoints-service-specific-config"></a>

공유 `config` 파일에서 `endpoint_url`은 여러 섹션에서 사용됩니다. 서비스별 엔드포인트를 설정하려면 `services` 섹션 내의 서비스 식별자 키 아래에 중첩된 `endpoint_url` 설정을 사용하세요. 공유 `config` 파일에서 `services` 섹션을 정의하는 방법에 대한 자세한 내용은 [섹션 유형: `services`](cli-configure-files.md#cli-configure-files-format-services)를 참조하세요.

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

```
[profile dev1]
endpoint_url = http://localhost:1234
services = s3-specific

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

단일 프로파일로 여러 서비스에 대한 엔드포인트를 구성할 수 있습니다. 다음 예제에서는 동일한 프로파일에서 Amazon S3와 AWS Elastic Beanstalk에 대한 서비스별 엔드포인트 URL을 설정합니다.

`services` 섹션에서 사용할 모든 서비스 식별자 키 목록은 [서비스별 식별자 목록](#endpoints-service-specific-table)을 참조하세요.

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

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

서비스 구성 섹션은 여러 프로파일에서 사용할 수 있습니다. 다음 예제에서는 두 개의 프로파일이 동일한 `services` 정의를 사용합니다.

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

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

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

### 서비스별 엔드포인트: 서비스별 식별자 목록
<a name="endpoints-service-specific-table"></a>

AWS 서비스 서비스 식별자는 모든 공백을 밑줄로 바꾸고 모든 문자를 소문자로 바꾸는 방식으로 API 모델의 `serviceId`를 기반으로 합니다.

다음 표에는 모든 서비스별 식별자, `config` 파일 키 및 환경 변수가 나열되어 있습니다.

## 계정 기반 엔드포인트
<a name="endpoints-accountid"></a>

계정 기반 엔드포인트는 다음과 같은 방법으로 지정할 수 있습니다.
+ 환경 변수
  + `AWS\$1ACCOUNT\$1ID` - 지원되는 AWS 서비스에 대한 호출에 사용할 AWS 계정 기반 엔드포인트 ID를 지정합니다.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_ACCOUNT_ID=<account-id>
    ```

------
#### [ Windows Command Prompt ]

    **모든 세션에 대해 설정하려면**

    ```
    C:\> setx AWS_ACCOUNT_ID <account-id>
    ```

    **현재 세션에만 설정하려면**

    ```
    C:\> set AWS_ACCOUNT_ID=<account-id>
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ACCOUNT_ID="<account-id>"
    ```

------
  + `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` - 지원되는 AWS 서비스에 대한 호출에 AWS 계정 기반 엔드포인트 ID를 사용할지 여부를 지정합니다. `preferred`, `disabled` 또는 `required`로 설정할 수 있습니다. 기본값은 `preferred`입니다.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
    ```

------
#### [ Windows Command Prompt ]

    **모든 세션에 대해 설정하려면**

    ```
    C:\> setx AWS_ACCOUNT_ID_ENDPOINT_MODE preferred
    ```

    **현재 세션에만 설정하려면**

    ```
    C:\> set AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ACCOUNT_ID_ENDPOINT_MODE="preferred"
    ```

------
+ `config` 파일:
  + `aws\$1account\$1id` - 지원되는 AWS 서비스에 대한 호출에 사용할 AWS 계정 기반 엔드포인트 ID를 지정합니다.

    ```
    aws_account_id = <account-id>
    ```
  + `account\$1id\$1endpoint\$1mode` - 지원되는 AWS 서비스에 대한 호출에 AWS 계정 기반 엔드포인트 ID를 사용할지 여부를 지정합니다. `preferred`, `disabled` 또는 `required`로 설정할 수 있습니다. 기본값이 선호됩니다.

    ```
    account_id_endpoint_mode = preferred
    ```

계정 기반 엔드포인트는 AWS 계정 ID를 사용하여 이 기능을 지원하는 서비스에 대한 AWS 서비스 요청 라우팅을 간소화하여 고성능과 확장성을 확보하는 데 도움이 됩니다. 자격 증명 공급자와 계정 기반 엔드포인트를 지원하는 서비스를 사용하는 경우 AWS CLI는 리전 엔드포인트 대신 계정 기반 엔드포인트를 자동으로 구성하고 사용합니다.

계정 기반 엔드포인트는 다음 형식을 사용합니다. 여기서 `<account-id>`는 AWS 계정 ID로 대체되고 `<region>`는 AWS 리전으로 대체됩니다.

```
https://<account-id>.myservice.<region>.amazonaws.com
```

기본적으로 AWS CLI에서 계정 기반 엔드포인트 모드는 `preferred`로 설정됩니다.

## 엔드포인트 구성 및 설정 우선 순위
<a name="endpoints-precedence"></a>

엔드포인트 구성 설정은 시스템 또는 사용자 환경 변수, 로컬 AWS 구성 파일 또는 명령줄에서 파라미터로 명시적으로 선언된 위치 등 다양한 장소에 있습니다. AWS CLI 엔드포인트 구성 설정은 다음 순서에 따라 우선적으로 적용됩니다.

1. `--endpoint-url` 명령줄 옵션

1. 사용 설정된 경우, 사용자 지정 엔드포인트를 무시하도록 `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS` 글로벌 엔드포인트 환경 변수 또는 프로파일 설정 `ignore\$1configure\$1endpoint\$1urls`를 사용합니다.

1. 서비스별 환경 변수 `AWS\$1ENDPOINT\$1URL\$1<SERVICE>`에서 제공하는 값(예: `AWS_ENDPOINT_URL_DYNAMODB`).

1. `AWS\$1USE\$1DUALSTACK\$1ENDPOINT`, `AWS\$1USE\$1FIPS\$1ENDPOINT` 및 `AWS\$1ENDPOINT\$1URL` 환경 변수에서 제공하는 값입니다.

1. `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` 환경 변수는 `AWS\$1ACCOUNT\$1ID` 환경 변수 또는 `aws\$1account\$1id` 설정에서 계정 ID를 사용하여 `preferred` 또는 `required`로 설정됩니다.

1. 공유 `config` 파일의 `services` 섹션 내의 `endpoint\$1url` 설정에서 제공하는 서비스별 엔드포인트 값.

1. 공유 `config` 파일의 `profile` 내에서 `endpoint\$1url` 설정에 의해 제공되는 값.

1. `use\$1dualstack\$1endpoint`, `use\$1fips\$1endpoint` 및 `endpoint\$1url` 설정입니다.

1. `account\$1id\$1endpoint\$1mode` 설정은 `AWS\$1ACCOUNT\$1ID` 환경 변수 또는 `aws\$1account\$1id` 설정에서 계정 ID를 사용하여 `preferred` 또는 `required`로 설정됩니다.

1. 각 AWS 서비스에 대한 기본 엔드포인트 URL이 마지막에 사용됩니다. 각 리전에서 사용할 수 있는 표준 서비스 엔드포인트 목록은 *Amazon Web Services 일반 참조*의 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html)를 참조하세요.