4-1. CLB 개념 및 실습 (AWS Certified Developer Associate)
(원래 2타입씩 설명하려했는데 실습 사진이 많아서 하나씩 올릴려한다.. ㅠㅠ)
1. Classic 4. Load Balancer (CLB) V1
- TPC( 4계층 )나 트래픽 또는 HTTP,HTTPS( 7계층)를 지원한다.
- Health checks는 TCP 또는 HTTP 기반으로 이뤄진다.
- CLB로부터 고정 호스트명을 부여 받게된다.
1 CLB 실습
(연결할 EC2먼저 구성하고 다음을 수행 하세요)
1-1 CLB 생성
- EC2 dashboard에서 모록창에서 load balancers 페이로 이동 후 로드밸런서 생성 버튼 클릭 수 하단에 CLB를 클릭하면 아래 페이지로 이동한다.
- 해당 페이지에서 CLB명과 부연설명을 작성하고 내부 LB로 만들어 개인용을 사용할지, 고급 VPC로 구성할지를 체크한다.(우린 체크 x) 그리고 유저에게 HTTP 프로토콜을 받기 때문에 HTTP 80포트를 열어준다.
- 다음페이지는 보안 그룹을 설정하는 페이지이다.
해당 페이지에서 CLB의 보안 그룸을 생성하는데 HTTP 80포트를 모든 IP범위를 접근 허용하도록 만들어주고 NEXT
- 우리는 HTTPS나 SSL을 사용중이지 않기 때문에 경고가 뜨는 거기 때문에 무시!(만약 HTTPS나 SSL을 사용한다면 더 찾아봐!)
- Health Check 설정
(Ping Path는 EC2에 endPoint path경로에 맞게 설정한다. 기본 '/'로 설정하면 /index.html로 전송)
- CLB에 연결할 인스턴스를 선택하고 다음다음 종료~~~
- 하면 에러! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 타임아웃은 Interval보다 작아야된단다.. 가서 타임아웃을 Interval보다 작게 수정하자,, 그럼 성공
- 다음으로 해당 LB를 클릭하고 Instances를 클릭하면 아래 status가 Unkonwn이라면 비활성화중이니 대기하자.. 시간이 지난 후 다시 들어가보면 Unkonwn -> InService로 변경돼있는것을 확인할 수 있다!
1-2 CLB 2개 이상의 EC2 인스턴스를 설정해 부하 관리 확인
- 다시 생성한 ELB 정보를 클릭해 인스턴스 수정 버튼을 클릭하면 아래 창이 나오는데 이때 연결할 인스턴스를 추가해주면 끝!!!
** ELB가 실행이 안된다면?? **
- 만약 재대로 페이지 나오지 않는다면 지금부터 설명하는 부분을 확인해보자!
1. ELC Status가 아래와같은 상황이라면??
- 해당 오류는 2가지 경우의 수가 존재한다.
:: 구동중인 파일 자체가 문제일 수 있음.. 이건 ec2에 접근해 파일 테스트를 진행하자!
:: 연결된 인스턴스 보안 그룹에 Health check중인 프로토콜을 인바운드 하지 않은 경우
해결법 : 사용중인 인스턴스 보안 그룹 인바운드 그룹에 프로토콜 규칙이 존재하는지 확인 후 없으면 추가해준다! 이때 핵심 포인트 아래 처럼!!
*** 특정 보안그룹에서만 프로토콜 접근을 허용해준다! ***
LB를 사용하는 이유는 여러 인스턴스를 오직 LB를 통해 접근 함으로 부하를 방지하기 위함이다. 그렇기 때문에 EC2는 오직 연결된 LB의 보안 그룹에서만 접근 가능하도록 해야된다!!!
- EC2 인스턴스에서 사용중인 보안 그룹을 들어가서 인바운드 규칙을 추가하자 아래그림에서 edit .. 클릭
- 다음으로 유저가 전송하는 혹은 상태 검사를 위한 프로토콜 접근을 만들어준다.
- 이때 Socure 즉 접근 가능 IP범위를 ELB의 보안그룹만 접근 가능하도록 설정!!!