용도 AWS 리전 - AWS SDK for Java 2.x

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

용도 AWS 리전

AWS 리전 서비스 클라이언트가 특정 지역에 물리적으로 위치한 지역에 액세스할 AWS 서비스 수 있도록 합니다.

AWS 리전에 명시적으로 구성

리전을 명시적으로 설정하려면 Regions 클래스에서 정의한 상수를 사용하는 것이 좋습니다. 이 열거형은 공개적으로 사용 가능한 모든 리전의 열거 값입니다.

클래스에서 열거형 리전을 사용하여 클라이언트를 생성하려면 클라이언트 빌더의 region 메서드를 사용합니다.

Ec2Client ec2 = Ec2Client.builder() .region(Region.US_WEST_2) .build();

사용하려는 리전이 Region 클래스의 열거형에 속하지 않는 경우 of 메서드를 사용하여 새 리전을 만들 수 있습니다. SDK를 업그레이드하지 않고 새 리전에 액세스 할 수 있는 메서드입니다.

Region newRegion = Region.of("us-east-42"); Ec2Client ec2 = Ec2Client.builder() .region(newRegion) .build();
참고

빌더로 클라이언트를 빌드한 후에는 변경할 수 없으며 변경할 수 없습니다. AWS 리전 동일한 서비스에 AWS 리전 대해 여러 클라이언트를 사용해야 하는 경우 지역당 하나씩 여러 클라이언트를 만들어야 합니다.

SDK에서 환경으로부터 리전을 자동으로 결정

코드가 Amazon EC2 OR에서 실행되는 AWS Lambda경우 코드가 실행되는 것과 동일한 AWS 리전 코드를 사용하도록 클라이언트를 구성하는 것이 좋습니다. 이렇게 하면 코드가 실행되는 환경에서 코드를 분리하고 애플리케이션을 여러 AWS 리전 곳에 더 쉽게 배포하여 지연 시간이나 중복성을 줄일 수 있습니다.

기본 보안 인증/리전 공급자 체인을 사용하여 환경에서 리전을 결정하려면 클라이언트 빌더의 create 메서드를 사용합니다.

Ec2Client ec2 = Ec2Client.create();

region메서드를 사용하여 명시적으로 설정하지 않으면 SDK는 기본 지역 공급자 체인을 AWS 리전 참조하여 사용할 지역을 결정합니다.

기본 리전 공급자 체인 이해

SDK는 다음 단계를 수행하여 AWS 리전 을 찾습니다.

  1. 빌더 자체에 대해 region을 사용하여 설정한 명시적 리전을 다른 어떤 것보다 우선합니다.

  2. AWS_REGION 환경 변수를 확인합니다. 설정한 경우 클라이언트를 구성하는 데 해당 리전이 사용됩니다.

    참고

    Lambda 컨테이너는 이 환경 변수를 설정합니다.

  3. SDK는 AWS 공유 구성 파일 및 공유 자격 증명 파일 (일반적으로 ~/.aws/config 및 위치에 ~/.aws/credentials 있음) 을 확인합니다. region속성이 있는 경우 SDK는 해당 속성을 사용합니다.

    • SDK가 동일한 프로필 (프로필 포함) 의 두 파일에서 region 속성을 찾으면 SDK는 공유 자격 증명 default 파일의 값을 사용합니다.

    • AWS_CONFIG_FILE 환경 변수는 공유 구성 파일의 위치를 사용자 지정하는 데 사용할 수 있습니다.

    • AWS_PROFILE 환경 변수 또는 aws.profile 시스템 속성을 사용하여 SDK가 로드할 프로필을 지정할 수 있습니다.

  4. SDK는 Amazon EC2 인스턴스 메타데이터 서비스 (IMDS) 를 사용하여 현재 실행 중인 인스턴스의 지역을 확인하려고 합니다. Amazon EC2

    • 보안을 강화하려면 SDK가 IMDS 버전 1을 사용하지 못하도록 설정해야 합니다. 섹션에 설명된 것과 동일한 설정을 사용하여 버전 1을 비활성화할 수 있습니다. IAM 역할 보안 인증 획득

  5. 이때까지도 SDK에서 여전히 리전을 찾지 못한 경우 클라이언트 생성이 실패하고 예외가 발생합니다.

AWS 애플리케이션을 개발할 때 일반적인 접근 방식은 공유 구성 파일 (자격 증명 검색 순서에 설명되어 있음) 을 사용하여 로컬 개발을 위한 지역을 설정하고 인프라에서 애플리케이션이 실행될 때는 기본 지역 공급자 체인을 사용하여 지역을 결정하는 것입니다. AWS 이렇게 하면 클라이언트 생성 작업이 크게 간소화되며 애플리케이션을 이식 가능한 형태로 유지됩니다.

리전에서 서비스 가용성 확인

특정 지역을 사용할 수 AWS 서비스 있는지 확인하려면 서비스 클라이언트에서 serviceMetadata and region 메서드를 사용하세요.

DynamoDbClient.serviceMetadata().regions().forEach(System.out::println);

서비스의 엔드포인트 접두사를 지정하고 사용하여 AWS 리전 쿼리할 수 있는 방법은 Region 클래스 설명서를 참조하십시오.

특정 엔드포인트 선택

특정 상황(예: 기능이 일반 사용 가능성으로 전환되기 전에 서비스의 미리 보기 기능을 테스트하는 경우)에서는 리전에서 특정 엔드포인트를 지정해야 할 수도 있습니다. 이러한 상황에서는 endpointOverride 메서드를 호출하여 서비스 클라이언트를 구성할 수 있습니다.

예를 들어 특정 엔드포인트가 있는 유럽 (아일랜드) 지역을 사용하도록 Amazon EC2 클라이언트를 구성하려면 다음 코드를 사용하십시오.

Ec2Client ec2 = Ec2Client.builder() .region(Region.EU_WEST_1) .endpointOverride(URI.create("https://ec2.eu-west-1.amazonaws.com")) .build();

현재 지역 목록과 모든 AWS 서비스에 대한 해당 엔드포인트는 지역 및 엔드포인트를 참조하십시오.