기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
서비스별 엔드포인트
서비스별 엔드포인트 구성은 API 요청에 대해 사용자가 선택한 엔드포인트를 사용하고 선택을 유지할 수 있는 옵션을 제공합니다. 이러한 설정은 로컬 엔드포인트, VPC 엔드포인트 및 타사 로컬 AWS 개발 환경을 지원할 수 있는 유연성을 제공합니다. 테스트 환경과 프로덕션 환경에 서로 다른 엔드포인트를 사용할 수 있습니다. 개별 AWS 서비스서비스에 대한 엔드포인트 URL을 지정할 수 있습니다.
다음을 사용하여 이 기능을 구성하십시오.
endpoint_url
- 공유 AWSconfig
파일 설정AWS_ENDPOINT_URL
- 환경 변수aws.endpointUrl
- JVM 시스템 속성: Java/Kotlin만 해당-
프로파일 내에서 직접 지정하거나 환경 변수로 지정하는 경우 이 설정은 모든 서비스 요청에 사용되는 엔드포인트를 지정합니다. 이 엔드포인트는 구성된 모든 서비스별 엔드포인트에 의해 재정의됩니다.
공유 AWS
config
파일의services
섹션 내에서이 설정을 사용하여 특정 서비스에 대한 사용자 지정 엔드포인트를 설정할 수도 있습니다.services
섹션에서 사용할 모든 서비스 식별자 키 목록은 서비스별 엔드포인트 식별자 섹션을 참조하십시오.기본값:
none
유효한 값: 엔드포인트의 스키마와 호스트가 포함된 URL. URL에는 하나 이상의 경로 세그먼트가 포함된 경로 구성 요소가 선택적으로 포함될 수 있습니다.
AWS_ENDPOINT_URL_<SERVICE>
- 환경 변수aws.endpointUrl<ServiceName>
- JVM 시스템 속성: Java/Kotlin만 해당-
AWS_ENDPOINT_URL_<SERVICE>
, 여기서<SERVICE>
는 AWS 서비스 식별자이며,는 특정 서비스에 대한 사용자 지정 엔드포인트를 설정합니다. 모든 서비스별 환경 변수 목록은 서비스별 엔드포인트 식별자을 참조하십시오.이 서비스별 엔드포인트는
AWS_ENDPOINT_URL
에 설정된 모든 글로벌 엔드포인트보다 우선합니다.기본값:
none
유효한 값: 엔드포인트의 스키마와 호스트가 포함된 URL. URL에는 하나 이상의 경로 세그먼트가 포함된 경로 구성 요소가 선택적으로 포함될 수 있습니다.
ignore_configured_endpoint_urls
- 공유 AWSconfig
파일 설정AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
- 환경 변수aws.ignoreConfiguredEndpointUrls
- JVM 시스템 속성: Java/Kotlin만 해당-
이 설정은 모든 사용자 지정 엔드포인트 구성을 무시하는 데 사용됩니다.
코드에 설정되거나 서비스 클라이언트 자체에 설정된 명시적 엔드포인트는 이 설정과 상관없이 사용된다는 점에 유의하십시오. 예를 들어
--endpoint-url
명령줄 파라미터를 AWS CLI 명령과 함께 포함하거나 엔드포인트 URL을 클라이언트 생성자에 전달하는 것은 항상 적용됩니다.기본값:
false
유효값:
-
true
— SDK 또는 도구는 공유config
파일 또는 환경 변수에서 엔드포인트 URL 설정을 위한 사용자 지정 구성 옵션을 읽지 않습니다. -
false
— SDK 또는 도구는 공유config
파일 또는 환경 변수에서 사용 가능한 사용자 제공 엔드포인트를 사용합니다.
-
환경 변수를 사용한 엔드포인트 구성
모든 서비스에 대한 요청을 사용자 지정 엔드포인트 URL로 라우팅하려면 AWS_ENDPOINT_URL
글로벌 환경 변수를 설정하십시오.
export AWS_ENDPOINT_URL=
http://localhost:4567
특정에 대한 요청을 사용자 지정 엔드포인트 URL AWS 서비스 로 라우팅하려면 AWS_ENDPOINT_URL_<SERVICE>
환경 변수를 사용합니다.의 Amazon DynamoDB 는 serviceId
입니다DynamoDB
AWS_ENDPOINT_URL_DYNAMODB
입니다. 이 엔드포인트는 이서비스에 대해 AWS_ENDPOINT_URL
에 설정된 글로벌 엔드포인트보다 우선합니다.
export AWS_ENDPOINT_URL_DYNAMODB=
http://localhost:5678
또 다른 예로의 AWS Elastic Beanstalk 는 serviceId
입니다Elastic Beanstalk
serviceId
로 하여 API 모델의를 기반으로 합니다. 이 서비스에 대한 엔드포인트를 설정하려면 해당 환경 변수는 AWS_ENDPOINT_URL_ELASTIC_BEANSTALK
입니다. 모든 서비스별 환경 변수 목록은 서비스별 엔드포인트 식별자을 참조하십시오.
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=
http://localhost:5567
공유 config
파일을 사용하여 엔드포인트를 구성합니다.
공유 config
파일에서는 다양한 기능을 위해 여러 위치에서 endpoint_url
이 사용됩니다.
-
profile
내에서 직접 지정된endpoint_url
은 해당 엔드포인트를 글로벌 엔드포인트로 만듭니다. -
services
섹션 내의 서비스 식별자 키 아래에 중첩된endpoint_url
은 해당 엔드포인트가 해당 서비스에 대한 요청에만 적용되로고 만듭니다. 공유config
파일에서services
섹션을 정의하는 방법에 대한 자세한 내용은 구성 파일 형식를 참조하십시오.
다음 예제에서는 services
정의를 사용하여 Amazon S3에 대한 서비스별 엔드포인트 URL과 다른 모든 서비스에 사용되는 사용자 지정 글로벌 엔드포인트를 구성합니다.
[profile
dev-s3-specific-and-global
] endpoint_url =http://localhost:1234
services =s3-specific
[servicess3-specific
] s3 = endpoint_url =https://play.min.io:9000
단일 프로파일로 여러 서비스에 대한 엔드포인트를 구성할 수 있습니다. 이 예제에서는 Amazon S3 및 AWS Elastic Beanstalk 에 대한 서비스별 엔드포인트 URLs 동일한 프로파일에 설정하는 방법을 보여줍니다.의 AWS Elastic Beanstalk 는 serviceId
입니다Elastic Beanstalk
serviceId
하여 API 모델의를 기반으로 합니다. 따라서 서비스 식별자 키가 elastic_beanstalk
이(가)되고 이 서비스에 대한 설정이 elastic_beanstalk =
줄에서 시작됩니다. services
섹션에서 사용할 모든 서비스 식별자 키 목록은 서비스별 엔드포인트 식별자을 참조하십시오.
[services
testing-s3-and-eb
] s3 = endpoint_url =http://localhost:4567
elastic_beanstalk = endpoint_url =http://localhost:8000
[profiledev
] services =testing-s3-and-eb
서비스 구성 섹션은 여러 프로파일에서 사용할 수 있습니다. 예를 들어 두 프로파일이 동일한 services
정의를 사용하면서 다른 프로파일 속성을 변경할 수 있습니다.
[services
testing-s3
] s3 = endpoint_url =https://localhost:4567
[profiletesting-json
] output = json services =testing-s3
[profiletesting-text
] output = text services =testing-s3
역할 기반 보안 인증을 사용하여 프로파일의 엔드포인트 구성
프로파일에 역할 기반 보안 인증 정보가 IAM 가정 역할 기능에 대한 source_profile
파라미터를 통해 구성된 경우 SDK는 지정된 프로파일에 대한 서비스 구성만 사용합니다. 역할이 연결된 프로파일은 사용하지 않습니다. 예를 들어 다음과 같은 공유 config
파일을 사용합니다.
[profile
A
] credential_source =Ec2InstanceMetadata
endpoint_url =https://profile-a-endpoint.aws/
[profileB
] source_profile =A
role_arn =arn:aws:iam::123456789012:role/roleB
services =profileB
[servicesprofileB
] 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
설정에 대한 자세한 내용은 역할 보안 인증 제공자 수임 단원을 참조하십시오.
설정의 우선 순위
이 기능의 설정은 동시에 사용할 수 있지만 서비스당 하나의 값만 우선합니다. 지정된에 대한 API 호출 AWS 서비스의 경우 다음 순서가 값을 선택하는 데 사용됩니다.
-
코드나 서비스 클라이언트 자체에 설정된 모든 명시적 설정은 다른 모든 설정보다 우선합니다.
-
의 경우 AWS CLI명령
--endpoint-url
줄 파라미터에서 제공하는 값입니다. SDK의 경우 명시적 할당은 AWS 서비스 클라이언트 또는 구성 객체를 인스턴스화할 때 설정한 파라미터의 형태를 취할 수 있습니다.
-
-
서비스별 환경 변수에서 제공하는 값(예:
AWS_ENDPOINT_URL_DYNAMODB
). -
AWS_ENDPOINT_URL
글로벌 엔드포인트 환경 변수에 의해 제공되는 값입니다. -
공유
config
파일의services
섹션 내에 서비스 식별자 키 아래 중첩된endpoint_url
설정에서 제공하는 값. -
공유
config
파일의profile
내에서 직접 지정된endpoint_url
설정에 의해 제공되는 값. -
각의 기본 엔드포인트 URL AWS 서비스 이 마지막으로 사용됩니다.
AWS SDKs와의 호환성
다음 SDK는 이 주제에서 설명하는 기능 및 설정을 지원합니다. 모든 일부 예외가 기록됩니다. 모든 JVM 시스템 속성 설정은 AWS SDK for Java 및 AWS SDK for Kotlin 에서만 지원됩니다.
SDK | 지원 | 참고 또는 추가 정보 |
---|---|---|
AWS CLI v2 | 예 | |
SDK for C++ | No | |
SDK for Go V2 (1.x) |
예 | |
SDK for Go 1.x (V1) | No | |
SDK for Java 2.x | 예 | |
SDK for Java 1.x | No | |
SDK for JavaScript 3.x | 예 | |
SDK for JavaScript 2.x | No | |
SDK for Kotlin | 예 | |
SDK for .NET 3.x | 예 | |
SDK for PHP 3.x | 예 | |
SDK for Python (Boto3) |
예 | |
SDK for Ruby 3.x | 예 | |
SDK for Rust | 예 | |
SDK for Swift | 예 | |
PowerShell용 도구 | 예 |