[스프링] S3 라이브러리 endpoint 에러
S3 이미지 업로드를 위해
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'
org.springframework.cloud:spring-cloud-starter-aws 라이브러리를 설치해주고 서버를 돌렸더니
Caused by: java.net.SocketTimeoutException: connect timed out
com.amazonaws.SdkClientException: Failed to connect to service endpoint:
at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) ~[aws-java-sdk-core-1.11.792.jar:na]
at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70) ~[aws-java-sdk-core-1.11.792.jar:na]
대충 이런 endpoint에러가 났다.
구글링해보니 대충 로컬에서 ec2접근하려해서 나는 에러라고 하는데 ec2에서 돌리면 문제가 안된다고한다.
일단 에러 해결하려면 인텔리제이의
실행 - 구성편집
vm 옵션 추가 해주고
-Dcom.amazonaws.sdk.disableEc2Metadata=true
입력해주면 된다.
그러면 이제
EC2 Instance Metadata Service is disabled
at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.readResource
이런 에러 메세지가 뜨는데 기능상 문제 없고 꼴보기 싫으니 여기에 대한 에러메세지만 안뜨게 해주자
application.yml파일에
logging.level:
org.hibernate.SQL: debug
# org.hibernate.type: trace
com:
amazonaws:
util:
EC2MetadataUtils: error
이러면 된다.