AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 31end-of-support
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS 리전 선택
리전을 사용하면 특정 지리적 영역에 물리적으로 상주하는 AWS 서비스에 액세스할 수 있습니다. 이는 중복성은 물론, 데이터와 애플리케이션을 고객과 고객의 사용자가 액세스할 위치에 가까운 곳에서 실행 상태로 유지하는 데도 유용할 수 있습니다.
리전에서 서비스 가용성 확인
리전에서 특정 를 AWS 서비스 사용할 수 있는지 확인하려면 사용하려는 리전의 isServiceSupported
메서드를 사용합니다.
Region.getRegion(Regions.US_WEST_2) .isServiceSupported(AmazonDynamoDB.ENDPOINT_PREFIX);
지정할 수 있는 리전에 대한 Regions 클래스 설명서를 참조하고, 쿼리할 서비스의 엔드포인트 접두사를 사용합니다. 각 서비스의 엔드포인트 접두사는 서비스 인터페이스에 정의되어 있습니다. 예를 들어 DynamoDB 엔드포인트 접두사는 AmazonDynamoDB 에 정의되어 있습니다.
리전 선택
의 버전 1.4부터는 리전 이름을 지정할 수 있으며 AWS SDK for Java SDK가 자동으로 적절한 엔드포인트를 선택합니다. 엔드포인트를 직접 선택하려면 Choosing a Specific Endpoint 단원을 참조하십시오.
리전을 명시적으로 설정하려면 Regions 열거형을 사용하는 것이 좋습니다. 이 열거형은 공개적으로 사용 가능한 모든 리전의 열거 값입니다. 열거형의 리전을 사용하여 클라이언트를 생성하려면 다음 코드를 사용합니다.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion(Regions.US_WEST_2) .build();
사용할 리전이 Regions
열거형에 없으면 리전 이름을 나타내는 문자열을 사용하여 리전을 설정할 수 있습니다.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion("{region_api_default}") .build();
참고
빌더를 사용하여 클라이언트를 빌드한 후에는 클라이언트가 변경 불가능하며 리전을 변경할 수 없습니다. 동일한 서비스에 AWS 리전 대해 여러 을 사용하는 경우 리전당 하나씩 여러 클라이언트를 생성해야 합니다.
특정 엔드포인트 선택
각 AWS 클라이언트는 클라이언트를 생성할 때 withEndpointConfiguration
메서드를 호출하여 리전 내에서 특정 엔드포인트를 사용하도록 구성할 수 있습니다.
예를 들어 유럽(아일랜드) 리전을 사용하도록 Amazon S3 클라이언트를 구성하려면 다음 코드를 사용합니다.
AmazonS3 s3 = AmazonS3ClientBuilder.standard() .withEndpointConfiguration(new EndpointConfiguration( "https://s3.eu-west-1.amazonaws.com", "eu-west-1")) .withCredentials(CREDENTIALS_PROVIDER) .build();
현재 리전 목록과 모든 AWS 서비스에 해당하는 엔드포인트는 리전 및 엔드포인트를 참조하세요.
환경에서 리전을 자동으로 결정
중요
이 섹션은 클라이언트 빌더를 사용하여 AWS 서비스에 액세스하는 경우에만 적용됩니다. 클라이언트 구성자를 사용하여 생성된 AWS 클라이언트는 환경에서 리전을 자동으로 결정하지 않고 대신 기본 SDK 리전()을 사용합니다USEast1.
Amazon EC2 또는 Lambda에서 를 실행할 때 코드가 실행 중인 것과 동일한 리전을 사용하도록 클라이언트를 구성할 수 있습니다. 이렇게 하면 실행 중인 환경에서 코드가 분리되므로 낮은 지연 시간과 중복성을 위해 손쉽게 애플리케이션을 여러 리전에 배포할 수 있습니다.
클라이언트 빌더를 사용하여 가 코드가 실행 중인 리전을 SDK 자동으로 감지하도록 해야 합니다.
기본 자격 증명/리전 공급자 체인을 사용하여 환경에서 리전을 결정하려면 클라이언트 빌더의 defaultClient
메서드를 사용합니다.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();
이렇게 하면 standard
뒤에 build
를 사용할 때와 똑같이 작동합니다.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .build();
withRegion
메서드를 사용하여 리전을 명시적으로 설정하지 않은 경우 는 기본 리전 공급자 체인을 SDK 참조하여 사용할 리전을 결정해 봅니다.
기본 리전 공급자 체인
다음은 리전 조회 프로세스입니다.
-
빌더 자체에 대해
withRegion
또는setRegion
을 사용하여 설정한 명시적 리전을 다른 어떤 것보다 우선합니다. -
AWS_REGION
환경 변수를 확인합니다. 설정한 경우 클라이언트를 구성하는 데 해당 리전이 사용됩니다.참고
이 환경 변수는 Lambda 컨테이너에 의해 설정됩니다.
-
는 AWS 공유 구성 파일(일반적으로 에 위치)을 SDK 확인합니다
~/.aws/config
. 리전 속성이 있는 경우 는 해당 속성을 SDK 사용합니다.-
AWS_CONFIG_FILE
환경 변수는 공유 구성 파일의 위치를 사용자 지정하는 데 사용할 수 있습니다. -
AWS_PROFILE
환경 변수 또는aws.profile
시스템 속성을 사용하여 에서 로드하는 프로파일을 사용자 지정할 수 있습니다SDK.
-
-
는 Amazon EC2 인스턴스 메타데이터 서비스를 사용하여 현재 실행 중인 Amazon EC2 인스턴스의 리전을 확인하려고 SDK 시도합니다.
-
이 시점까지 가 SDK 여전히 리전을 찾지 못한 경우 예외를 제외하고 클라이언트 생성에 실패합니다.
AWS 애플리케이션을 개발할 때 일반적인 접근 방식은 공유 구성 파일(기본 자격 증명 공급자 체인 사용 에 설명됨)을 사용하여 로컬 개발을 위한 리전을 설정하고 AWS 인프라에서 실행될 때 기본 리전 공급자 체인을 사용하여 리전을 결정하는 것입니다. 이렇게 하면 클라이언트 생성 작업이 크게 간소화되며 애플리케이션을 이식 가능한 형태로 유지됩니다.