개발을 위한 AWS 임시 자격 증명 및 AWS 리전 설정 - AWS SDK for Java 1.x

다음 버전 AWS SDK for Java (v1) end-of-support 을 발표했습니다. AWS SDK for Java V2로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

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

개발을 위한 AWS 임시 자격 증명 및 AWS 리전 설정

AWS SDK for Java를 사용하여 지원되는 서비스에 연결하려면 AWS 임시 자격 증명을 제공해야 합니다. AWS SDK 및 CLI는 공급자 체인을 사용하여 시스템 환경 변수 및 사용자 환경 변수, 로컬 AWS 구성 파일 등 다양한 위치에서 AWS 임시 자격 증명을 찾습니다.

이 항목에서는 AWS SDK for Java를 사용한 로컬 애플리케이션 개발을 위한 AWS 임시 자격 증명 설정에 대한 기본 정보를 제공합니다. EC2 인스턴스 내에서 사용할 자격 증명을 설정해야 하거나 개발용으로 Eclipse IDE를 사용하고 있는 경우에는 다음 주제를 참조하십시오.

임시 자격 증명 설정

AWS SDK for Java에 사용할 임시 자격 증명은 여러 가지 방법으로 설정할 수 있지만, 권장 방법은 다음과 같습니다.

  • 로컬 시스템의 다음 위치에 있는 AWS 자격 증명 프로필 파일에서 자격 증명을 설정합니다.

    • Linux, macOS 또는 Unix의 ~/.aws/credentials의 경우:

    • Windows의 경우 C:\Users\USERNAME\.aws\credentials

    임시 자격 증명을 얻는 방법에 대한 지침은 이 안내서의 SDK용 임시 보안 인증을 설정합니다.을 참조하세요.

  • AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, 및 AWS_SESSION_TOKEN 환경 변수를 설정합니다.

    Linux, macOS 또는 Unix에서 이러한 변수를 설정하려면 를 사용합니다.

    export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key export AWS_SESSION_TOKEN=your_session_token

    Windows에서 이러한 변수를 설정하려면 을 사용합니다.

    set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key set AWS_SESSION_TOKEN=your_session_token
  • EC2 인스턴스의 경우 IAM 역할을 지정하고 나서 해당 역할에 EC2 인스턴스 액세스 권한을 부여합니다. 작동 방식에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서의 Amazon EC2용 IAM 역할을 참조하세요.

이러한 방법 중 하나를 사용하여 AWS 임시 자격 증명을 설정하고 나면 기본 자격 증명 공급자 체인을 사용하여 이러한 자격 증명이 AWS SDK for Java에서 자동으로 로드됩니다. Java 애플리케이션에서 AWS 자격 증명으로 작업하는 방법에 대한 자세한 내용은 AWS로 작업하기 단원을 참조하세요.

IMDS 자격 증명 갱신

AWS SDK for Java는 자격 증명 만료 시간에 관계없이 백그라운드에서 1분마다 IMDS 자격 증명을 옵트인 갱신합니다. 이렇게 하면 자격 증명을 더 자주 갱신할 수 있으며 IMDS에 도달 실패가 인식된 AWS 가용성에 영향을 미칠 가능성을 줄일 수 있습니다.

1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during 2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed 3. // again one minute later. 4. 5. InstanceProfileCredentialsProvider credentials = 6. InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true); 7. 8. AmazonS3Client.builder() 9. .withCredentials(credentials) 10. .build(); 11. 12. // This is new: When you are done with the credentials provider, you must close it to release the background thread. 13. credentials.close();

AWS 리전 설정

AWS SDK for Java에서 AWS 서비스에 액세스하는 데 사용될 기본 AWS 리전을 설정해야 합니다. 네트워크 성능을 최대화하려면 본인(또는 본인의 고객)과 지리적으로 가까운 리전을 선택해야 합니다. 각 서비스에 대한 리전 목록은 Amazon Web Services 일반 참조에서 리전 및 엔드포인트를 참조하세요.

참고

리전을 선택하지 않으면 기본적으로 us-east-1이 사용됩니다.

자격 증명 설정과 비슷한 기술을 사용하여 기본 AWS 리전을 설정할 수 있습니다.

  • 로컬 시스템의 다음 위치에 있는 AWS 구성 파일에서 AWS 리전을 설정합니다.

    • Linux, macOS 또는 Unix의 ~/.aws/config

    • Windows의 C:\Users\USERNAME\.aws\config

    이 파일에는 다음 형식의 행이 포함되어야 합니다.

    +

    [default] region = your_aws_region

    +

    your_aws_region을 원하는 AWS 리전(예: “us-east-1”)으로 대체합니다.

  • AWS_REGION 환경 변수를 설정합니다.

    Linux, macOS 또는 Unix에서는 을 사용하세요.

    export AWS_REGION=your_aws_region

    Windows에서는 을 사용합니다.

    set AWS_REGION=your_aws_region

    여기서 your_aws_region은 원하는 AWS 리전 이름입니다.