ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ELB를 활용하여 HTTPS 연결하기 (1)
    Infra/AWS 2024. 5. 8. 16:29

     

    1. ELB란? 

    트래픽(부하)를 적절하게 분배해주는 장치이다.

     

    • 트래픽을 적절하게 분배해주는 장치 로드밸런서이다. 
    • 서버를 2대 이상 가용할 때 ELB는 필수적으로 도입하게 된다.
    • AWS의 ELB는 부가기능으로 SSL/TSL을 간편하게 적용시킬 수 있도록 지원한다
    • 보안적인 이유, 사용자 이탈 방지 이유 등등 HTTPS를 적용해야하는 이유는 많다! .
    • HTTPS 인증 받은 웹 사이트가 백엔드 서버와 통신하려면, 백엔드 서버의 주소고 HTTPS 인증을 받아야한다.
    • 따라서 백엔드 서버와 통신할 때도 IP주소가 아닌, HTTPS 인증을 받은 도메인 주소로 통신해야한다.
      • 웹사이트 주소: https://abc.co.kr
      • 백엔드 API 주소: https://api.abc.co.kr (서브 도메인)
    • 출처 : https://cloudacademy.com

     

    2. ELB를 활용한 아키텍처 구성

    • ELB를 사용하기 전에는 사용자들이 EC2 IP주소 혹은 도메인 주소에 직접 요청을 보내는 구조였다
    • 하지만 ELB를 추가적으로 도입한다면, EC2에 직접 요청을 보내는 것이 아니라, ELB로 요청을 보내면, ELB에서 적절하게 트래픽을 분산해서 각각의 EC2로 보내게 된다.
    • 따라서 EC2에 달았던, 도메인도 ELB에 달고, HTTPS도 ELB 도메인에 적용시키자. 

    3. ELB 셋팅하기 

     

     

    • EC2 로드 밸런서로 들어가서 생성
    • 3가지 유형 중 일단 Application Load Balancer 를 선택하자
    • HTTP와 HTTPS의 특징을 이용하기 위해 사용한다. 

    • 이제 기본 구성을 선택하자 

     

    • 인터넷 경계와 내부 옵션이 있는데, 내부는 private IP를 활용할 때 사용한다.
    • 인터넷 경계 옵션을 선택하자 

     

    • 네트워크 매핑은 로드 밸런서가 어떤 가용 영역으로 트래픽을 보낼 것인 지 제한하는 기능이다. 
    • 모든 갸용 영역에 다 체크하자 

    4. ELB 셋팅 - 리스너 및 라우팅/ 헬스 체크 

    • 리스너 및 라우팅은 ELB로 들어온 요청을 어떤 EC2 인스턴스에 전달할 것인지 설정하는 부분이다.

    • ELB로 들어온 요청을 어떤 곳으로 전달해야 하는데, 어떤 곳을 대상 그룹이라고 표현한다.
    • ELB로 들어온 요청을 보낼 대상 그룹을 만들어야한다.
    • 대상 그룹을 지근은 Ec2 인스턴스로 둘 것이다. 

     

    • ELB가 사용자로부터 트래픽을 받아 대상 그룹에게 어떤 방식으로 전달할 지 설정하는 부분이다. 위와 같이 HTTP, IPv4로 가장 자주 사용한다.
    • 마지막으로 healt check를 설정하자 

    • ELB로 들어온 요청을 대상 그룹에 여러 EC2로 전달하는데, EC2서버가 작동하는지 아닌지 확인하고 트래픽을 보낸다.
    • 이때 EC2 인스턴스가 요청을 받을 수 있는 상태인지 체크하기 위해 특정 요청을 보내는데, 이를 상태 검사라고 한다.
    • 위와 같이 상태 검사를 등록했다면, 서버 애플리케이션에 해당 url get요청을 받아서 200상태를 return할 수 있는 메서드를 작성해두자 (백엔드 서버에 Health check용 API를 만들어두자)

    • 이제 대상 그룹을 만들고 등록해 두자

     

    • 생성한 대상그룹을 등록하면, ELB는 80번 포트의 요청을 대상 그룹으로 보내게 된다.

     

    • 이제 로드 밸런서를 생성하면 끝! 

     

    *추후 학습할 개념 VPC, 가용 영역, 로드 밸런서 유형

Designed by Tistory.