기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HAProxy AWS OpsWorks 스택 계층
참고
이 계층은 Chef 11 및 이전 Linux 기반 스택에서만 사용할 수 있습니다.
AWS OpsWorks Stacks HAProxy 계층은 안정적인 고성능TCP/HTTP로드 밸런서인 HAProxy
참고
스택은 단일 리전으로 제한됩니다. 여러 리전으로 애플리케이션을 분산하려면 각 리전마다 따로 스택을 생성해야 합니다.
HAProxy 계층을 생성하려면
-
탐색 창에서 [계층]를 클릭합니다.
-
[계층] 페이지에서 [계층 추가] 또는 [+ 계층]을 클릭합니다. 계층 유형에서를 선택합니다HAProxy.
계층 구성 설정은 다음과 같습니다(모두 선택 사항).
- HAProxy 통계
-
계층이 통계를 수집하고 표시하는지 여부. 기본 값은 [예]입니다.
- 통계 URL
-
통계 페이지의 URL 경로입니다. 전체는 http://URL이며
DNSName
StatisticsPath
, 여기서DNSName
는 연결된 인스턴스의 DNS 이름입니다. 기본StatisticsPath
값은 /haproxy?stats이며, 이는 http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/haproxy?stats. 해당합니다. - 통계 사용자 이름
-
통계 페이지를 보려면 제공해야 하는 통계 페이지의 사용자 이름. 기본값은 “OpsWorks”입니다.
- 통계 암호
-
통계 페이지를 보려면 제공해야 하는 통계 페이지 암호. 기본값은 무작위로 생성된 문자열입니다.
- 상태 확인 URL
-
상태 확인 URL 접미사입니다.는 이를 HAProxy 사용하여 각 애플리케이션 서버 인스턴스에서 HTTP 메서드를 URL 주기적으로 호출하여 인스턴스가 작동하는지 확인합니다. 상태 확인에 실패하면는 수동으로 또는 자동 복구를 통해 다시 시작될 때까지 인스턴스로 트래픽 라우팅을 HAProxy 중지합니다. URL 접미사의 기본값은 "/"이며, 이는 서버 인스턴스의 홈 페이지인 http://
DNSName
/에 해당합니다. - 상태 검사 메서드
-
인스턴스가 작동하는지 확인하는 데 사용되는 HTTP 방법입니다. 기본값은 OPTIONS 이며 GET 또는를 지정할 수도 있습니다HEAD. 자세한 정보는 httpchk
를 참조하세요. - 사용자 지정 보안 그룹
-
이 설정은 내장 AWS OpsWorks Stacks 보안 그룹을 계층에 자동으로 연결하지 않도록 선택한 경우에 나타납니다. 계층에 어떤 보안 그룹을 연결할지 지정해야 합니다. 계층 간 트래픽을 허용하도록 그룹의 설정이 올바른지 확인하세요. 자세한 내용은 새 스택 생성 단원을 참조하십시오.
참고
나중에 사용할 수 있도록 암호를 기록합니다. AWS OpsWorks 스택은 계층을 생성한 후 암호를 볼 수 있도록 허용하지 않습니다. 하지만 계층의 편집 페이지로 이동하고 일반 설정 탭의 암호 업데이트를 클릭하면 암호를 업데이트할 수 있습니다.
HAProxy 계층 작동 방식
기본적으로는 다음을 HAProxy 수행합니다.
-
HTTP 및 HTTPS 포트에서 요청을 수신합니다.
Chef 구성 템플릿인를 재정의하여 HTTP 또는 HTTPS 포트에서만 수신 HAProxy 대기하도록를 구성할 수 있습니다
haproxy.cfg.erb
. -
수신 트래픽을 애플리케이션 서버 계층의 멤버인 인스턴스로 라우팅합니다.
기본적으로 AWS OpsWorks Stacks는 트래픽을 모든 애플리케이션 서버 계층의 멤버인 인스턴스에 배포HAProxy하도록를 구성합니다. 예를 들어 Rails App Server와 PHP App Server 계층이 모두 있는 스택이 있을 수 있으며 마스터는 두 계층의 인스턴스에 트래픽을 HAProxy 분산합니다. 사용자 지정 레시피를 사용하여 기본 라우팅을 구성할 수 있습니다.
-
여러 가용 영역에 걸쳐 트래픽을 라우팅합니다.
한 가용 영역이 다운되면 로드 밸런서가 수신 트래픽을 다른 영역의 인스턴스로 라우팅하여 애플리케이션이 중단 없이 계속 실행될 수 있습니다. 이러한 이유로, 권장되는 방법은 애플리케이션 서버를 여러 가용 영역으로 분산하는 것입니다.
-
주기적으로 각 애플리케이션 서버 인스턴스에서 지정된 상태 검사 메서드를 실행하여 상태를 평가합니다
메서드가 지정된 제한 시간 내에 반환되지 않으면 인스턴스가 실패한 것으로 간주되고 인스턴스로의 요청 라우팅을 HAProxy 중지합니다. AWS OpsWorks 또한Stacks는 실패한 인스턴스를 자동으로 대체하는 방법도 제공합니다. 자세한 내용은 자동 복구 사용 단원을 참조하십시오. 계층을 생성할 때 상태 검사 메서드를 변경할 수 있습니다.
-
통계를 수집하고 선택적으로 웹 페이지에 통계를 표시합니다.
중요
상태 확인이 기본 OPTIONS 메서드와 올바르게 작동하려면 앱이 2xx 또는 3xx 상태 코드를 반환해야 합니다.
기본적으로 HAProxy 계층에 인스턴스를 추가하면 AWS OpsWorks Stacks는 인스턴스에 탄력적 IP 주소를 할당하여 전 세계에 공개된 애플리케이션을 나타냅니다. HAProxy 인스턴스의 탄력적 IP 주소는 애플리케이션의 유일한 공개 이므로 기본 애플리케이션 서버 인스턴스에 대한 퍼블릭 도메인 이름을 생성하고 관리할 필요가 URL없습니다. 다음 그림에서 보듯이 [인스턴스] 페이지로 이동하여 인스턴스의 퍼블릭 IP 주소를 보면 이 주소를 확인할 수 있습니다. (EIP) 뒤에 오는 주소는 탄력적 IP 주소입니다. 탄력적 IP 주소에 대한 자세한 내용은 탄력적 IP 주소(EIP)를 참조하세요.
HAProxy 인스턴스를 중지하면 AWS OpsWorks Stacks는 탄력적 IP 주소를 유지하고 인스턴스를 다시 시작할 때 인스턴스에 다시 할당합니다. HAProxy 인스턴스가 삭제될 경우 기본적으로 AWS OpsWorks Stacks는 인스턴스의 IP 주소를 삭제합니다. 주소를 보존하려면 다음 그림과 같이 [인스턴스의 탄력적 IP 삭제] 옵션을 선택 취소합니다.
이 옵션은 새 인스턴스를 계층에 추가하여 삭제된 인스턴스를 대체할 경우의 동작에 영향을 미칩니다.
-
삭제된 인스턴스의 탄력적 IP 주소를 유지한 경우 AWS OpsWorks Stacks는 새 인스턴스에 주소를 할당합니다.
-
그렇지 않으면 AWS OpsWorks Stacks가 인스턴스에 새 탄력적 IP 주소를 할당하므로 DNS 등록 기관 설정을 업데이트하여 새 주소에 매핑해야 합니다.
애플리케이션 서버 인스턴스가 수동으로 또는 자동 조정 또는 자동 복구의 결과로 온라인 상태가 되거나 오프라인 상태가 되면 트래픽을 현재 온라인 인스턴스 세트로 라우팅하도록 로드 밸런서 구성을 업데이트해야 합니다. 이 작업은 계층의 내장 레시피에 의해 자동으로 처리됩니다.
-
새 인스턴스가 온라인 상태가 되면 AWS OpsWorks Stacks는 수명 주기 구성 이벤트를 트리거합니다. HAProxy 계층의 내장 Configure 레시피가 새 애플리케이션 서버 인스턴스로도 요청을 분산하도록 로드 밸런서 구성을 업데이트합니다.
-
인스턴스가 오프라인 상태가 되거나 인스턴스가 상태 확인에 실패하면 AWS OpsWorks Stacks는 수명 주기 구성 이벤트도 트리거합니다. HAProxy 구성 레시피는 나머지 온라인 인스턴스로만 트래픽을 라우팅하도록 로드 밸런서 구성을 업데이트합니다.
마지막으로 HAProxy 계층에서도 사용자 지정 도메인을 사용할 수 있습니다. 자세한 내용은 사용자 지정 도메인 사용 단원을 참조하십시오.
통계 페이지
통계 페이지를 활성화한 경우는 지정된에 다양한 지표가 포함된 페이지를 HAProxy 표시합니다URL.
HAProxy 통계를 보려면
-
HAProxy 인스턴스의 세부 정보 페이지에서 인스턴스의 퍼블릭 DNS 이름을 가져와 복사합니다.
-
계층 페이지에서 HAProxy를 클릭하여 계층의 세부정보 페이지를 엽니다.
-
계층 세부 정보URL에서 통계를 가져와 퍼블릭 DNS 이름에 추가합니다. 예를 들면
http://ec2-54-245-102-172.us-west-2.compute.amazonaws.com/haproxy?stats
를 추가합니다. -
URL 이전 단계의를 브라우저에 붙여 넣고 계층을 생성할 때 지정한 사용자 이름과 암호를 사용하여 통계 페이지를 엽니다.