사용자 도구

사이트 도구


aws:java_sdk

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
aws:java_sdk [2020/12/30 19:01]
kwon37xi [withCredentials]
aws:java_sdk [2023/02/23 09:21] (현재)
kwon37xi [withCredentials]
줄 6: 줄 6:
   * 모든 서비스 객체 생성시 ''withCredentials''로 인증 방식을 지정해주는 것이 성능에좋아 보인다.   * 모든 서비스 객체 생성시 ''withCredentials''로 인증 방식을 지정해주는 것이 성능에좋아 보인다.
     * 안 그러면 여러가지 ''CredentialsProvider''를 순차적으로 시도해보면서 초기 성능 저하가 있는 것으로 보임.     * 안 그러면 여러가지 ''CredentialsProvider''를 순차적으로 시도해보면서 초기 성능 저하가 있는 것으로 보임.
-  * 특히 [[InstanceProfileCredentialsProvider]] 는 한번 생성해서 계속 재사용하게 해야한다.+    * 기본 provider 는 [[https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html|DefaultAWSCredentialsProviderChain]] 인 것으로 보임. 
 +  * 특히 [[https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/InstanceProfileCredentialsProvider.html|InstanceProfileCredentialsProvider]] 는 한번 생성해서 계속 재사용하게 해야한다.
     * 내부적으로 Thread Pool 생성하므로, 재사용하지 않으면 여러 쓰레드풀이 계속 만들어질 수 있음.     * 내부적으로 Thread Pool 생성하므로, 재사용하지 않으면 여러 쓰레드풀이 계속 만들어질 수 있음.
     * 비동기 refresh 사용시 필수적으로 애플리케이션 종료시 ''close()'' 호출.     * 비동기 refresh 사용시 필수적으로 애플리케이션 종료시 ''close()'' 호출.
 +    * SDK 설정시 해당 인스턴스를 인자로 넘겨야한다. 거기서 ''getCredentials()'' 호출 결과를 다른 객체에 주입하면 주기적인 credential refresh 가 일어나지 않게 되어 오류 로그가 찍힌다(실제 작동은 문제 없음)
 +      * ''The provided token has expired''
 +      * ''The security token included in the request is expired''
 +    * [[https://kim-jong-hyun.tistory.com/136|EC2에 배포된 Spring 웹 애플리케이션에서 AWS 리소스에 액세스할 때 주의해야할 점]]
 +<code java>
 +return AmazonS3ClientBuilder.standard()
 +                .withRegion(Regions.AP_NORTHEAST_2)
 +                .withCredentials(InstanceProfileCredentialsProvider.getInstance())
 +                .build();
 +</code>
 +===== localstack =====
 +  * [[aws:localstack|LocalStack]] 과 연동시 몇가지 특별한 처리가 필요함.
 +  * [[aws:localstack|LocalStack]] 에서 ''Java SDK 설정'' 항목 살펴보기
 +
 +===== Kotlin SDK =====
 +  * [[https://blog.jetbrains.com/ko/kotlin/2022/02/the-new-aws-sdk-for-kotlin-with-coroutines-support/|코루틴을 지원하는 새로운 Kotlin용 AWS SDK | The Kotlin Blog]]
 +
aws/java_sdk.1609322518.txt.gz · 마지막으로 수정됨: 2020/12/30 19:01 저자 kwon37xi