기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
계층 로드 밸런싱
중요
이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 만료되었으며 신규 및 기존 고객 모두에 대해 비활성화되었습니다. 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션하는 것이 좋습니다. 마이그레이션에 대한 질문이 있는 경우 AWS re:Post
AWS OpsWorks Stacks는 두 가지 로드 밸런싱 옵션인 Elastic Load Balancing과를 제공하며HAProxy
- SSL 종료
-
내장 HAProxy 계층은 SSL 종료SSL를 처리하지 않으므로 서버에서 종료해야 합니다. 이 접근 방식의 장점은 트래픽이 서버에 도달할 때까지 암호화된다는 것입니다. 하지만 서버가 암호 해독을 처리해야 하므로 서버 로드가 증가합니다. 또한 사용자가 더 쉽게 액세스할 수 있도록 애플리케이션 서버에 SSL 인증서를 배치해야 합니다.
Elastic Load Balancing을 사용하면 로드 밸런서SSL에서를 종료할 수 있습니다. 이렇게 하면 애플리케이션 서버의 부하가 줄어들지만 로드 밸런서와 서버 간의 트래픽은 암호화되지 않습니다. 또한 Elastic Load BalancingSSL을 사용하면 서버에서를 종료할 수 있지만 설정하기가 다소 복잡합니다.
- 스케일링
-
수신 트래픽이 HAProxy 로드 밸런서의 용량을 초과하는 경우 수동으로 용량을 늘려야 합니다.
Elastic Load Balancing은 수신 트래픽을 처리하기 위해 자동으로 확장됩니다. Elastic Load Balancing 로드 밸런서가 처음 온라인으로 전환될 때 예상 로드를 처리하는 데 충분한 용량을 갖추게 하려면 로드 밸런서를 사전 워밍
할 수 있습니다. - 로드 밸런서 장애
-
HAProxy 서버를 호스팅하는 인스턴스가 실패하면 인스턴스를 다시 시작할 때까지 전체 사이트가 오프라인 상태가 될 수 있습니다.
Elastic Load Balancing은 보다 내결함성이 뛰어납니다HAProxy. 예를 들어 인스턴스가 등록된 각 가용 영역에 로드 밸런싱 노드를 프로비저닝합니다EC2. 한 영역에서 서비스가 중단되면 다른 노드가 계속해서 수신 트래픽을 처리합니다. 자세한 내용은 Elastic Load Balancing Concepts를 참조하세요.
- 유휴 제한 시간
-
두 유형의 로드 밸런서는 모두 서버가 지정된 제한 시간 값보다 오래 유휴 상태를 유지할 경우 연결을 종료합니다.
-
HAProxy - 유휴 제한 시간 값에 상한이 없습니다.
-
Elastic Load Balancing – 기본 유휴 제한 시간 값이 60초이며 최대값은 3,600초(60분)입니다.
대부분의 경우 Elastic Load Balancing 유휴 제한 시간은 충분합니다. 유휴 제한 시간을 늘려야 하는 HAProxy 경우를 사용하는 것이 좋습니다. 예시:
-
푸시 알림에 사용되는 장기 실행 HTTP 연결입니다.
-
60분 이상 소요되는 작업을 수행하기 위해 사용하는 관리 인터페이스.
-
- URL기반 매핑
-
로드 밸런서가 요청의에 따라 수신 요청을 특정 서버에 전달하도록 할 수 있습니다URL. 예를 들어 온라인 상거래 애플리케이션을 지원하는 애플리케이션 서버 10개의 그룹이 있다고 가정합시다. 서버 중 8개는 카탈로그를 처리하고 2개는 결제를 처리합니다. HTTP 요청에 따라 모든 결제 관련 요청을 결제 서버로 전달하려고 합니다URL. 이 경우 "결제" 또는 "체크아웃"을 URLs 포함한 모든 항목을 결제 서버 중 하나로 전달합니다.
를 사용하면 URL기반 매핑을 사용하여 지정된 문자열을 URLs 포함하는를 특정 서버로 보낼 HAProxy수 있습니다. AWS OpsWorks Stacks에서 URL기반 매핑을 사용하려면
haproxy
기본 제공 쿡북의haproxy-default.erb
템플릿을 재정의하여 사용자 지정 HAProxy 구성 파일을 생성해야 합니다. 자세한 내용은 HAProxy 구성 설명서및 섹션을 참조하세요사용자 지정 템플릿 사용 . HTTPS 요청에 URL기반 매핑을 사용할 수 없습니다. HTTPS 요청이 암호화되므로 HAProxy는 요청을 검사할 방법이 없습니다URL. Elastic Load Balancing은 URL 매핑을 제한적으로 지원합니다. 자세한 내용은 Elastic Load Balancing의 리스너 구성을 참조하세요.
권장 사항: 에서만 처리할 수 있는 요구 사항이 없는 한 로드 밸런싱에 Elastic Load Balancing을 사용하는 것이 좋습니다HAProxy. 이 경우 가장 좋은 방법은 Elastic Load Balancing을 HAProxy 서버 세트에 들어오는 트래픽을 분산하는 프런트 엔드 로드 밸런서로 사용하여 두 가지를 결합하는 것입니다. 방법:
-
스택의 각 가용 영역에 HAProxy 인스턴스를 설정하여 요청을 영역의 애플리케이션 서버에 배포합니다.
-
HAProxy 인스턴스를 Elastic Load Balancing 로드 밸런서에 할당하면 수신 요청이 HAProxy 로드 밸런서에 배포됩니다.
이 접근 방식을 사용하면 HAProxy의 URL기반 매핑을 사용하여 다양한 유형의 요청을 적절한 애플리케이션 서버에 배포할 수 있습니다. 그러나 HAProxy 서버 중 하나가 오프라인 상태가 되면 Elastic Load Balancing 로드 밸런서가 수신 트래픽을 정상 HAProxy 서버에 자동으로 배포하기 때문에 사이트가 계속 작동합니다. Elastic Load Balancing을 프런트 엔드 로드 밸런서로 사용해야 합니다. HAProxy 서버는 요청을 다른 HAProxy 서버에 배포할 수 없습니다.