본문 바로가기

DevOps/AWS

[AWS] HTTPS 연결하기 (ELB)

 ELB(Elastic Load Balancer)란?

💡 한 줄 요약 : 트래픽(부하)을 적절하게 분배해주는 장치이다.

 

트래픽(부하)를 적절하게 분배해주는 장치를 보고 전문적인 용어로 로드밸런서(Load Balancer)라고 부른다.

서버를 2대 이상 가용할 때 ELB를 필수적으로 도입하게 된다.

 

 

 

 

하지만 지금은 ELB의 로드밸런서 기능을 사용하지 않고, ELB의 부가 기능인 SSL/TLS(HTTPS)를 적용시키는 방법에 대해 배울 것이다.

 

 SSL/TLS란 ?

 

SSL/TLS 쉽게 표현하자면 HTTP를 HTTPS로 바꿔주는 인증서이다.

위에서 말했다시피 ELBSSL/TLS 기능을 제공한다고 했다. SSL/TLS 인증서를 활용해 HTTP가 아닌 HTTPS로 통신할 수 있게 만들어준다.

 

 

 HTTPS ?

 

HTTPS를 적용시켜야 하는 이유는 무엇일까?

 

  1. 보안적인 이유
    데이터를 서버와 주고 받을 때 암호화를 시켜서 통신을 한다. 암호화를 하지 않으면 누군가 중간에서 데이터를 가로채서 해킹할 수도 있다. 보안에 좋지 않다.

  2. 사용자 이탈

    어떤 사이트에 들어갔는데 아래와 같이 보인다면 왠지 믿음직스럽지 못한 사이트라고 생각할 것이다.

 현업에서는 ?

대부분의 웹 사이트에서 HTTPS를 적용시킨다.

 

 

 

HTTPS 인증을 받은 웹 사이트가 백엔드 서버와 통신하려면, 백엔드 서버의 주소도 HTTPS 인증을 받아야 한다.

따라서 백엔드 서버와 통신할 때도 IP 주소로 통신하는 게 아니라, HTTPS 인증을 받은 도메인 주소로 통신을 한다.

주로 도메인을 구성할 때 아래와 같이 많이 구성한다.

  • 웹 사이트 주소 : https://jscode-edu.co.kr
  • 백엔드 API 서버 주소 : https://api.jscode-edu.co.kr

 

 ELB를 활용한 아키텍처 구성

 

ELB 도입 전 아키텍처
ELB 도입 후 아키텍처

 

ELB를 사용하기 전의 아키텍처는 사용자들이 EC2의 IP 주소 또는 도메인 주소에 직접 요청을 보내는 구조였다.

하지만 ELB를 추가적으로 도입함으로써 사용자들이 EC2에 직접적으로 요청을 보내지 않고 ELB를 향해 요청을 보내도록 구성할 것이다. 그래서 EC2 달았던 도메인도 ELB에 달 것이고, HTTPS도 ELB의 도메인에 적용시킬 예정이다.