개요 :
Elastic LoadBalancing을 사용하면 라운드로빈 순서로 대상 인스턴스로 라우팅한다.
복수의 EC2를 사용할 때 필수적인 요소이다.
준비사항 :
2대 이상의 EC2
※ 저의 경우 Tomcat에 간단한 JSP를 올린 인스턴스를 2개 준비하였습니다.
서버IP등 찍는 단순한 JSP소스를 원하시면 Github에서 다운로드 받으면 됩니다.
https://github.com/armyost/testPage.git
적용방법 :
1. [서비스]-[EC2]에서 '로드벨런싱'의 '로드벨런서' 메뉴를 클릭합니다.
2. 'LoadBalancer생성' 버튼을 클릭합니다.
3. 어플리케이션을 로드벨런싱 할 예정이므로 'Application LoadBalancer'를 선택합니다.
4. 로드벨런서 이름을 입력하고, 리스너는 호출되고자 하는 포트를 입력합니다.(저는 URL만 깔끔하게 쓰고 싶어서 80으로 했습니다.)
※ EC2인스턴스 자체에서 열려있는 포트와 무관하게 사용하면 됩니다. NAT개념이 적용되어 로드벨런서가 독립적으로 받아서 EC2에게 라우팅 하기 때문입니다.
5. HTTPS로 설정하지 않아 경고가 뜹니다. 그냥 무시합니다.
6. 새 보안그룹을 만듭니다. 1단계에서의 리스너와 동일한 구성으로 만듭니다.
7. 라우팅의 대상을 설정합니다. EC2인스턴스를 대상으로 하고 있으므로 대상유형은 '인스턴스'가 되고, 저의 경우 EC2에서 8080포트로 서비스를 수신중이기 때문에 포트를 8080으로 설정하였습니다.
8. 대상등록 단계에서 해당되는 EC2를 모두 선택합니다. 그리고 생성하면 완료됩니다.
9. 생성된 로드벨런서의 DNS로 호출하여 테스트 해봅니다.
'IaaS > 퍼블릭클라우드' 카테고리의 다른 글
(완독정리) 클라우드 컴퓨팅 솔루션 아키텍팅/에이콘 - 1. 설계 고려사항 (0) | 2021.07.29 |
---|---|
(AWS) EKS 클러스터 설치 (0) | 2021.07.04 |
AWS Professional DevOps 시험준비 (0) | 2021.06.14 |
(AWS) CodePipeline을 활용한 EC2 소스 배포 자동화(with Cloud9, CodeCommit, CodeDeploy) (0) | 2021.06.13 |
(AWS) CodePipeline 이란? (0) | 2021.06.12 |