AWS DVA 항해기 - ELB + ASG - NLB

0
post-thumbnail

NLB

L4(TCP/UDP) 레벨에서, 엄청 높은 성능과 아주 낮은 지연시간으로 트래픽을 분산해주는 로드 밸런서

초당 수백만 요청, 고성능, 소스 IP 보존, TCP, UDP가 키워드

ALB와 다르게 NLB는 각 AZ마다 하나의 정적 IP 주소를 갖고 있음

각 가용 영역에 탄력적 IP 할당 가능
=> IP를 Elastic IP로 고정할 수도 있고, 아니면 AWS가 주는 고정 IP를 쓸 수도 있음

❓고정 IP의 장점?

  1. NLB가 중단되거나 교체될 때마다 IP 주소를 변경할 필요가 ❌ IP 주소가 고정되어 있기 때문에 클라이언트는 항상 동일한 IP 주소를 통해 액세스 가능

  2. DNS(Domain Name System) 구성을 간소화

  3. NLB에는 SSL/TLS 인증서를 적용할 수 있음. 고정 IP를 사용하면 인증서를 한 번만 구매하고 설치한 후에도 IP 주소 변경 없이 계속 사용할 수 있음

  4. 방화벽 또는 보안 그룹과 같은 보안 정책을 쉽게 적용할 수 있음. IP 주소가 변경되지 않기 때문에 정책을 설정하거나 업데이트할 때마다 변경 작업이 필요하지 않음

  5. 고정 IP를 사용하면 다른 서비스와의 통합 및 구성 관리도 단순화


NLB의 동작방식

  1. DNS → NLB IP 선택

  2. 클라이언트 → NLB 연결 맺기

  3. NLB가 타깃(EC2/IP) 선택

  4. NLB ↔ 타깃(EC2) 간 트래픽 전달


  • 대상그룹
  1. EC2 인스턴스

  2. IP 주소 → 하드코딩된 IP주소 혹은 프라이빗 IP (인스턴스와 자체 서버를 로드밸런서 타겟 그룹으로 등록한다면 )

  3. ALB 앞에 배치 가능
    NLB를 통해 고정 IP 주소를 얻을 수 있고 이후 ALB로 HTTP 유형의 트래픽을 처리하는 모든 규칙들 사용 가능


  • NLB가 지원하는 상태 체크(Health Check)

    1. TCP => 네트워크/포트 레벨 살아있음”만 보는 가장 기초적인 체크

    2. HTTP

    3. HTTPS

    백엔드 애플리케이션이 HTTP/HTTPS로 응답할 수 있다면, TCP보다 HTTP/HTTPS 헬스 체크로 더 정확한 상태 확인이 가능


ALB 실습

AZ마다 AWS에서 고정 IP 주소 할당 / EIP(Elastic IP)가 있으면 EIP 할당 가능

NLB를 위한 SG(Secuirty Group) 만들기

새로 생성한 SG 그룹 적용해주기

새로운 대상 그룹(Target Group) 만들어주기

다시 NLB 생성화면으로 돌아오기

생성 완료!

생성된 NLB의 DNS Name으로 접속해보니 타임아웃 발생

인스턴스의 SG 설정을 살펴보니 HTTP가 앞전에 설정해둔 ALB 보안그룹만 허용되어 있다

NLB 보안그룹도 추가해주자!

❓WHY ?
=> 네트워크 로드 밸런서에서는 밸런서의 보안 그룹을 정의하지 않는다
=> 네트워크 로드 밸런서로 들어온 모든 트래픽이 곧장 EC2 인스턴스로 들어간다
=> 들어온 트래픽을 허용할지 말지는 EC2 인스턴스 보안그룹이 정한다

다시 대상그룹(Target Group)을 살펴보면 Healthy라고 출력되는 것 확인 가능!

DNS Name 주소로 접근하면

잘 연결됨을 확인할 수 있다!!

profile
숲(구조)을 보는 개발자

0개의 댓글