

 AWS SDK for Java 1.x는 2025년 12월 31일에 end-of-support되었습니다. 새로운 기능, 가용성 개선 및 보안 업데이트를 계속 받으려면 [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)로 마이그레이션하는 것이 좋습니다.

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

# 시작하기
<a name="getting-started"></a>

이 단원에서는 AWS SDK for Java를 설치, 설정 및 사용하는 방법에 대한 정보를 제공합니다.

**Topics**
+ [기본 설정](signup-create-iam-user.md)
+ [를 가져오는 방법 AWS SDK for Java](setup-install.md)
+ [빌드 도구 사용](setup-build-tools.md)
+ [임시 자격 증명 및 지역](setup-credentials.md)

# 작업을 위한 기본 설정 AWS 서비스
<a name="signup-create-iam-user"></a>

## 개요
<a name="signup-create-iam-user-overview"></a>

를 AWS 서비스 사용하여에 액세스하는 애플리케이션을 성공적으로 개발하려면 다음 AWS SDK for Java조건이 필요합니다.
+  AWS IAM Identity Center에서 사용할 수 있는 [AWS 액세스 포털에 로그인](#setup-awsaccount)할 수 있어야 합니다.
+ SDK에 대해 구성된 [IAM 역할의 권한](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)은 AWS 서비스 애플리케이션에 필요한에 대한 액세스를 허용해야 합니다. **PowerUserAccess** AWS 관리형 정책과 연결된 권한은 대부분의 개발 요구 사항에 충분합니다.
+ 다음 요소가 포함된 개발 환경
  + 다음과 같은 방식으로 설정된 [공유 구성 파일](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html):
    + `config` 파일에는를 지정하는 기본 프로필이 포함되어 있습니다 AWS 리전.
    + `credentials` 파일에는 기본 프로필의 일부인 임시 자격 증명이 들어 있습니다.
  + [Java의 적절한 설치](#java-dg-java-env).
  + [Maven](https://maven.apache.org/download.cgi) 또는 [Gradle](https://gradle.org/install/)과 같은 [빌드 자동화 도구](setup-build-tools.md).
  + 코드 작업을 위한 텍스트 편집기.
  + (선택 사항이지만 권장됨) [IntelliJ IDEA](https://www.jetbrains.com/idea/download/#section=windows), [Eclipse](https://www.eclipse.org/ide/) 또는 [NetBeans](https://netbeans.org/downloads/)와 같은 IDE(통합 개발 환경).

    IDE를 사용하는 경우 보다 쉽게 작업할 수 있도록 AWS Toolkit를 통합할 수도 있습니다 AWS 서비스. [AWS Toolkit for IntelliJ](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 및 [AWS Toolkit for Eclipse](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/welcome.html)는 Java 개발에 사용할 수 있는 두 가지 툴킷입니다.

**중요**  
이 설정 섹션의 지침에서는 사용자 또는 조직이 IAM Identity Center를 사용한다고 가정합니다. 조직에서 IAM Identity Center와 독립적으로 작동하는 외부 ID 공급자를 사용하는 경우 Java용 SDK에 사용할 임시 자격 증명을 얻는 방법을 알아보세요. [이 지침](#setup-temp-creds)에 따라 `~/.aws/credentials` 파일에 임시 자격 증명을 추가하세요.  
ID 제공자가 임시 자격 증명을 `~/.aws/credentials` 파일에 자동으로 추가하는 경우 SDK 또는 AWS CLI에 프로필 이름을 제공할 필요가 없도록 프로필 이름을 `[default]`으로 지정해야 합니다.

## AWS 액세스 포털 로그인 기능
<a name="setup-awsaccount"></a>

 AWS 액세스 포털은 IAM Identity Center에 수동으로 로그인하는 웹 위치입니다. URL 형식은 `d-xxxxxxxxxx.awsapps.com/start` 또는 `your_subdomain.awsapps.com/start`입니다.

 AWS 액세스 포털에 익숙하지 않은 경우 AWS SDKs 및 도구 참조 안내서[의 IAM Identity Center 인증 주제 1단계](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted)의 계정 액세스 지침을 따르세요. AWS SDK for Java 1.x는 2단계에서 설명하는 SDK에 대한 임시 자격 증명의 자동 토큰 새로 고침 및 자동 검색을 지원하지 않으므로 2단계를 따르지 마십시오.

## 공유 구성 파일 설정
<a name="setup-shared-config-files"></a>

공유 구성 파일은 개발 워크스테이션에 있으며 AWS SDKs 및 AWS Command Line Interface (CLI)에서 사용하는 기본 설정을 포함합니다. 공유 구성 파일에는 [여러 설정](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)이 포함될 수 있지만 이 지침에서는 SDK를 사용하는 데 필요한 기본 요소를 설정합니다.

### 공유 `config` 파일 설정
<a name="setup-shared-config-files-conf"></a>

다음 예제에서는 `config` 파일의 내용을 보여 줍니다.

```
[default]
region=us-east-1
output=json
```

개발을 위해 코드를 실행하려는 위치에 AWS 리전 [가장 가까운](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)를 사용합니다. `config` 파일에 사용할 [지역 코드 목록](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes)은 Amazon Web Services 일반 참조 가이드를 참조하세요. 출력 형식에 대한 `json` 설정은 [가능한 여러 값](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html) 중 하나입니다.

[이 섹션의](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) 지침에 따라 `config` 파일을 생성하세요.

### SDK용 임시 보안 인증을 설정합니다.
<a name="setup-temp-creds"></a>

 AWS 액세스 포털을 통해 AWS 계정 및 IAM 역할에 액세스한 후 SDK가 액세스할 수 있는 임시 자격 증명으로 개발 환경을 구성합니다.

**임시 자격 증명으로 로컬 `credentials` 파일을 설정하는 단계**

1. [공유 `credentials` 파일 생성](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html).

1. `credentials` 파일에 동작하는 임시 보안 인증을 붙여 넣을 때까지 다음의 자리 표시자 텍스트를 붙여 넣습니다.

   ```
   [default]
   aws_access_key_id=<value from AWS access portal>
   aws_secret_access_key=<value from AWS access portal>
   aws_session_token=<value from AWS access portal>
   ```

1. 파일을 저장합니다. 이제 파일 `~/.aws/credentials`이 로컬 개발 시스템에 존재해야 합니다. 이 파일에는 이름이 지정된 특정 프로필이 지정되지 않은 경우 Java용 SDK에서 사용하는 [[기본] 프로필](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)이 들어 있습니다.

1. [AWS 액세스 포털에 로그인합니다](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosignin.html).

1. [수동 자격 증명 새로 고침](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html#how-to-get-temp-credentials) 제목 아래의 다음 지침에 따라 AWS 액세스 포털에서 IAM 역할 자격 증명을 복사합니다.

   1. 링크된 지침의 4단계에서 개발 요건에 액세스 권한을 부여하는 IAM 역할 이름을 선택합니다. 이 역할은 일반적으로 **PowerUserAccess** 또는 **Developer**와 같은 이름을 갖습니다.

   1. 7단계에서 ** AWS 보안 인증 파일에 수동으로 프로필 추가** 옵션을 선택하고 내용을 복사합니다.

1. 복사한 자격 증명을 로컬 `credentials` 파일에 붙여넣고 붙여넣은 프로필 이름을 모두 제거합니다. 파일은 다음과 유사해야 합니다.

   ```
   [default]
   aws_access_key_id=AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
   ```

1. `credentials` 파일을 저장합니다.

Java용 SDK는 서비스 클라이언트를 생성할 때 이러한 임시 보안 인증에 액세스하여 각 요청에 사용합니다. 5a단계에서 선택한 IAM 역할 설정에 따라 [임시 보안 인증의 유효 기간](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)이 결정됩니다. 최대 유효 기간은 12시간입니다.

임시 보안 인증이 만료되면 4\$17단계를 반복합니다.

## Java 개발 환경을 설치합니다.
<a name="java-dg-java-env"></a>

 AWS SDK for Java V1에는 Java 7 JDK 이상이 필요하며 모든 Java LTS(장기 지원) JDK 버전이 지원됩니다. SDK 버전 1.12.767 이하를 사용하는 경우 Java 7을 사용할 수 있지만, SDK 버전 1.12.768 이상을 사용하는 경우 Java 8이 필요합니다. [Maven 중앙 리포지토리](https://central.sonatype.com/artifact/com.amazonaws/aws-java-sdk-bom)에 최신 버전의 SDK for Java가 나열되어 있습니다.

는 [Oracle Java SE 개발 키트](https://www.oracle.com/java/technologies/downloads/) 및 [Amazon Corretto](https://aws.amazon.com/corretto), Red Hat OpenJDK, [Adoptium](https://adoptium.net/)과 같은 Open Java 개발 키트(OpenJDK) 배포판과 함께 AWS SDK for Java 작동합니다. [ OpenJDK](https://developers.redhat.com/products/openjdk/overview)

# 를 가져오는 방법 AWS SDK for Java
<a name="setup-install"></a>

## 사전 조건
<a name="prerequisitesinstall"></a>

를 사용하려면 다음이 AWS SDK for Java필요합니다.
+  AWS IAM Identity Center에서 사용할 수 있는 [AWS 액세스 포털에 로그인](signup-create-iam-user.md#setup-awsaccount)할 수 있어야 합니다.
+ [Java의 적절한 설치](signup-create-iam-user.md#java-dg-java-env).
+ 로컬 공유 `credentials` 파일에 설정된 임시 자격 증명.

Java용 SDK를 사용하도록 설정하는 방법에 대한 지침은 [작업을 위한 기본 설정 AWS 서비스](signup-create-iam-user.md) 항목을 참조하세요.

## 빌드 도구를 사용하여 SDK for Java의 종속성 관리(권장)
<a name="include-sdk"></a>

Java용 SDK의 필수 종속 항목에 액세스하려면 프로젝트에 Apache Maven 또는 Gradle을 사용하는 것이 좋습니다.[ 이 단원](setup-build-tools.md)에서는 이러한 도구를 사용하는 방법을 설명합니다.

## SDK 다운로드 및 추출(권장하지 않음)
<a name="download-and-extract-sdk"></a>

빌드 도구를 사용하여 프로젝트의 SDK에 액세스하는 것이 좋습니다. 하지만 최신 버전 SDK의 미리 빌드된 jar를 다운로드할 수 있습니다.

**참고**  
SDK 이전 버전 다운로드 및 빌드 방법에 대한 자세한 내용은 [SDK 이전 버전 설치](#install-prev-sdk)를 참조하세요.

1. [https://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip](https://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip) 에서 SDK를 다운로드하세요.

1. SDK를 다운로드한 후에는 로컬 디렉터리로 콘텐츠의 압축을 풉니다.

SDK에는 다음 디렉터리가 포함됩니다.
+  `documentation`에는 API 설명서가 들어 있습니다(웹에서도 다운로드 가능: [AWS SDK for Java API 참조](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/)).
+  `lib`는 SDK `.jar` 파일을 포함합니다.
+  `samples`는 SDK 사용 방법을 보여주는 작업 샘플 코드를 포함합니다.
+  `third-party/lib`는 Apache commons logging, AspectJ 및 Spring 프레임워크 같이 SDK에서 사용되는 타사 라이브러리를 포함합니다.

SDK를 사용하려면 `lib` 및 `third-party` 디렉터리의 전체 경로를 빌드 파일의 종속성에 추가하고 코드를 실행할 java `CLASSPATH`에 이러한 종속성을 추가합니다.

## 소스에서 이전 버전의 SDK를 빌드(권장하지 않음)
<a name="install-prev-sdk"></a>

전체 SDK의 최신 버전만 다운로드 가능한 jar로 사전 빌드된 형식으로 제공됩니다. 하지만 Apache Maven(오픈 소스)을 사용하여 SDK의 이전 버전을 빌드할 수 있습니다. Maven에서는 한 번에 필요한 모든 종속성을 다운로드하고 SDK를 빌드 및 설치합니다. 설치 지침과 자세한 내용은 [http://maven.apache.org/](http://maven.apache.org/)를 참조하세요.

1. SDK의 GitHub 페이지 [AWS SDK for Java (GitHub)](https://github.com/aws/aws-sdk-java)로 이동합니다.

1. 원하는 SDK 버전 번호에 해당한 태그를 선택합니다. 예를 들어 `1.6.10`입니다.

1. [**Download ZIP**] 버튼을 클릭하여 선택한 SDK 버전을 다운로드합니다.

1. 개발 시스템의 디렉터리로 파일의 압축을 풉니다. 여러 시스템에서 그래픽 파일 관리자를 사용하여 이 작업을 수행하거나 터미널 창에서 `unzip` 유틸리티를 사용할 수 있습니다.

1. 터미널 창에서 SDK 소스의 압축을 푼 디렉터리로 이동합니다.

1. 다음 명령을 사용하여 SDK를 빌드하고 설치합니다([Maven](https://maven.apache.org/) 필요).

   ```
   mvn clean install -Dgpg.skip=true
   ```

   그러면 `.jar` 파일이 `target` 디렉터리로 빌드됩니다.

1. (선택 사항) 다음 명령을 사용하여 API 참조 설명서를 빌드합니다.

   ```
   mvn javadoc:javadoc
   ```

   이 설명서는 `target/site/apidocs/` 디렉터리로 빌드됩니다.

# 빌드 도구 사용
<a name="setup-build-tools"></a>

빌드 도구를 사용하면 Java 프로젝트 개발을 관리하는 데 도움이 됩니다. 여러 빌드 도구를 사용할 수 있지만, 여기서는 두 가지 인기 있는 빌드 도구인 Maven과 Gradle을 사용하여 시작하고 실행하는 방법을 보여줍니다. 이 주제에서는 이러한 빌드 도구를 사용하여 프로젝트에 필요한 Java용 SDK 종속성을 관리하는 방법을 보여줍니다.

**Topics**
+ [Apache Maven으로 SDK 사용하기](setup-project-maven.md)
+ [Gradle로 SDK 사용하기](setup-project-gradle.md)

# Apache Maven으로 SDK 사용하기
<a name="setup-project-maven"></a>

[Apache Maven](https://maven.apache.org/)을 사용하여 AWS SDK for Java 프로젝트를 구성 및 빌드하거나 SDK 자체를 빌드할 수 있습니다.

**참고**  
이 주제의 지침을 사용하려면 Maven이 설치되어 있어야 합니다. 아직 설치하지 않은 경우 [http://maven.apache.org/](http://maven.apache.org/)에서 다운로드하여 설치하십시오.

## 새 Maven 패키지 생성
<a name="create-a-new-maven-package"></a>

기본 Maven 패키지를 생성하려면 터미널(명령줄) 창을 열어서 다음을 실행합니다.

```
mvn -B archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=org.example.basicapp \
  -DartifactId=myapp
```

*org.example.basicapp*을 애플리케이션의 전체 패키지 네임스페이스로 바꾸고, *myapp*을 프로젝트의 이름(이 이름이 프로젝트용 디렉터리의 이름으로 사용됨)으로 바꿉니다.

기본적으로 [quickstart](http://maven.apache.org/archetypes/maven-archetype-quickstart/) 아키타입을 사용하여 프로젝트 템플릿을 생성하는데, 이는 여러 프로젝트의 좋은 출발점입니다. 더 많은 아키타입을 사용할 수 있습니다. 함께 패키지로 제공되는 아키타입 목록을 보려면 [Maven 아키타입](https://maven.apache.org/archetypes/index.html) 페이지를 방문하세요. `-DarchetypeArtifactId` 인수를 `archetype:generate` 명령에 추가하여 사용할 특정 아키타이프를 선택할 수 있습니다. 예:

```
mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DarchetypeArtifactId=maven-archetype-webapp \
  -DgroupId=org.example.webapp \
  -DartifactId=mywebapp
```

**참고**  
프로젝트 생성 및 구성에 대한 더 많은 자세한 내용은 [Maven 시작 안내서](https://maven.apache.org/guides/getting-started/)에 나와 있습니다.

## SDK를 Maven 종속성으로 구성
<a name="configuring-maven"></a>

AWS SDK for Java를 프로젝트에서 사용하려면 프로젝트의 `pom.xml` 파일에서 종속성으로 선언해야 합니다. 버전 1.9.0부터는 [개별 구성 요소](#configuring-maven-individual-components) 또는 [전체 SDK](#configuring-maven-entire-sdk)를 가져올 수 있습니다.

### 개별 SDK 모듈 지정
<a name="configuring-maven-individual-components"></a>

개별 SDK 모듈을 선택하려면 Maven용 AWS SDK for Java BOM을 사용합니다. 그러면 지정하는 모듈에서 동일 버전의 SDK가 사용되고 모듈이 서로 간에 호환됩니다.

BOM을 사용하려면 `<dependencyManagement>` 섹션을 애플리케이션의 `pom.xml` 파일에 추가하여 `aws-java-sdk-bom`을 종속성으로 추가하고 사용할 SDK의 버전을 지정합니다.

```
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-bom</artifactId>
      <version>1.11.1000</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
```

Maven Central에서 사용할 수 있는 AWS SDK for Java BOM의 최신 버전을 보려면 [https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom)을 참조하십시오. 또한 이 페이지를 사용하여 BOM에 의해 관리되며 프로젝트의 `<dependencies>` 파일의 `pom.xml` 섹션에 포함할 수 있는 모듈(종속성)을 확인할 수도 있습니다.

이제 애플리케이션에서 사용하는 SDK에서 개별 모듈을 선택할 수 있습니다. 이미 BOM에 SDK 버전을 선언했으므로 각 구성 요소마다 버전 번호를 지정할 필요가 없습니다.

```
<dependencies>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-s3</artifactId>
  </dependency>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-dynamodb</artifactId>
  </dependency>
</dependencies>
```

또한 * AWS 코드 샘플 카탈로그 *를 참조하여 특정 AWS 서비스에 어떤 종속성을 사용해야 하는지 알아볼 수 있습니다. 특정 서비스 예제의 POM 파일을 참조하십시오. 예를 들어, AWS S3 서비스의 종속성에 관심이 있는 경우 GitHub의 [전체 예제](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetAcl.java)를 참조하세요. (/java/example\$1code/s3 아래의 POM을 확인하십시오).

### 모든 SDK 모듈 가져오기
<a name="configuring-maven-entire-sdk"></a>

*전체* SDK를 종속성으로 끌어오려면 BOM 메서드를 사용하지 않고 단순히 다음과 같이 `pom.xml`에서 해당 SDK를 선언하면 됩니다.

```
<dependencies>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk</artifactId>
    <version>1.11.1000</version>
  </dependency>
</dependencies>
```

## 프로젝트 빌드
<a name="build-your-project"></a>

프로젝트를 설정했으면 Maven의 `package` 명령을 사용하여 빌드할 수 있습니다.

```
mvn package
```

이렇게 하면 `0jar` 디렉터리에 `target` 파일이 생성됩니다.

## Maven을 사용하여 SDK 빌드
<a name="building-with-maven"></a>

Apache Maven을 사용하여 소스에서 SDK를 빌드할 수 있습니다. 이렇게 하려면 [GitHub에서 SDK 코드를 다운로드](https://github.com/aws/aws-sdk-java)한 다음, 로컬로 압축을 풀고 나서 다음 Maven 명령을 실행합니다.

```
mvn clean install
```

# Gradle로 SDK 사용하기
<a name="setup-project-gradle"></a>

[Gradle](https://gradle.com/) 프로젝트의 SDK 종속성을 관리하려면의 Maven BOM AWS SDK for Java 을 애플리케이션의 `build.gradle` 파일로 가져옵니다.

**참고**  
다음 예제에서는 빌드 파일의 *1.12.529*를 AWS SDK for Java의 유효한 버전으로 바꿉니다. [Maven 중앙 리포지토리](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)에서 최신 버전을 찾아보세요.

## Gradle 4.6 이상을 위한 프로젝트 설정
<a name="project-setup-for-gradle-4-6-or-higher"></a>

 [Gradle 4.6 이후](https://docs.gradle.org/4.6/release-notes.html#bom-import) BOM(Bill Of Material)에 종속성을 선언하면 Gradle의 향상된 POM 지원 기능을 사용하여 BOM 파일을 가져올 수 있습니다.

1. Gradle 5.0 이상을 사용하는 경우 2단계로 건너뜁니다. 그렇지 않으면 `settings.gradle` 파일에서 *IMPROVED\$1POM\$1SUPPORT* 기능을 활성화하세요.

   ```
   enableFeaturePreview('IMPROVED_POM_SUPPORT')
   ```

1. 애플리케이션의 `build.gradle` 파일에서 *종속성* 섹션에 BOM을 추가합니다.

   ```
   ...
   dependencies {
       implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
   
       // Declare individual SDK dependencies without version
       ...
   }
   ```

1. *종속성* 섹션에 사용할 SDK 모듈을 지정합니다. 예를 들어, 다음은 Amazon Simple Storage Service ()에 대한 종속성을 포함합니다Amazon S3.

   ```
   ...
   dependencies {
       implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
       implementation 'com.amazonaws:aws-java-sdk-s3'
       ...
   }
   ```

Gradle에서는 BOM의 정보를 사용하여 올바른 SDK 종속성 버전을 자동으로 확인합니다.

다음은 종속성이 포함된 전체 `build.gradle` 파일의 예입니다 Amazon S3.

```
group 'aws.test'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

dependencies {
  implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
  implementation 'com.amazonaws:aws-java-sdk-s3'
}
```

**참고**  
이전 예제에서의 종속성을 프로젝트에서 사용할 AWS 서비스의 종속성 Amazon S3 으로 바꿉니다. AWS SDK for Java BOM에서 관리하는 모듈(종속성)은 [Maven 중앙 리포지토리](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)에 나열됩니다.

## 4.6 이전 Gradle 버전의 프로젝트 설정
<a name="project-setup-for-gradle-versions-earlier-than-4-6"></a>

4.6 이전의 Gradle 버전에는 기본 BOM 지원이 부족합니다. 프로젝트의 AWS SDK for Java 종속성을 관리하려면 Gradle용 Spring의 [종속성 관리 플러그인](https://github.com/spring-gradle-plugins/dependency-management-plugin)을 사용하여 SDK용 Maven BOM을 가져옵니다.

1. 종속성 관리 플러그인을 애플리케이션의 `build.gradle` 파일에 추가.

   ```
   buildscript {
       repositories {
           mavenCentral()
       }
       dependencies {
           classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
       }
   }
   
   apply plugin: "io.spring.dependency-management"
   ```

1. BOM을 파일의 *dependencyManagement* 섹션에 추가합니다.

   ```
   dependencyManagement {
       imports {
           mavenBom 'com.amazonaws:aws-java-sdk-bom:1.12.529'
       }
   }
   ```

1. *종속성* 섹션에 사용할 SDK 모듈을 지정합니다. 예를 들어 다음은 Amazon S3에 대한 종속성을 포함합니다.

   ```
   dependencies {
       compile 'com.amazonaws:aws-java-sdk-s3'
   }
   ```

Gradle에서는 BOM의 정보를 사용하여 올바른 SDK 종속성 버전을 자동으로 확인합니다.

다음은 종속성이 포함된 전체 `build.gradle` 파일의 예입니다 Amazon S3.

```
group 'aws.test'
version '1.0'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
  }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
  imports {
    mavenBom 'com.amazonaws:aws-java-sdk-bom:1.12.529'
  }
}

dependencies {
  compile 'com.amazonaws:aws-java-sdk-s3'
  testCompile group: 'junit', name: 'junit', version: '4.11'
}
```

**참고**  
이전 예제에서의 종속성을 프로젝트에서 사용할 AWS 서비스의 종속성 Amazon S3 으로 바꿉니다. AWS SDK for Java BOM에서 관리하는 모듈(종속성)은 [Maven 중앙 리포지토리](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)에 나열됩니다.

BOM을 사용한 SDK 종속성 지정에 대한 자세한 내용은 [Apache Maven으로 SDK 사용하기](setup-project-maven.md)를 참조하십시오.

# 개발을 AWS 리전 위한 AWS 임시 자격 증명 및 설정
<a name="setup-credentials"></a>

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

이 주제에서는를 사용하여 로컬 애플리케이션 개발을 위한 AWS 임시 자격 증명을 설정하는 방법에 대한 기본 정보를 제공합니다 AWS SDK for Java. EC2 인스턴스 내에서 사용할 자격 증명을 설정해야 하거나 개발용으로 Eclipse IDE를 사용하고 있는 경우에는 다음 주제를 참조하십시오.
+ EC2 인스턴스를 사용하는 경우 IAM 역할을 생성한 다음 IAM 역할을 사용하여 리소스에 대한 액세스 권한 부여에 표시된 대로 EC2 인스턴스에 해당 역할에 대한 액세스 권한을 부여합니다. [AWSAmazon EC2](java-dg-roles.md) 
+ 를 사용하여 Eclipse 내에서 AWS 자격 증명을 설정합니다[AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/). 자세한 내용은 [AWS Toolkit for Eclipse 사용 설명서](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/)의 자격 [AWS 증명 설정을 참조하세요](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/setup-credentials.html).

## 임시 자격 증명 설정
<a name="setup-credentials-setting"></a>

여러 AWS SDK for Java 가지 방법으로에 대한 임시 자격 증명을 구성할 수 있지만 권장되는 방법은 다음과 같습니다.
+ 다음 위치에 있는 로컬 시스템의 자격 증명 프로필 파일에서 임시 AWS 자격 증명을 설정합니다.
  +  Linux, macOS 또는 Unix의 `~/.aws/credentials`의 경우:
  +  Windows에서 `C:\Users\USERNAME\.aws\credentials`

  임시 자격 증명을 얻는 방법에 대한 지침은 이 안내서의 [SDK용 임시 보안 인증을 설정합니다.](signup-create-iam-user.md#setup-temp-creds)을 참조하세요.
+ `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 사용 설명서의에 대한 [IAM 역할을 Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) 참조하세요.

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

## IMDS 자격 증명 갱신
<a name="refresh-credentials"></a>

는 자격 증명 만료 시간에 관계없이 1분마다 백그라운드에서 IMDS 자격 증명 옵트인 새로 고침을 AWS SDK for Java 지원합니다. 이렇게 하면 자격 증명을 더 자주 새로 고칠 수 있으며 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 리전
<a name="setup-credentials-setting-region"></a>

를 사용하여 AWS 서비스에 액세스하는 AWS 리전 데 사용할 기본값을 설정해야 합니다 AWS SDK for Java. 네트워크 성능을 최대화하려면 본인(또는 본인의 고객)과 지리적으로 가까운 리전을 선택해야 합니다. 각 서비스의 리전 목록은 Amazon Web Services 일반 참조의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html)를 참조하세요.

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

유사한 기법을 사용하여 자격 증명을 설정하여 기본 AWS 리전을 설정할 수 있습니다.
+ 다음 위치에 있는 로컬 시스템의 구성 파일에서 AWS 리전 AWS 를 설정합니다.
  + Linux, macOS 또는 Unix의 \$1/.aws/config
  + Windows의 C:\$1Users\$1USERNAME\$1.aws\$1config

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

  \$1

  ```
  [default]
  region = your_aws_region
  ```

  \$1

  원하는 AWS 리전 (예: "us-east-1")*을 your\$1aws\$1region*으로 대체합니다.
+ `AWS_REGION` 환경 변수를 설정합니다.

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

  ```
  export AWS_REGION=your_aws_region
  ```

  Windows에서는 **``**을 사용합니다.

  ```
  set AWS_REGION=your_aws_region
  ```

  여기서 *your\$1aws\$1region*은 원하는 AWS 리전 이름입니다.