개발 기록

com.amazonaws.SdkClientException: Failed to connect to service endpoint 에러 본문

TIL

com.amazonaws.SdkClientException: Failed to connect to service endpoint 에러

수염차 2022. 5. 1. 23:19
com.amazonaws.SdkClientException: Failed to connect to service endpoint: 
...
Caused by: java.net.SocketException: Network is unreachable: connect
...

로컬에서 프로젝트를 실행시킬때 항상 뜨는 에러였는데 애플리케이션 동작에 아무 문제가 없어 그냥 넘어갔던 에러다

이제와서 뭘까 생각이 들어 찾아봤다..

 

결론은..

spring-cloud-starter-aws를 이용한 프로젝트를 EC2 인스턴스가 아닌 다른곳에서 애플리케이션을 실행시 뜨는 에러다

 

내가 이해한 내용..

EC2ResourceFetcher

doReadResource 메서드안의 변수인 URI endpoint와 연결되지 않아 예외가 발생하는 것인데

저 메서드가 실행되는 경로를 거슬러 올라올라가면

EC2MetadataUtils

⬇️

 

특정 환경변수를 찾고 값이 null일때 ec2 인스턴스에서만 접근이 되는 엔드포인트를 리턴한다

그렇기 때문에 로컬에서 실행시 커넥션에 실패하고 예외를 터트리는 것..

 

표시되는 로그레벨을 조정해서 안 보이게 할 수 있지만 구동까지 딜레이 되는 건 마찬가지니 설정을 세팅해주는 게 좋겠다

이렇게 설정해주면 ec2 메타 데이터 조회까지 안가고 예외가 터진다

(어차피 예외는 터지지만 실행 시간을 좀 줄여줬다고 이해했다.)

그 후 로그 레벨을 조정해서 아예 안 보이게 해주면 된다

application.yml

logging:
  level:
    com:
      amazonaws:
        util:
          EC2MetadataUtils: error

 

깔끔..!!

'TIL' 카테고리의 다른 글

20221124 NHN FORWARD 후기  (0) 2022.11.24
20221109 JVM  (0) 2022.11.09
220212 ERR_CERT_COMMON_NAME_INVALID  (2) 2022.02.12
220203 502, 504 error  (0) 2022.02.03
220131 JPA save -insert 안 됨  (0) 2022.01.31
Comments