DNS는 동일한 참조를 가진 2개의 IP에 대해 확인합니다.

DNS는 동일한 참조를 가진 2개의 IP에 대해 확인합니다.

다음과 같은 상황이 발생합니다. 서버에서 동일한 fqdn을 참조할 IP 2개를 설정해야 합니다. 서버에서 실행 중인 애플리케이션에서 FQDN을 구성하고 있습니다. 하나의 IP(FQDN 기반)에 대한 액세스에 문제가 있으면 서버는 동일한 FQDN에 할당된 두 번째 IP를 사용합니다.

예: /etc/hosts다음을 포함합니다

1.1.1.1 server1.google.com
1.1.2.1 server1.google.com

1.1.1.1에 액세스하는 데 문제가 있으면 서버는 server1.google.com을 1.1.2.1로 사용합니다.

우리는 그런 것을 사용할 수 있습니까? 다른 옵션이 있나요?

답변1

/etc/hosts는 라운드 로빈을 수행하지 않습니다. 찾은 첫 번째 일치 항목만 반환합니다.

라운드 로빈 확인을 원할 경우 이를 수행하는 전체 DNS 서버가 필요합니다.

게다가 라운드 로빈 DNS는 여러분이 원하는 로드 밸런싱을 위한 좋은 도구가 아닙니다. 편리한 것처럼 보이지만 이름 확인은 수행하려는 작업을 수행하기 위한 계층이 아닙니다.

답변2

애플리케이션을 변경하고 싶지 않거나 변경할 수 없는 경우 애플리케이션을 실행하는 서버와 연결하려는 두 서버 사이 어딘가에 로드 밸런싱 레이어를 배치해야 합니다. 이를 통해 다음이 가능해집니다.

  • 동일한 DNS 이름과 동일한 IP 주소를 계속 사용합니다(로드 밸런서가 가상 IP를 생성합니다)
  • 차례로 모든 서버로 연결됩니다.
  • 문제 발생 시 사라질 서버에 연결하지 마세요.
  • 필요한 경우 인증 세션이 동일한 대상으로 유지되도록 허용

로드 밸런싱 솔루션의 경우 다음을 살펴볼 수 있습니다.리눅스 LVS 프로젝트.

지원되는 경우 연결 문자열에 두 IP를 모두 제공하도록 애플리케이션을 변경할 수도 있습니다. 첫 번째 IP가 사용되며 응답하지 않으면 두 번째 IP가 사용됩니다. 그러나 이는 애플리케이션을 구축하는 데 사용되는 언어에 따라 크게 달라집니다. 예를 들어 Java 데이터베이스 커넥터를 사용하면 가능합니다.

관련 정보