Private IP 를 사용하여 접속할 경우 현상이 발생할 수 있습니다.
원인 및 해결
AWS 환경의 Cloud Z DB 의 Private IP 는 AWS 의 Network Load Balancer 를 사용합니다.
AWS 의 NLB (Network Load Balancer) 서비스는 connection 의 idle timeout check 를 진행하여 idle 하지 않은 connection 에 대해 close 합니다.
Private IP를 사용하실 경우,
AWS NLB 의 idle timeout 값은 350초이므로 application 에서 350초보다 짧은 주기로 connection 에 대해 health check 를 진행하여 idle 이 되는 것을 방지해야합니다.
예를 들어 hikari 의 idle-timeout 설정을 350초보다 적은 값으로 설정하여 이를 방지할 수 있습니다.
또한, K8S Cluster 내부에서는 Private IP 가 아닌 Cluster IP 를 사용하여 접속하는 방법이 있습니다.