AWS CLI에서 엔드포인트 사용 - AWS Command Line Interface

이 문서는 AWS CLI의 버전 1에만 해당합니다. AWS CLI의 버전 2와 관련된 문서는 버전 2 사용 설명서를 참조하세요.

AWS CLI에서 엔드포인트 사용

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

단일 명령에 대한 엔드포인트 설정

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

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

모든 AWS 서비스 서비스에 대한 글로벌 엔드포인트 설정

모든 서비스에 대한 요청을 사용자 지정 엔드포인트 URL로 라우팅하려면 다음 설정 중 하나를 사용하세요.

  • 환경 변수:

    • AWS_IGNORE_CONFIGURED_ENDPOINT_URLS - 구성된 엔드포인트 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_ENDPOINT_URL - 글로벌 엔드포인트 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_configure_endpoint_urls - 구성된 엔드포인트 URL을 무시합니다.

      ignore_configure_endpoint_urls = true
    • endpoint_url - 글로벌 엔드포인트 URL을 설정합니다.

      endpoint_url = http://localhost:4567

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

모든 AWS 서비스에 FIPS 엔드포인트를 사용하도록 설정

모든 서비스에 대한 요청을 FIP 엔드포인트로 라우팅하려면 다음 중 하나를 사용하세요.

  • AWS_USE_FIPS_ENDPOINT 환경 변수

    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_fips_endpoint 파일 설정

    use_fips_endpoint = true

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

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

AWS 리전별로 FIPS 엔드포인트를 지정하는 방법에 대한 자세한 내용은 서비스별 FIPS 엔드포인트를 참조하세요.

모든 AWS 서비스에 이중 스택 엔드포인트를 사용하도록 설정

모든 서비스에 대한 요청을 사용 가능한 이중 스택 엔드포인트로 라우팅하려면 다음 설정 중 하나를 사용하세요.

  • AWS_USE_DUALSTACK_ENDPOINT 환경 변수

    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_dualstack_endpoint 파일 설정

    use_dualstack_endpoint = true

이중 스택 엔드포인트를 사용하여 AWS 요청을 보내도록 설정합니다. IPv4 및 IPv6 트래픽을 모두 지원하는 이중 스택 엔드포인트에 대한 자세한 내용은 Amazon 심플 스토리지 서비스 사용 설명서Amazon S3 이중 스택 엔드포인트 사용을 참조하세요. 이중 스택 엔드포인트는 일부 리전에 사용할 수 있는 서비스입니다. 서비스 또는 AWS 리전에 대한 이중 스택 엔드포인트가 없는 경우 요청이 실패합니다. 이 옵션은 기본적으로 비활성화되어 있습니다.

서비스별 엔드포인트 설정

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

서비스별 엔드포인트는 다음과 같은 방법으로 지정할 수 있습니다.

서비스별 엔드포인트: 환경 변수

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

다음은 서비스별 환경 변수입니다.

  • AWS_IGNORE_CONFIGURED_ENDPOINT_URLS - 명령줄에 지정하지 않는 한 구성된 모든 엔드포인트 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_ENDPOINT_URL_<SERVICE> - 특정 서비스에 사용되는 사용자 지정 엔드포인트를 지정하며, 여기서 AWS 서비스가 <SERVICE> 식별자로 대체됩니다. 모든 서비스별 변수에 대해서는 서비스별 엔드포인트: 서비스별 식별자 목록를 참조하세요

    다음 환경 변수 예제는 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에 대한 환경 변수 구성을 참조하세요.

서비스별 엔드포인트: 공유 config 파일

공유 config 파일에서 endpoint_url은 여러 섹션에서 사용됩니다. 서비스별 엔드포인트를 설정하려면 services 섹션 내의 서비스 식별자 키 아래에 중첩된 endpoint_url 설정을 사용하세요. 공유 config 파일에서 services 섹션을 정의하는 방법에 대한 자세한 내용은 섹션 유형: 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 섹션에서 사용할 모든 서비스 식별자 키 목록은 서비스별 식별자 목록을 참조하세요.

[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

서비스별 엔드포인트: 서비스별 식별자 목록

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

다음 서비스 식별자 예제에서는 AWS Elastic Beanstalk를 사용합니다. AWS Elastic Beanstalk의 serviceIdElastic Beanstalk이므로 서비스 식별자 키는 elastic_beanstalk입니다.

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

엔드포인트 구성 및 설정 우선 순위

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

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

  2. 사용 설정된 경우, 사용자 지정 엔드포인트를 무시하도록 AWS_IGNORE_CONFIGURED_ENDPOINT_URLS 글로벌 엔드포인트 환경 변수 또는 프로파일 설정 ignore_configure_endpoint_urls를 사용합니다.

  3. 서비스별 환경 변수 AWS_ENDPOINT_URL_<SERVICE>에서 제공하는 값(예: AWS_ENDPOINT_URL_DYNAMODB).

  4. AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINTAWS_ENDPOINT_URL 환경 변수에서 제공하는 값입니다.

  5. 공유 config 파일의 services 섹션 내의 endpoint_url 설정에서 제공하는 서비스별 엔드포인트 값.

  6. 공유 config 파일의 profile 내에서 endpoint_url 설정에 의해 제공되는 값.

  7. use_dualstack_endpoint, use_fips_endpointendpoint_url 설정입니다.

  8. 각 AWS 서비스에 대한 기본 엔드포인트 URL이 마지막에 사용됩니다. 각 리전에서 사용할 수 있는 표준 서비스 엔드포인트 목록은 Amazon Web Services 일반 참조AWS 리전 및 엔드포인트를 참조하세요.