모범 사례: 애플리케이션 서버 수 최적화 - AWS OpsWorks

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

모범 사례: 애플리케이션 서버 수 최적화

중요

이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS Support를 통해 AWS Support 팀에 문의하세요.

프로덕션 스택은 일반적으로 여러 가용 영역으로 분산된 복수의 애플리케이션 서버를 포함합니다. 하지만 수신되는 요청의 수는 일중 또는 주중 시간에 따라 현저히 변동할 수 있습니다. 단지 최대 예상 로드를 처리하기에 충분한 수의 서버를 실행하기를 원할 수 있지만, 그럴 경우 많은 시간에서는 필요한 서버 용량보다 많은 용량에 대해 비용을 지불하게 됩니다. 사이트를 효율적으로 운영하기 위해 권장되는 방법은 서버 수를 현재 요청 볼륨과 일치시키는 것입니다.

AWS OpsWorks 스택은 서버 인스턴스 수를 관리하는 세 가지 방법을 제공합니다.

  • 24/7 인스턴스는 자동으로 시작되어 수동으로 중지할 때까지 실행됩니다.

  • 시간 기반 인스턴스는 사용자가 지정한 일정에 따라 AWS OpsWorks 스택에 의해 자동으로 시작 및 중지됩니다.

  • 부하 기반 인스턴스는 CPU 또는 메모리 사용률과 같은 사용자 지정 부하 지표의 임계값을 초과할 때 AWS OpsWorks Stacks에 의해 자동으로 시작 및 중지됩니다.

참고

사용자가 스택의 시간 및 로드 기반 인스턴스를 생성하고 구성하면 AWS OpsWorks Stacks가 지정된 구성을 기반으로 자동으로 인스턴스를 시작하고 중지합니다. 사용자는 인스턴스의 구성 또는 수를 변경하는 이외에는 다시 손댈 필요가 없습니다.

권장 사항: 3개 이상의 애플리케이션 서버 인스턴스를 포함하는 스택을 관리하는 경우 위의 세 가지 인스턴스 유형을 모두 혼용하는 것이 좋습니다. 다음은 아래와 같은 특성을 갖는 가변적 일일 요청 볼륨을 처리하기 위해 스택의 서버 용량을 관리하는 방법의 예제입니다.

  • 평균 요청 볼륨이 일중 파형적으로 변동

  • 최소 평균 요청 볼륨을 처리하기 위해 5개의 애플리케이션 서버 인스턴스가 필요

  • 최대 평균 요청 볼륨을 처리하기 위해 16개의 애플리케이션 서버 인스턴스가 필요

  • 요청 볼륨 스파이크를 일반적으로 1~2개의 애플리케이션 서버 인스턴스에서 처리 가능

이 모델은 설명상 편의를 위한 것이지만, 어떠한 요청 볼륨 변동에도 간편하게 적응시킬 수 있으며 주 단위 변동을 처리하도록 확장할 수도 있습니다. 다음 다이어그램은 세 인스턴스 유형을 사용하여 이 요청 볼륨을 관리하는 방법을 보여줍니다.

이 예제에는 다음과 같은 특성이 있습니다.

  • 스택에 3개의 24/7 인스턴스가 있습니다. 이들 인스턴스는 항상 켜져 있고 베이스 로드를 처리합니다.

  • 스택에 12개의 시간 기반 인스턴스가 있습니다. 이들 인스턴스는 평균 일중 변동을 처리하도록 구성되어 있습니다.

    오후 10시부터 오전 2시까지는 1개의 인스턴스가 실행되고, 오후 8~10시 및 오전 2~4시에는 2개의 인스턴스가 추가로 실행되는 식입니다. 간결한 표시를 위해 다이어그램에서는 2시간마다 시간 기반 인스턴스 수를 수정하지만, 보다 세밀한 제어를 원한다면 1시간마다 수정할 수 있습니다.

  • 이 스택은 24/7 및 시간 기반 인스턴스에서 처리할 수 있는 볼륨을 초과하는 트래픽 스파이크를 처리하는 데 충분한 로드 기반 인스턴스를 포함합니다.

    AWS OpsWorks 스택은 현재 실행 중인 모든 서버의 부하가 지정된 지표를 초과하는 경우에만 부하 기반 인스턴스를 시작합니다. 실행 중이지 않은 서버의 비용은 최소한(Amazon EBS 지원 인스턴스)이거나 없습니다(인스턴스 스토어 지원 인스턴스). 따라서 권장되는 방법은 최대 예상 요청 볼륨을 무리 없이 처리할 수 있는 충분한 수의 인스턴스를 생성하는 것입니다. 이 예제의 경우, 스택에 적어도 3개의 로드 기반 인스턴스가 있어야 합니다.

참고

서비스 중단이 발생할 경우 영향을 완화시키려면 세 인스턴스 유형이 모두 여러 가용 영역으로 분산되어야 합니다.