엘라스틱빈톡 & DB & CI/CD 배포하기 4 (탄력적 IP 생성, NLB 적용)

Sol's·2023년 5월 19일
0

Aws 무중단 배포

목록 보기
28/28

ALB(Application Load Balancer)는 고정 IP를 지원하지 않기에 서비스를 하기에 적합하지 않습니다.
그래서 NLB(Network Load Balancer)를 ALB 앞단에 두어 탄력적IP를 할당 후 모든 클라이언트 요청을 NLB로 받겠습니다.
NLB로 들어오는 모든 요청을 ALB로 전송하고 ALB가 https나 패킷 기반 라우팅이 가능하여 "/"로 들어오는 주소는 ~~EC2로 가! 라는 설정이 가능합니다!

앞 글에서 예고했듯이 NLB를 설정하겠습니다.

EC2 탄력적 IP 생성



고정 IP 주소가 생겼습니다!
이것을 NLB에 연결하겠습니다!

NLB 생성

로드밸런서 생성!

이름 : 프로젝트 이름 - nlb
Mappings : ap-northeast-2a (아무거나 택)
IPv4 address : User an Elastic IP address
- 이 옵션으로 탄력적 IP에 연결이 되었습니다.

아래 사진의 IP address 를 보면 아까만들 탄력적 IP와같은 IP인걸 확인 할 수 있습니다.

Listener
-> create target group
-> Application Load Balancer
-> name : aws-v5-alb -> next
Application Load Balancer -> 보기에서 선택



이제 로드밸런서 대상그룹에 가보면 NLB가 생겼습니다.

그리고 탄력적IP를 NLB에 연결해주면
고정IP로 모든 요청을 받게됩니다!

NLB로 들어오는 모든 요청이 aws-v5-alb로 이동하게 됩니다.
이제 우리는 탄력적 IP의 주소로 접속하면 NLB와 ALB를거쳐 EC2로이동합니다!

(중간에 많은 에러와 시행착오로 인해 탄력IP를 다시 받게 되었습니다...ㅎㅎ)

물론 조회API도 잘 됩니다!

마무리

이렇게 CICD 무중단 배포를 해보았습니다.
국비교육을 받으며 팀프로젝트를 하면서 많이 아쉬웠던 무중단 배포동시성문제중
무중단 배포를 공부해 보았습니다.

배포하는 과정에서 왜 단일 서버만 띄우면 안되는지 깨달았고 어떻게 서비스가 중단이되지 않을까라는 고민부터 시작한 공부는 어느정도 마무리를 지었습니다.

앞으로는 인프라에대한 고민도 하며 개발을할 수 있어 너무 좋습니다!ㅎㅎ

profile
배우고, 생각하고, 행동해라

0개의 댓글