Elastic Load Balancing
Classic Load Balancer

자습서: 클래식 로드 밸런서 생성

이 자습서에서는 웹 기반 인터페이스인 AWS Management 콘솔을 통해 Classic Load Balancer에 대한 실습 소개를 제공합니다. 퍼블릭 HTTP 트래픽을 수신해 EC2 인스턴스로 전송하는 로드 밸런서를 만들어 보겠습니다.

EC2-Classic 또는 VPC에 사용할 로드 밸런서를 만들 수 있습니다. 이 자습서에 설명되어 있는 일부 작업들은 VPC의 로드 밸런서에만 적용됩니다.

시작하기 전

  • VPC 및 EC2 인스턴스 준비의 단계를 수행합니다.

  • 로드 밸런서에 등록할 계획인 EC2 인스턴스를 시작합니다. 이들 인스턴스에 대한 보안 그룹이 포트 80에서 HTTP 액세스를 허용하는지 확인합니다.

  • Apache 또는 IIS(인터넷 정보 서비스) 같은 웹 서버를 각 인스턴스에 설치하고 인터넷에 연결된 웹 브라우저의 주소 필드에 DNS 이름을 입력한 다음, 브라우저가 서버의 기본 페이지를 표시하는지 확인합니다.

1단계: 로드 밸런서 유형 선택

Elastic Load Balancing은 Application Load Balancer, Network Load Balancer, Classic Load Balancer의 세 가지 유형의 로드 밸런서를 지원합니다. 이 자습서에서는 Classic Load Balancer를 생성합니다. 또는 Application Load Balancer를 생성하려면 Application Load Balancer 사용 설명서Application Load Balancer 시작하기를 참조하십시오. Network Load Balancer를 생성하려면 Network Load Balancer 사용 설명서Network Load Balancer 시작하기 단원을 참조하십시오.

Classic Load Balancer를 생성하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 모음에서 로드 밸런서의 리전을 선택합니다. EC2 인스턴스를 위해 선택한 리전과 동일한 리전을 선택해야 합니다.

  3. 탐색 창의 [LOAD BALANCING] 아래에서 [Load Balancers]를 선택합니다.

  4. 로드 밸런서 생성을 선택합니다.

  5. [Classic Load Balancer]에서 [Create]를 선택합니다.

2단계: 로드 밸런서 정의

이름, 네트워크, 리스너 등 로드 밸런서의 기본 구성 정보를 제공해야 합니다.

리스너는 연결 요청을 확인하는 프로세스입니다. 리스너는 프런트 엔드(클라이언트에서 로드 밸런서) 연결을 위한 프로토콜 및 포트와 백엔드(로드 밸런서에서 인스턴스) 연결을 위한 프로토콜 및 포트로 구성됩니다. 이 자습서에서는 포트 80에서 HTTP 요청을 수락하고 HTTP를 사용하여 포트 80에서 백엔드 인스턴스에 요청을 전송하는 리스너를 구성합니다.

로드 밸런서 및 리스너를 정의하려면

  1. [Load Balancer name]에 로드 밸런서의 이름을 입력합니다.

    Classic Load Balancer의 이름은 해당 리전의 Classic Load Balancer 집합 내에서 고유한 이름이어야 하고, 최대 32자여야 하며, 알파벳 문자 및 하이픈만 포함해야 하고, 하이픈으로 시작하거나 끝나지 않아야 합니다.

  2. [Create LB inside]에서 인스턴스에 선택한 네트워크와 동일한 네트워크(EC2-Classic 또는 특정 VPC)를 선택합니다.

  3. [기본 VPC] 기본 VPC를 선택했고, 로드 밸런서에 적용할 서브넷을 선택하고자 하는 경우 [Enable advanced VPC configuration]을 선택합니다.

  4. 기본 리스너 구성을 그대로 둡니다.

    
						로드 밸런서 정의
  5. [EC2-VPC] [Available subnets]에서 추가 아이콘을 이용해 한 개 이상의 가용 퍼블릭 서브넷을 선택합니다. 그러면 서브넷이 [Selected subnets] 아래로 이동합니다. 로드 밸런서의 가용성을 높이려면 한 개 이상의 퍼브릭 서브넷을 선택합니다.

    참고

    EC2-Classic을 네트워크로 선택했거나 기본 VPC가 있지만 [Enable advanced VPC configuration]을 선택하지 않았다면 서브넷을 선택하기 위한 사용자 인터페이스가 보이지 않습니다.

    가용 영역당 서브넷을 한 개 이상 추가할 수 있습니다. 이미 서브넷을 선택한 가용 영역에서 서브넷을 다시 선택하면, 나중에 선택한 서브넷이 현재 해당 가용 영역에 선택된 서브넷을 대체합니다.

    
							서브넷 선택
  6. [Next: Assign Security Groups]를 선택합니다.

3단계: VPC에서 로드 밸런서에 보안 그룹 할당

VPC를 네트워크로 선택한 경우에는 로드 밸런서에 대해 지정한 포트로의 인바운드 트래픽과 로드 밸런서의 상태 확인을 허용하는 보안 그룹을 로드 밸런서에 할당해야 합니다.

참고

EC2-Classic을 네트워크로 선택했다면 다음 단계를 계속 진행할 수 있습니다. 기본적으로 Elastic Load Balancing은 EC2-Classic의 로드 밸런서에 보안 그룹을 제공합니다.

로드 밸런서에 보안 그룹을 할당하려면

  1. [Assign Security Groups] 페이지에서 [Create a new security group]을 선택합니다.

  2. 보안 그룹의 이름과 설명을 입력하거나 기본 이름과 설명을 그대로 둡니다. 이 새 보안 그룹에는 로드 밸런서가 사용하도록 구성한 포트로의 트래픽을 허용하는 규칙이 포함되어 있습니다.

    
							보안 그룹 선택
  3. 다음: 보안 설정 구성을 선택합니다.

  4. 이 자습서의 경우 안전한 리스너를 사용하지 않고 있습니다. [Next: Configure Health Check]를 선택해 다음 단계로 넘어갑니다.

4단계: EC2 인스턴스의 상태 확인 구성

Elastic Load Balancing는 로드 밸런서를 위한 EC2 인스턴스의 상태를 자동으로 확인합니다. Elastic Load Balancing은 비정상 상태인 인스턴스를 발견하면 해당 인스턴스로의 트래픽 전송을 중단하고 정상 상태인 인스턴스로 트래픽을 재라우팅합니다. 이 단계에서 로드 밸런서를 위한 EC2 인스턴스의 상태를 자동으로 확인합니다.

인스턴스에 대한 상태 확인 구성

  1. [Configure Health Check] 페이지에서 [Ping Protocol] 설정을 HTTP로, [Ping Port] 설정을 80으로 그대로 둡니다.

  2. Ping Path에서 기본값을 슬래시 하나("/")로 대체합니다. 이렇게 하면 Elastic Load Balancing에 index.html 등과 같은 웹 서버의 기본 홈 페이지에 상태 확인 쿼리를 보내도록 지시합니다.

    
							상태 확인 구성
  3. [Advanced Details]에서 기본값을 그대로 둡니다.

  4. [Next: Add EC2 Instances를 선택합니다.

5단계: 로드 밸런서에 EC2 인스턴스 등록

로드 밸런서는 로드 밸런서에 등록된 인스턴스 간에 트래픽을 분산합니다.

참고

탄력적 네트워크 인터페이스(ENI)가 연결된 상태에서 인스턴스를 등록하면 로드 밸런서가 인스턴스의 주 인터페이스(eth0)의 주 IP 주소로 트래픽을 라우팅합니다.

로드 밸런서에 EC2 인스턴스를 등록하려면

  1. [Add EC2 Instances] 페이지에서 로드 밸런서에 등록할 인스턴스를 선택합니다.

  2. 영역 간 로드 밸런싱 및 연결 드레이닝을 활성화된 상태로 남겨 둡니다.

  3. [Next: Add Tags]를 선택합니다.

또는 다음 옵션 중 하나를 사용하여 나중에 로드 밸런서에 인스턴스를 등록할 수 있습니다.

6단계: 로드 밸런서 태그 지정(선택 사항)

로드 밸런서 태그를 지정하거나 다음 단계로 넘어갈 수 있습니다. 나중에 로드 밸런서에 태그를 지정할 수 있습니다. 자세한 내용은 클래식 로드 밸런서에 대한 태그 지정 단원을 참조하십시오.

로드 밸런서에 태그를 추가하려면

  1. Add Tags 페이지에서 태그의 키와 값을 지정합니다.

  2. 다른 태그를 추가하려면 Create Tag을 선택하고 태그의 키와 값을 지정합니다.

  3. 태그 추가를 마치면 Review and Create을 선택합니다.

7단계: 로드 밸런서 생성 및 확인

로드 밸런서를 만들기 전에 선택한 설정을 검토합니다. 로드 밸런서를 만든 후에는 EC2 인스턴스에 트래픽을 전송하고 있는지 확인할 수 있습니다.

로드 밸런서를 생성 및 확인하려면

  1. [Review] 페이지에서 [Create]을 선택합니다.

  2. 로드 밸런서가 생성되었다는 통보를 받은 후 Close를 선택합니다.

  3. 새로운 로드 밸런서를 선택합니다.

  4. [Description] 탭에서 [Status] 행을 확인합니다. 인스턴스의 일부가 서비스 중이 아니라고 나타난다면, 이것은 아직 등록 과정에 있기 때문일 수 있습니다. 자세한 내용은 Classic Load Balancer 문제 해결: 인스턴스 등록 단원을 참조하십시오.

  5. EC2 인스턴스 중 적어도 하나 이상이 서비스 상태가 되어야만 로드 밸런서를 테스트할 수 있습니다. [DNS name]에서 문자열(예: my-load-balancer-1234567890.us-west-2.elb.amazonaws.com)을 복사해서 인터넷에 연결된 웹 브라우저의 주소 필드에 붙여넣습니다. 로드 밸런서가 작동 중인 경우에는 서버의 기본 페이지가 표시됩니다.

8단계: 로드 밸런서 삭제(선택 사항)

로드 밸런서를 사용할 수 있는 순간부터 실행이 지속되는 매 시간 단위 또는 60분 미만의 시간 단위로 비용이 청구됩니다. 더 이상 로드 밸런서가 필요 없을 때는 이를 삭제할 수 있습니다. 로드 밸런서가 삭제되면 그 즉시 요금 발생이 중지됩니다. 로드 밸런서를 삭제해도 로드 밸런서에 등록된 인스턴스에는 영향을 미치지 않습니다.

로드 밸런서를 삭제하려면

  1. 로드 밸런서를 가리키는 도메인을 위한 CNAME 레코드가 있는 경우에는 새로운 위치를 가리키도록 하고 로드 밸런서를 삭제하기 전에 DNS 변경이 적용될 때까지 기다립니다.

  2. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  3. 탐색 창의 [LOAD BALANCING] 아래에서 [Load Balancers]를 선택합니다.

  4. 로드 밸런서를 선택합니다.

  5. [Actions], [Delete]를 선택합니다.

  6. 확인 메시지가 나타나면 예, 삭제합니다를 선택합니다.

  7. (선택 사항) 로드 밸런서를 삭제하고 난 후에도 로드 밸런서에 연결된 EC2 인스턴스는 계속 실행이 되며, 로드 밸런서 실행이 지속되는 매 시간 단위 또는 60분 미만의 시간 단위로 비용이 청구됩니다. 인스턴스 중지 또는 종료에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 중지 및 시작 또는 인스턴스 종료를 참조하십시오.