

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

# 2단계: 애플리케이션 구성
<a name="EKS-tutorial-step2"></a>

이 단계에서는 SigV4 플러그인을 사용하여 Amazon Keyspaces에 연결하는 애플리케이션을 빌드합니다. [Github](https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/java/datastax-v4/eks)의 Amazon Keyspaces 예제 코드 리포지토리에서 예제 Java 애플리케이션을 보고 다운로드할 수 있습니다. 또는 자체 애플리케이션을 사용하여 모든 구성 단계를 완료해야 합니다.

**애플리케이션을 구성하고 필요한 종속성을 추가합니다.**

1. 다음 명령을 사용하여 Github 리포지토리를 복제하여 예제 Java 애플리케이션을 다운로드할 수 있습니다.

   ```
   git clone https://github.com/aws-samples/amazon-keyspaces-examples.git
   ```

1. Github 리포지토리를 다운로드한 후 다운로드한 파일의 압축을 풀고 `resources` 디렉터리에서 `application.conf` 파일로 이동합니다.

   1. **애플리케이션 구성**

      이 단계에서는 SigV4 인증 플러그인을 구성합니다. 애플리케이션에서 다음 예제를 사용할 수 있습니다. 아직 생성하지 않은 경우 IAM 액세스 키(액세스 키 ID 및 보안 액세스 키)를 생성하여 AWS 구성 파일 또는 환경 변수로 저장해야 합니다. 자세한 지침은 [Cassandra 클라이언트 드라이버용 AWS CLI, AWS SDK 또는 Amazon Keyspaces SigV4 플러그인에 필요한 자격 증명](SigV4_credentials.md) 섹션을 참조하세요. 필요에 따라 Amazon Keyspaces의 AWS 리전 및 서비스 엔드포인트를 업데이트합니다. 서비스 엔드포인트에 대한 자세한 정보는 [Amazon Keyspaces의 서비스 엔드포인트](programmatic.endpoints.md) 섹션을 참조하세요. truststore 위치, truststore 이름 및 truststore 암호를 자신의 암호로 바꿉니다.

      ```
      datastax-java-driver {
        basic.contact-points = ["cassandra.us-east-1.amazonaws.com:9142"]
        basic.load-balancing-policy.local-datacenter = "us-east-1"
        advanced.auth-provider {
          class = software.aws.mcs.auth.SigV4AuthProvider
          aws-region = "us-east-1"
        }
        advanced.ssl-engine-factory {
          class = DefaultSslEngineFactory
          truststore-path = "truststore_locationtruststore_name.jks"
          truststore-password = "truststore_password;"
        }
      }
      ```

   1. **STS 모듈 종속성을 추가합니다.**

      이렇게 하면 서비스 계정이 IAM 역할을 수임할 수 있도록 애플리케이션이 제공해야 하는 AWS 자격 증명을 반환`WebIdentityTokenCredentialsProvider`하는를 사용할 수 있는 기능이 추가됩니다. 다음 예제를 기반으로 이 작업을 수행할 수 있습니다.

      ```
              <dependency>
                  <groupId>com.amazonaws</groupId>
                  <artifactId>aws-java-sdk-sts</artifactId>
                  <version>1.11.717</version> 
              </dependency>
      ```

   1. **SigV4 종속성을 추가합니다.**

       이 패키지는 Amazon Keyspaces에 인증하는 데 필요한 SigV4 인증 플러그인을 구현합니다.

      ```
              <dependency>
                  <groupId>software.aws.mcs</groupId>
                  <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin</artifactId>
                  <version>4.0.3</version> 
              </dependency>
      ```

1. **로깅 종속성을 추가합니다.**

    로그가 없으면 연결 문제를 해결할 수 없습니다. 이 자습서에서는 `slf4j`를 로깅 프레임워크로 사용하고 `logback.xml`을 사용하여 로그 출력을 저장합니다. 로깅 수준을 `debug`로 설정하여 연결을 설정합니다. 다음 예제를 사용하여 종속성을 추가할 수 있습니다.

   ```
           <dependency>
               <groupId>org.slf4j</groupId>
               <artifactId>slf4j-api</artifactId>
               <version>2.0.5</version> 
           </dependency>
   ```

   다음 코드 조각을 사용하여 로깅을 구성할 수 있습니다.

   ```
   <configuration>
       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
           
           <encoder>
               <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
           </encoder>
       </appender>
   
       <root level="debug">
           <appender-ref ref="STDOUT" />
       </rootv
   </configuration>
   ```
**참고**  
연결 실패를 조사하려면 `debug` 수준이 필요합니다. 애플리케이션에서 Amazon Keyspaces에 성공적으로 연결한 후 필요에 따라 로깅 수준을 `info` 또는 `warning`으로 변경할 수 있습니다.