내맘대로 Study/AWS의 모든것

[실전 무료 AWS] 6. ELB (Elastic Load balancer)

jinkwon.kim 2021. 10. 19. 23:57
728x90
반응형

[실전 무료 AWS] 목차

 

ELB란?

Elastic Load Balancer란 트래픽을 분산시켜주는 서비스입니다.

왜 쓰나?

서비스의 안정성을 위해서 사용합니다. 서버가 과도한 트래픽으로 인해서 서비스를 못하게 되는 상황을 막기 위해서 사용합니다. 

일반 적으로 서버를 구축할 때는 서버가 죽는 것을 가정하여 동일 한 기능을 하는 2대 이상의 서버를 구축합니다.

그런데 서버를 2대를 구축하게 되면 사용자 입장에서는 어느 서버에 접속해야 할지 난감합니다. 그래서 이때 ELB 사용하여 사용자가 접속하는 통로를 한 개로 만들어주는 것입니다.

 

ELB 동작상 특징

1. IP가 지속 적으로 바뀜

    - 분산처리 방식과 성능에 따라서 네트워크가 바뀌기 때문, 그래서 도메인 방식으로 사용해야 함.

2. Health check 

    - 직접 트래픽을 발생시켜 서비스가 살아 있는지 확인.

    - 서비스 상태 표시 : InService(서비스 살음)

                               OutofService(서비스 죽음)

3. grouping이 필요.

    - 트래픽을 분산시킬 그룹이 필요함.

 

 

ELB의 구축의 핵심 

1단계. ELB의 종류를 선택

    - 어떤 방식으로 Load Balancing을 할지 선택합니다.

2단계. Listener 설정

    - 어느 Port를 Load balancing 할 것 인지를 선택합니다.

3단계. Target group 설정

    - 어느 group을 대상으로 Load balancing을 할지 선택합니다. 

 

ELB의 종류

OSI 7 Layer의 어느 부분에서 Load Balancing을 하느냐에 따라서 ELB의 종류가 나눠집니다. 

1. Application Load Balancer

    - 주로 HTTP, HTTPS에 대한 분산 처리할 때 사용 

2. Network Load Balancer

    - 주로 TCP, TLS, UDP에 대한 분산 처리할 때 사용 

3. Gateway Load Balancer

    - IP로 분산 처리할 때 사용  

3. Classic Load Balancer

    - 옛날 버전 1,2번 혼합

 

[실습] Application Load Balancer 설정

분산 처리 방식 : Application Level에서 트래픽을 처리 (OSI 7 계층에서 Application Level의 트래픽을 처리)

1) EC2 서비스에서 Load Balancer 선택

2) Create Load Balancer 선택 

3) ALB(Application Load Balancer) Create 선택 

4) Load balancer 설정

Step 1)

    Basic Configuration

항목 설명
name  Load  Balancer 이름 
scheme internet-facing (인터넷에 연결되는 lb)
internal (인터넷에 연결 안되는 lb)
ip address type lb의 ip 주소 형식

 

    Listeners

        - 기본 설정을 유지

    Availability Zones

        - VPC는 default로 유지합니다.

            - VPC에 대한 설명은 추후 포스트에서 진행하겠습니다

        - target group이 위치할 subnet 선택, 최소 2개의 subnet을 꼭 선택해야 합니다.

 

Step 2)

    - skip HTTP 써서 안전하기 않다고 쏼라쏼라 그냥 무시 

 

Step 3)

    - LB에 적용할 Security Group 설정

        - 요 링크 참고하여 만듭니다. [실전 무료 AWS] 4. EC2 instance 간 통신 (부제:security group 설정)

Step 4)

    Target Group

        - target group에 대한 Routing을 설정합니다.

항목 설명
Target group New target group
name  새로 생성할 target group 이름 
Target Type Instance (EC2 instance를 의미)
IP
Lambda function
Protocol HTTP
Port target group에서 열려있는 포트
Protocol version HTTPS1.1

    Health check

        - target group에 대한 health check를 설정합니다. 

        - health check는 target group에 속한 서비스가 살았는지 죽었는지를 체크할 때 사용됩니다. 

항목 설명
protocol  health check에 
Path health check할 page
port traffic port 설정
Healthy threshold 서비스 상태를 성공으로 간주하는 연속 health check의 횟수 (2-10)
Unhealthy threshold 서비스 상태를 실패로 간주하는 연속 health check의 횟수 (2-10)
Timeout 응답이 없으면 상태 확인이 실패했음을 의미하는 시간(초)(2-120초)
interval health check 간격 (5-300)
Success Code health check성공 코드

Step5)

    - 미리 ap-northeast-2a에 생성해둔 2대의 instance를 target group에 등록합니다.

        - [실전 무료 AWS] 5. EC2 instance에 nginx 설치

 

Step6)

    - 최종 설정 정보

Create후 Load Balancers를 보게 되면 아래 와같이 만들어지고 있습니다. 

 

Application Load Balancer를 통한 웹 페이지 접근

    - 생성한 Load Balancer를 눌러보면 DNS name에서 접속할 주소를 확인할 수 있습니다. 

 

    - 생성한 Load Balancer를 통하여 웹 페이 접근

 

Load Balancer  target group 변경

    - Listenser를 편집해서 target group 변경 할수 있습니다. 

1) Target Group을 변경할 ELB의 Listenser edit 선택

 

2) Target Group을 변경할 ELB의 Listenser edit 선택

    - 기존 target group 을 삭제 

    - 변경할 target group을 선택 후 업데이트

 

과금 정보

https://aws.amazon.com/ko/elasticloadbalancing/pricing/?loc=ft

728x90
반응형