문제
prod가 아닌 환경에서 서버 실행 시 다음과 같은 에러가 발생했다.
에러 메시지를 보면 metadata를 가져오는데 실패했다는 내용이다.

원인
디버깅을 통해 원인을 하나씩 살펴봤다.
기본적으로 설정된 http://169.254.169.254로 요청을 보내서 metadata를 가져온다.
해당 서버는 EC2 내에서만 접근가능하다.

서버로 요청을 보내기 전에 metadata를 비활성화하는 설정이 있으면
예외를 발생시키고 없으면 헤더에 token을 추가한다.

서버로 요청을 보내서 응답을 가져온다.
해당 서버는 EC2 내에서만 접근가능하기 때문에 당연 요청이 실패한다.

해결
불필요한 요청으로 인해 시간이 소요되기 때문에 metadata를 비활성화하는 설정을 통해 통신을 스킵한다.
vm option으로 -Dcom.amazonaws.sdk.disableEc2Metadata=true을 설정해준다.

'에러 해결' 카테고리의 다른 글
| [문제 해결] 역직렬화 과정에서 발생하는 문제를 해결해보자 (1) | 2023.12.23 |
|---|---|
| [문제 해결] static 메서드를 mocking 해보자 (0) | 2023.12.21 |