데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      AWS NLB Target 상태 및 옵션에 따른 NLB DNS 응답 방식

      ZIGI 22.02.11
      1,950 5 0

      이번 포스팅은 AWS Network Load Balancer에서 가용 영역 내에 위치한 Target의 상태(healthy 혹은 unhealthy)와 Cross-zone load balancing 옵션에 따라서, NLB의 DNS 이름에 대한 질의와 응답이 어떻게 달라지는지 확인해보는 내용입니다.

       

      이번 포스팅에서 다루게 된 기본 구성입니다.

      Internet facing 상태의 Network Load Balancer가 있고, 2개의 가용 영역에 매핑이 된 상태입니다.

      각 가용 영역에는 1개씩의 Target(웹서버)이 존재합니다. 

       

       

       

      Network Load Balancer(이하 'NLB'로 표기)를 생성할 때,

      네트워크 매핑(Network mapping) 설정에서 해당 NLB가 속하는 VPC를 선택합니다. 

      VPC 선택과 함께 NLB에 대한 유입 지점이 되는 1개 이상의 가용 영역을 지정합니다. 

      ※ 참고로, NLB는 1개의 단일 가용 영역으로도 구성이 가능하지만,  2개 이상의 가용 영역을 선택하여 이중화 구성을 하는 것을 권고합니다.   Application Load Balancer는 최소 2개 이상의 서브넷을 사용해야 하기 때문에 가용 영역에 대한 이중화 구성이 필수입니다.

       

       

       

      가용 영역을 선택하면 해당 가용 영역 내의 서브넷을 1개를 지정하는 데 이 서브넷에 NLB에 대한 '네트워크 인터페이스(eni)'가 생성됩니다.  NLB의 DNS 이름에 대한 응답을 하는 IP 주소가 바로 이 네트워크 인터페이스의 IP 주소입니다.  

       

       

       

      NLB에 대한 도메인으로 질의(Query)를 수행하면, 다음과 같이 NLB를 만들 때 생성된 네트워크 인터페이스(eni)의 IP 주소 값이 응답하는 것을 확인 할 수 있습니다.    

       

       

      실제 사용자의 Flow를 보면 다음과 같이, 사용자가 DNS에 NLB에 대한 도메인 질의를 하여 받은 응답 값으로 서비스 요청하고 응답을 받게 됩니다.

       

       

      그럼 이제 가용 영역 별 NLB Target 상태(healthy, unhealthy)에 따라서, NLB의 DNS 이름에 대한 질의 결과가 어떻게 달라지는지 확인해 보겠습니다.

       

      먼저 NLB가 매핑된 모든 가용 영역에 healthy한 Target이 존재하는 정상적인 경우의 앞서 알아본 것처럼 모든 가용 영역의 NLB 네트워크 인터페이스의 주소 값을 응답합니다.

       

      그럼 특정 가용 영역의 모든 Target이 unhealthy인 경우에는 어떻게 될까요?

      NLB의 속성 값에 따라 NLB의 DNS 이름에 대한 질의 결과가 달라집니다.

       

      NLB의 속성 중에 Cross-zone load balancing 이라는 것이 있습니다.

      NLB에서 교차 영역(NLB의 네트워크 인터페이스의 가용 영역과 Target이 서로 다른 가용 영역인 경우)에 대한 라우팅을 지원하는 옵션입니다.

      ALB에서는 교차 영역에 대한 라우팅이 기본적으로 활성화이지만(비활성화 불가), NLB에서는 기본 값이 비활성화입니다.

      따라서, NLB가 구성된 기본 상태에서는 교차 영역에 대한 Target의로의 라우팅은 불가합니다.

       

      하나의 가용 영역의 모든 Target이 unhealthy인 경우에

       

      Cross-zone  load balancing 속성이 비활성화 상태에서는 에 NLB의 DNS 이름에 대한 질의를 해보면 다음과 같이 해당 가용 영역의 NLB 네트워크 인터페이스에 대한 IP 주소에 대한 값을 응답에 포함하지 않는 것을 볼 수 있습니다.

       

       

      실제 사용자의 Flow를 보면 다음과 같이, DNS에서 사용 가능한 Target이 존재하지 않는 NLB 네트워크 인터페이스에 대해서는 응답하지 않기 때문에, 서비스가 가능한 NLB 네트워크 인터페이스로 서비스를 요청하고 응답을 받게 됩니다.

       

       

      하지만, Cross-zone  load balancing 속성이 활성화 상태에서는 에 NLB의 DNS 이름에 대한 질의를 해보면 다음과 같이 해당 가용 영역의 NLB 네트워크 인터페이스에 대한 IP 주소를 포함하여 응답을 포함하지 않는 것을 볼 수 있습니다. 비록 NLB 네트워크 인터페이스가 있는 가용 영역에는 사용 가능한 Target이 없지만, 다른 가용 영역으로 라우팅이 가능하여, 정상적인 서비스를 제공 할 수 있기 때문입니다.

       

       

      실제 사용자의 Flow를 보면 다음과 같이, DNS에서 사용 가능한 Target이 존재하지 않는 NLB 네트워크 인터페이스에 대해서도 같이 응답 받고, 어느 NLB 네트워크 인터페이스로 서비스를 요청하더라도 정상적인 Target을 통해서 응답을 받을 수 있습니다.

       

       

      실제 사용자가 응답 받은 서비스를 보면, 어느 NLB 네트워크 인터페이스로 요청을 하더라도  정상 Target의 값만 응답 받는 것을 볼 수 있습니다.

       

       

      그럼 만약에 NLB의 모든 Target이 unhealthy인 경우에는 어떻게 응답을 할까요?

      NLB의 모든 네트워크 인터페이스에 대한 값을 응답을 하지만, 당연하게도 아래와 같이 서비스는 되지 않습니다.

       

       

      실제 사용자의 Flow를 정리하면 아래와 같습니다.

       

      이상, NLB에서 가용 영역 별로 Healthy한 상태의 Target이 존재 하는지, NLB의 Cross-zone  load balancing 옵션 활성화에 따라서 NLB의 DNS 이름 질의에 대한 응답 및 서비스 처리에 대해서 확인했습니다.  NLB에서 Cross-zone load balancing 옵션을 활성화 하는 것이 좋을까요? NLB에서는 가용 영역 간의 트래픽에 대한 비용이 발생하기 때문에 서비스 특성에 따라서 이러한 트래픽 비용에 대한 부분도 고려해야 합니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      ZIGI 님의 최신 블로그

      더보기
      동영상 기고하기