HAProxy 스택 레이어 AWS OpsWorks - AWS OpsWorks

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

HAProxy 스택 레이어 AWS OpsWorks

참고

이 계층은 Chef 11 및 이전 Linux 기반 스택에서만 사용할 수 있습니다.

AWS OpsWorks 스택 HAProxy 계층은 신뢰할 수 있는 고성능 AWS OpsWorks TCP/HTTP 부하 분산인 HAProxy 서버를 호스팅하는 인스턴스에 청사진을 제공하는 스택 계층입니다. 일반적으로 스몰 인스턴스 하나로 모든 애플리케이션 서버 트래픽을 처리하는 데 충분합니다.

참고

스택은 단일 리전으로 제한됩니다. 여러 리전으로 애플리케이션을 분산하려면 각 리전마다 따로 스택을 생성해야 합니다.

HAProxy 계층을 만들려면
  1. 탐색 창에서 [계층]를 클릭합니다.

  2. [계층] 페이지에서 [계층 추가] 또는 [+ 계층]을 클릭합니다. [계층 유형]으로 HAProxy를 선택합니다.

계층 구성 설정은 다음과 같습니다(모두 선택 사항).

HAProxy 통계

계층이 통계를 수집하고 표시하는지 여부. 기본 값은 []입니다.

통계 URL

통계 페이지의 URL 경로. 전체 URL은 http://DNS 이름이며, 여기서 DNS 이름은 연결된 인스턴스의 DNS 이름입니다 StatisticsPath. StatisticsPath기본값은 /haproxy? 통계는 http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/haproxy?stats 과 같은 것에 해당합니다.

통계 사용자 이름

통계 페이지를 보려면 제공해야 하는 통계 페이지의 사용자 이름. 기본값은 “OpsWorks”입니다.

통계 암호

통계 페이지를 보려면 제공해야 하는 통계 페이지 암호. 기본값은 무작위로 생성된 문자열입니다.

상태 검사 URL

상태 검사 URL 접미사. HAProxy는 이 URL을 사용하여 주기적으로 각 애플리케이션 서버 인스턴스에서 HTTP 메서드를 호출하여 인스턴스가 작동하는지 판단합니다. 상태 검사가 실패할 경우 인스턴스가 수동으로 또는 자동 조정을 통해 재시작될 때까지 HAProxy는 해당 인스턴스로 트래픽 라우팅을 중단합니다. URL 접미사 기본값은 "/"이며, 서버 인스턴스의 홈 페이지 http://DNSName/에 해당합니다.

상태 검사 메서드

인스턴스가 작동하는지 검사하는 데 사용할 HTTP 메서드. 기본값은 [OPTIONS]이며 [GET] 또는 [HEAD]를 지정할 수도 있습니다. 자세한 정보는 httpchk를 참조하세요.

사용자 지정 보안 그룹

이 설정은 빌트인 AWS OpsWorks Stacks 보안 그룹을 레이어와 자동으로 연결하지 않도록 선택한 경우에 나타납니다. 계층에 어떤 보안 그룹을 연결할지 지정해야 합니다. 계층 간 트래픽을 허용하도록 그룹의 설정이 올바른지 확인하세요. 자세한 정보는 새 스택 생성을 참조하세요.

참고

나중에 사용할 수 있도록 암호를 기록해 둡니다. 레이어를 생성한 후에는 AWS OpsWorks 스택을 사용하여 암호를 볼 수 없습니다. 하지만 계층의 편집 페이지로 이동하고 일반 설정 탭의 암호 업데이트를 클릭하면 암호를 업데이트할 수 있습니다.

HA프록시 계층 작동 방식

기본적으로 HAProxy는 다음 작업을 수행합니다.

  • HTTP 및 HTTPS 포트에서 요청을 수신 대기합니다.

    Chef 구성 템플릿인 haproxy.cfg.erb를 재정의하여 HTTP 또는 HTTPS 포트 중 하나에서만 수신 대기하도록 HAProxy를 구성할 수 있습니다.

  • 수신 트래픽을 애플리케이션 서버 계층의 멤버인 인스턴스로 라우팅합니다.

    기본적으로 AWS OpsWorks Stacks는 애플리케이션 서버 계층의 구성원인 인스턴스에 트래픽을 분산하도록 HAProxy를 구성합니다. 예를 들어 Rails 앱 서버 및 PHP 앱 서버 계층이 모두 포함된 스택이 있고 HAProxy 마스터가 두 계층 모두의 인스턴스로 트래픽을 분산하는 경우가 있을 수 있습니다. 사용자 지정 레시피를 사용하여 기본 라우팅을 구성할 수 있습니다.

  • 여러 가용 영역에 걸쳐 트래픽을 라우팅합니다.

    한 가용 영역이 다운되면 로드 밸런서가 수신 트래픽을 다른 영역의 인스턴스로 라우팅하여 애플리케이션이 중단 없이 계속 실행될 수 있습니다. 이러한 이유로, 권장되는 방법은 애플리케이션 서버를 여러 가용 영역으로 분산하는 것입니다.

  • 주기적으로 각 애플리케이션 서버 인스턴스에서 지정된 상태 검사 메서드를 실행하여 상태를 평가합니다

    메서드가 지정된 제한 시간 내에 반환되지 않으면 인스턴스가 실패한 것으로 간주되며 HAProxy는 인스턴스에 대한 라우팅 요청을 중지합니다. AWS OpsWorks 스택은 장애가 발생한 인스턴스를 자동으로 교체하는 방법도 제공합니다. 자세한 정보는 자동 복구 사용을 참조하세요. 계층을 생성할 때 상태 검사 메서드를 변경할 수 있습니다.

  • 통계를 수집하고 선택적으로 웹 페이지에 통계를 표시합니다.

중요

기본 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는 Configure 수명 주기 이벤트도 트리거합니다. HAProxy Configure 레시피가 남은 온라인 인스턴스로만 트래픽을 라우팅하도록 로드 밸런서 구성을 업데이트합니다.

마지막으로 HAProxy 계층에서도 사용자 지정 도메인을 사용할 수 있습니다. 자세한 내용은 사용자 지정 도메인 사용 섹션을 참조하세요.

통계 페이지

통계 페이지를 활성화한 경우 HAProxy가 지정된 URL에서 다양한 측정치가 포함된 페이지를 표시합니다.

HAProxy 통계를 보려면
  1. 인스턴스의 세부 정보 페이지에서 HAProxy 인스턴스의 퍼블릭 DNS 이름을 가져와 복사하세요.

  2. 계층 페이지에서 HAProxy를 클릭하여 계층의 세부 정보 페이지를 엽니다.

  3. 계층 세부 정보에서 통계 URL을 확인하여 퍼블릭 DNS 이름에 추가합니다. 예를 들면 http://ec2-54-245-102-172.us-west-2.compute.amazonaws.com/haproxy?stats를 추가합니다.

  4. 이전 단계에서 복사한 URL을 브라우저에 붙여 넣고 계층 생성 시 지정한 사용자 이름 및 암호를 사용하여 통계 페이지를 엽니다.