실습을 위한 AWS - 11. ELB 생성하기

행동하는 개발자·2022년 7월 6일
0

실습을 위한 AWS

목록 보기
11/15

로드 밸런싱

네트워크 기술의 일종으로 네트워크 트래픽을 하나 이상의 서버나 장비로 분산하기 위해 사용되는 기술이다. 이 때 로드 밸런싱을 수행하는 소프트웨어나 하드웨어를 로드 밸런서라고 한다. 로드 밸런싱 서비스를 통해 외부에서 발생하는 많은 인터넷 트래픽을 여러 웹 서버나 장비로 부하를 분산하여 처리할 수 있다.

처리 방식

  1. Scale-Up을 통해 CPU, 메모리, 디스크 등의 기능을 업그레이드한다.
  2. Scale-Out을 통해 저렴한 노드 여러 개를 하나의 Cluster로 구성한다.

ELB(Amazon Elastic Load Balancing)

단일 가용 영역 또는 여러 가용 영역에서 Amazon EC2 인스턴스 및 컨테이너, IP 주소 같은 동일한 서비스를 제공하기 위해 준비된 여러 대상으로 애플리케이션 및 네트워크 트래픽을 자동으로 분산시킨다.

ELB의 주요 특징

  1. 상태확인 서비스
    : ELB와 연결된 인스턴스의 연결 상태를 수시로 체크하여 인스턴스의 OS나 애플리케이션의 문제로 인해 연결 장애나 서비스 가능 여부에 대한 Health Check를 지속적으로 수행한다.
  2. Sticky Session
    : 기본적으로 Round Robin 방식으로 트래픽을 분산할 때, 한 번 연결된 Session은 다음 연결 시 그대로 연결되지 않으며, 다음 번 연결 시 다른 인스턴스로 연결될 수 있어서 애플리케이션의 Session을 유지할 수 없게 된다. 특히 웹사이트의 로그인 및 인증 정보를 유지할 수 없게 된다.
  3. 고가용성 구성
    Elastic Load Balancing은 단일 가용 영역 또는 여러 가용 영역에 있는 여러 대상에 걸쳐 트래픽을 자동으로 분산할 수 있다.
  4. SSL Termination 및 보안 기능
    : 웹 사이트에 SSL 인증서를 적용하여 https와 같은 방식으로 암호화 통신을 하기 위해서는 개별 웹 서버에 별도의 공인인증서를 구매 후 적용하여야 한다. 이 경우 개별 인증서를 각 인스턴스에 직접 적용은 물론 인증서 만료에 따른 갱신 등 관리가 필요하다.
  • 참고

웹 서버 구성 및 웹 페이지 연결 테스트하기

먼저 ssh client에서

sudo yum install httpd
sudo Services httpd start

명령어를 입력하고 인스턴스의 퍼블릭 DNS를 확인 후 웹 브라우저로 웹 서비스 접속 가능 여부를 확인한다.

서버 부팅 시 웹서버가 자동으로 시작

sudo chconfig httpd on

www의 그룹을 만들고 로그인 중인 ec2-user의 www 디렉터리의 권한 변경

sudo groupadd www
sudo usermod -a -G www ec2-user
exit

서버의 접속 권한 수정

cd /var/www
sudo chown R root:www /var/www
sudo chmod 2775 /var/www/html

Nano Editor를 이용해 index.html을 신규로 생성

cd html
nano index.html

이후 Test Website - EC2 Instance 1 을 입력하면

인스턴스의 퍼블릭 dns로 웹 브라우저에서 접속했을 때, 입력한 내용이 출렴됨을 확인할 수 있다.

ELB 생성하기

다음과 같이 만들 수 있다.

문제가 생겼을 시, 해당 인스턴스로 들어가 문제를 확인하고 고쳐 상태가 healthy로 바뀐다면 해결된 것이다.

ELB의 DNS 이름을 웹 브라우저에 입력 후 웹사이트 접속을 하고, 새로고침 시 지속적으로 접속되는 서버가 변경된다. 아래의 속성편집에서 고정을 체크하고 고정 지속시간을 정하면, 동일 인스턴스로만 접속되는 것을 확인할 수 있다.

profile
끊임없이 뭔가를 남기는 사람

0개의 댓글