[왕초보 탈출 AWS 매뉴얼(5)] ALB & Target Group 생성

2021. 8. 15. 23:19✅ STUDY/AWS

안녕하세요 :)

해당 매뉴얼을 끝까지 따라오시면, 아래와 같은 네트워크 구성과 리소스들을 생성하실 수 있습니다.

 

오늘은 매뉴얼4에 이어, ALB를 생성하고 Target group을 생성할 예정입니다 ~

최대한 쉽게 사진과 함께 가져왔으니 천천히 따라와주세요 :)


ALB(Application Load Balancer) 생성

ALB(Application Load Balancer) 란 ❓

LB란? 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산하는 서비스

LB는 등록된 대상의 상태를 모니터링하며, 상태가 양호한 대상으로만 트래픽을 라우팅 해줌
수신 트래픽이 시간이 지남에 따라 변경됨에 따라 로드 밸런서를 확장함

LB에는 여러 종류가 있음(Application Load Balancer, Network Load Balancer, Gateway Load Balancer, Classic Load Balancer)
특히, Application Load Balancer는 HTTP의 URL, FTP의 파일명, 쿠키 정보 등을 분석해 더 정교한 로드 밸런싱이 가능한 서비스


AWS 콘솔에서 
[EC2]에 들어가 [로드 밸런싱 - 로드밸런서] 를 클릭합니다.


ALB를 만들 것이므로, ALB 생성을 선택합니다.

[1. Load Balancer 구성]
이름: milky-alb
체계: 인터넷 경계
VPC: milky-vpc
가용영역: a, c 체크 및 public-subnet-a, public-subnet-c 선택

[2. 보안 설정 구성]
설정할 것이 없으므로 다음을 눌러, 넘겨줍니다.

[3. 보안 그룹 구성]
보안 그룹 이름: milky-alb-sg
설명: milky-alb-sg
인바운드 룰: 80포트 - 0.0.0.0/0 (HTTP 포트인 80으로 들어온, 트래픽을 허용하겠다는 뜻 )


[4. 라우팅 구성]
대상그룹 이름: milky-tg
대상 유형: 인스턴스
프로토콜: HTTP
포트: 5000 (node.js가 사용하는 포트 번호)

[5. 대상 등록]
백엔드 서버로 사용할 인스턴스를 체크한 후, "등록된 항목에 추가"를 눌러줍니다.
해당 ALB로 들어온 트래픽을 nodejs-server에 전달하게 됩니다.


[6. 검토]
아래의 내용과 맞는지 검토해준 후, 생성을 눌러주세요 ~


보안 그룹 편집

ALB를 생성했으니, ALB로 들어온 리소스들만 nodejs서버에 접근할 수 있도록 해야 합니다.

AWS 콘솔에서 
[EC2]에 들어가 [네트워크 및 보안 - 보안 그룹]을 클릭합니다.
nodejs 백엔드 서버에 적용했던 보안그룹을 검색해 인바운드 규칙을 편집을 클릭합니다.


5000 포트 - milky-alb-sg를 선택 합니다.
이 인바운드 규칙의 의미는 milky-alb를 통해 들어온 트래픽에 한해 5000포트를 허용하겠다는 의미입니다.


참고) 보안그룹의 인바운드 규칙에 태그를 지정해 용도를 직관적으로 알 수 있도록 하면 추후에 편리합니다!
Name에 마우스를 가져다 대면, 편집 아이콘이 생깁니다.

아래처럼 인바운드 룰의 설명을 달아주면, 나중에 용도를 이해하기 편하겠죠?!


이렇게 해서, ALB 생성까지 완료되었습니다.
아래 아키텍쳐 사진만큼 구축하신 겁니다!



다음 편에서는 이어서, 생성한 nodejs 백엔드 서버에 접속할 수 있도록 설정해보겠습니다.

안녕 😜