초보자도 할 수 있는 Elastic Load Balancer 구축

2021.08.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요! 클래스메소드 금상원 입니다. 이번 블로그에서는 각각의 Load Balancer를 구축하는 방법에 대해서 설명하겠습니다. Elastic Load Balancer구축을 하려고 하신 분들께 도움이 되었으면 좋겠습니다.

Elastic Load Balancer의 이론적인 내용이 필요하시면 Elastic Load Balancer 설명을 클릭해주세요

그럼 시작 하겠습니다.

준비

먼저 하나의 VPC의 다른 2개의 AZ에 EC2를 만듭니다.

그리고 고급세부정보에서 사용자 데이터 부분에

#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

아파치설치와 간단한 HTML을 작성합니다.

ALB 구축해보기

좌측 탭에서 로드밸런서를 클릭한뒤 상단의 Load Balancer 생성을 클릭합니다.

유형에서 Aplication Load Balancer을 선택합니다.

이름리스너를 설정합니다.

VPC가용역역을 선택하고 다음을 클릭합니다.

!주의점 AZ는 ALB를 놓는 곳이므로 PublicSubnet을 지정해줘야합니다.

보안 그룹을 설정한후 다음을 클릭합니다

대상그룹이름을 적고 프로토콜, 포트를 선택한후 다음을 클릭합니다.

대상 그룹 설정에서 추가 할 인스턴스를 선택하고 등록된항목에 추가를 클릭하고 완료 합니다.

왼쪽 탭의 인스턴스를 클릭하고 로드밸런서에 추가한 EC2의 보안그룹에 인바운드 추가를 합니다. 추가할 인바운드는 화면과 같이 HTTP80번 포트, 소스에는 로드밸런서의 보안그룹을 추가해줍니다.

그리고 위의 화면처럼 상태 확인에 healthy가 표시되면 왼성 된것입니다.

확인을 위해 로드밸런서의 설명탭에서 DNS주소를 복사하여 검색창에 입력합니다.

화면과 같이 출력된다면 성공 하신겁니다.

NLB 구축해보기

NLB를 시작하기전 public subnet의 인스턴스 2개를 준비해주세요.
(!주의 퍼블릭 서브넷을 생성 할 때에는 다른 라우팅 테이블을 사용해야합니다.)
같은 인터넷 게이트는 사용가능

먼저 죄측 메뉴에서 대상 그룹을 클릭한후 대상 그룹 생성을 클릭합니다.

인스턴스를 선택하고 이름프로토콜을 선택합니다.

VPC상태 검사를 선택한후 다음을 클릭 합니다.

인스턴스를 선택하고 아래에 보유 중인 것으로 포함을 클릭합니다.

추가된 것을 확인한 후 대상 그룹 생성을 클릭 합니다.

죄측 챕에서 로드 밸런서를 클릭하고 Load Balancer 생성을 클릭합니다.

Network Load Balancer를 선택하고 다음을 클릭합니다.

VPC를 설정하고 AZ의 서브넷을 선택합니다.

리스너 및 라우팅을 설정하고 완료 합니다.

<!--

왼쪽 탭의 인스턴스를 클릭하고 로드밸런서에 추가한 EC2의 보안그룹에 인바운드 추가를 합니다. 추가할 인바운드는 화면과 같이 HTTP80번 포트, 소스에는 로드밸런서의 보안그룹을 추가해줍니다. -->

대상 그룹애서 대상탭을 클릭하고 healthy가 표시되는지 확인합니다.

확인을 위해 로드밸런서의 설명탭에서 DNS주소를 복사하여 검색창에 입력합니다.

화면과 같이 출력된다면 성공 하신겁니다.

마무리

이번 블로그에서는 ALB생성을 시작으로 NLB까지 생성해보았습니다. 인스턴스를 각각 다른 AZ의 public subnet 또는 private subnet에 생성하여 Load Balancer를 통해 트래픽을 분산할 수 있게 되었습니다. 이로서 AWS를 이용하여 웹서버를 구축을 할 수 있게 되었습니다. GWLB는 좀 복잡한 부분이 있어 추후에 따로 올리도록하겠습니다.

참고한 자료

Network Load Balancer 시작하기