기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
내부 Classic Load Balancer 생성
로드 밸런서용 VPC에 액세스 권한이 있는 클라이언트에서 EC2 인스턴스로 트래픽을 분산시키는 내부 로드 밸런서를 생성할 수 있습니다.
사전 조건
-
로드 밸런서용 VPC를 아직 생성하지 않은 경우 시작하기 전에 VPC를 먼저 생성해야 합니다. 자세한 내용은 VPC 관련 권장 사항 단원을 참조하십시오.
-
내부 로드 밸런서에 등록할 계획인 EC2 인스턴스를 시작합니다. 로드 밸런서용 VPC의 프라이빗 서브넷에서 시작해야 합니다.
콘솔을 사용하여 내부 로드 밸런서 생성
다음 절차를 따라 내부 Classic Load Balancer를 생성합니다. 이름과 스키마와 같은 로드 밸런서의 기본 구성 정보를 제공합니다. 그런 다음 네트워크 관련 정보 및 트래픽을 인스턴스로 라우팅하는 리스너 관련 정보를 제공합니다.
콘솔을 사용하여 내부 Classic Load Balancer를 생성하려면
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 모음에서 로드 밸런서의 리전을 선택합니다. EC2 인스턴스를 위해 선택한 리전과 동일한 리전을 선택해야 합니다.
-
탐색 창의 Load Balancing 아래에서 로드 밸런서를 선택합니다.
-
로드 밸런서 생성을 선택합니다.
-
Classic Load Balancer 섹션을 확장하고 생성을 선택합니다.
-
기본 구성
-
로드 밸런서 이름에 로드 밸런서의 이름을 입력합니다.
Classic Load Balancer의 이름은 해당 리전의 Classic Load Balancer 세트 내에서 고유한 이름이어야 하고, 최대 32자여야 하며, 알파벳 문자 및 하이픈만 포함해야 하고, 하이픈으로 시작하거나 끝나지 않아야 합니다.
-
스키마에서 내부를 선택합니다.
-
-
네트워크 매핑
-
VPC에서는 인스턴스에 대해 선택한 것과 동일한 VPC를 선택합니다.
-
매핑에서 먼저 가용 영역을 선택하고, 사용 가능한 서브넷 중에서 서브넷을 선택합니다. 가용 영역당 서브넷 한 개만 선택할 수 있습니다. 로드 밸런서의 가용성을 높이려면 둘 이상의 가용 영역과 서브넷을 선택합니다.
-
-
보안 그룹에서 포트 80에서 필요한 HTTP 트래픽을 허용하도록 구성된 기존 보안 그룹을 선택합니다. 또는 애플리케이션이 다른 프로토콜과 포트를 사용하는 경우 새 보안 그룹을 생성할 수 있습니다.
-
리스너 및 라우팅
-
리스너에서 프로토콜이
HTTP이고 포트가80인지 확인합니다. -
인스턴스에서 프로토콜이
HTTP이고 포트가80인지 확인합니다.
-
-
상태 확인
-
ping 프로토콜에서 기본값은
HTTP입니다. -
ping 포트에서 기본값은
80입니다. -
ping 경로에서 기본값은
/입니다. -
고급 상태 확인 설정에서 기본값을 사용하거나 애플리케이션에 맞는 값을 입력합니다.
-
-
인스턴스
-
인스턴스 추가를 선택하면 인스턴스 선택 화면이 나타납니다.
-
사용 가능한 인스턴스에서 앞서 선택한 네트워크 설정을 기반으로 로드 밸런서에 사용 가능한 현재 인스턴스 중 선택할 수 있습니다.
-
원하는 대로 선택했다면 확인을 선택하여 로드 밸런서에 등록할 인스턴스를 추가합니다.
-
-
속성
-
교차 영역 로드 밸런싱 활성화, Connection Draining 활성화, 제한 시간(드레이닝 간격)의 기본값은 유지합니다.
-
-
로드 밸런서 태그(선택 사항)
-
키 필드는 필수입니다.
-
값 필드는 선택 사항입니다.
-
다른 태그를 추가하려면 새 태그 추가를 선택하고 키 필드 및 값 필드(선택 사항)에 값을 입력합니다.
-
제거하려는 태그 옆에 있는 제거를 선택하여 기존 태그를 제거합니다.
-
-
요약 및 생성
-
설정을 변경해야 하는 경우 변경해야 하는 설정 옆에 있는 편집을 선택합니다.
-
요약에 표시된 모든 설정이 원하는 대로 되어 있다면 로드 밸런서 생성을 선택하여 로드 밸런서 생성을 시작합니다.
-
마지막 생성 페이지에서 로드 밸런서 보기를 선택하여 Amazon EC2 콘솔에서 로드 밸런서를 봅니다.
-
-
Verify
-
새로운 로드 밸런서를 선택합니다.
-
대상 인스턴스 탭에서 상태 확인 열을 확인합니다. EC2 인스턴스 중 적어도 하나 이상이 서비스 상태가 되어야만 로드 밸런서를 테스트할 수 있습니다.
-
세부 정보 섹션에서 로드 밸런서 DNS 이름을 복사합니다(
my-load-balancer-1234567890.us-east-1.elb.amazonaws.com과 유사함). -
로드 밸런서 DNS 이름을 퍼블릭 인터넷에 연결된 웹 브라우저의 주소 필드에 붙여넣습니다. 로드 밸런서가 올바르게 작동 중인 경우 서버의 기본 페이지가 표시됩니다.
-
-
삭제(선택 사항)
-
로드 밸런서를 가리키는 도메인을 위한 CNAME 레코드가 있는 경우에는 새로운 위치를 가리키도록 하고 로드 밸런서를 삭제하기 전에 DNS 변경이 적용될 때까지 기다립니다.
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
로드 밸런서를 선택합니다.
-
작업, 로드 밸런서 삭제를 선택합니다.
-
확인 메시지가 나타나면
confirm을 입력한 다음 삭제를 선택합니다. -
로드 밸런서를 삭제한 후에도 로드 밸런서에 등록된 EC2 인스턴스는 계속 실행됩니다. 계속 실행되는 일부 또는 전체 시간별로 요금이 청구됩니다. EC2 인스턴스가 더 이상 필요하지 않은 경우 추가 요금이 발생하지 않도록 중지하거나 종료할 수 있습니다.
-
를 사용하여 내부 로드 밸런서 생성 AWS CLI
기본적으로 ELB는 인터넷 경계 로드 밸런서를 생성합니다. 다음 절차에 따라 내부 로드 밸런서를 생성하고 EC2 인스턴스를 새로 생성한 내부 로드 밸런서에 등록합니다.
내부 로드 밸런서를 만들려면
-
다음과 같이
--scheme옵션을internal로 설정한 create-load-balancer 명령을 사용합니다.aws elb create-load-balancer --load-balancer-namemy-internal-loadbalancer--listeners Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80 --subnetssubnet-4e05f721--scheme internal --security-groupssg-b9ffedd5다음은 응답의 예입니다. 해당 이름은 이것이 내부 로드 밸런서라는 것을 나타냅니다.
{ "DNSName": "internal-my-internal-loadbalancer-786501203.us-west-2.elb.amazonaws.com" } -
다음과 같이 register-instances-with-load-balancer 명령을 사용하여 인스턴스를 추가합니다.
aws elb register-instances-with-load-balancer --load-balancer-namemy-internal-loadbalancer--instancesi-4f8cf126 i-0bb7ca62다음은 응답의 예입니다.
{ "Instances": [ { "InstanceId": "i-4f8cf126" }, { "InstanceId": "i-0bb7ca62" } ] } -
(선택 사항) 다음 describe-load-balancers 명령을 사용하여 내부 로드 밸런서를 확인합니다.
aws elb describe-load-balancers --load-balancer-namemy-internal-loadbalancer응답에는 이것이 내부 로드 밸런서라는 것을 나타내는
DNSName및Scheme필드가 포함되어 있습니다.{ "LoadBalancerDescriptions": [ { ... "DNSName": "internal-my-internal-loadbalancer-1234567890.us-west-2.elb.amazonaws.com", "SecurityGroups": [ "sg-b9ffedd5" ], "Policies": { "LBCookieStickinessPolicies": [], "AppCookieStickinessPolicies": [], "OtherPolicies": [] }, "LoadBalancerName": "my-internal-loadbalancer", "CreatedTime": "2014-05-22T20:32:19.920Z", "AvailabilityZones": [ "us-west-2a" ], "Scheme": "internal", ... } ] }