기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
DNS 이름 조회를 위한 JVM TTL 설정
Java 가상 머신(JVM)은 DNS 이름 조회를 캐시합니다. JVM은 호스트 이름을 IP 주소로 확인하면 지정된 기간 동안 IP 주소를 캐시합니다. 이를 (TTL) 이라고 합니다. time-to-live
AWS 리소스는 가끔 변경되는 DNS 이름 항목을 사용하므로 TTL 값 5초로 JVM을 구성하는 것이 좋습니다. 이렇게 하면 리소스의 IP 주소가 변경될 때 애플리케이션이 DNS를 다시 쿼리하여 리소스의 새 IP 주소를 수신하고 사용할 수 있습니다.
일부 Java 구성에서는 JVM이 다시 시작될 때까지 DNS 항목을 새로 고치지 않도록 JVM 기본 TTL이 설정되기도 합니다. 따라서 애플리케이션이 실행 중일 때 AWS 리소스의 IP 주소가 변경되면 JVM을 수동으로 다시 시작하고 캐시된 IP 정보를 새로 고칠 때까지 해당 리소스를 사용할 수 없습니다. 이 경우 캐시된 IP 정보를 정기적으로 새로 고치도록 JVM의 TTL을 설정해야 합니다.
JVM TTL을 설정하는 방법
JVM의 TTL을 수정하려면 networkaddress.cache.ttlnetworkaddress.cache.ttl
속성을 설정합니다. $JAVA_HOME/jre/lib/security/java.security
$JAVA_HOME/conf/security/java.security
다음은 5초로 설정된 TTL 캐시를 보여 주는 파일의 스니펫입니다. java.security
# # This is the "master security properties file". # # An alternate java.security properties file may be specified ... # The Java-level namelookup cache policy for successful lookups: # # any negative value: caching forever # any positive value: the number of seconds to cache an address for # zero: do not cache ...
networkaddress.cache.ttl=5
...
$JAVA_HOME
환경 변수로 표시되는 JVM에서 실행되는 모든 응용 프로그램은 이 설정을 사용합니다.