COST09-BP03 리소스를 동적으로 공급 - AWS Well-Architected 프레임워크

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

COST09-BP03 리소스를 동적으로 공급

리소스가 계획된 방식으로 프로비저닝됩니다. 자동 크기 조정과 같은 수요 기반이거나, 수요를 예측할 수 있고 리소스가 시간을 기준으로 제공되는 시간 기반일 수 있습니다. 이러한 방법을 사용하면 과다 프로비저닝 또는 과소 프로비저닝을 최소화할 수 있습니다.

이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 낮음

구현 가이드

AWS 고객이 애플리케이션에 사용할 수 있는 리소스를 늘리고 수요를 충족하기 위해 리소스를 공급하는 방법에는 여러 가지가 있습니다. 이러한 옵션 중 하나는 Amazon Elastic Compute Cloud(Amazon EC2) 및 Amazon Relational Database Service(Amazon RDS) 인스턴스의 시작 및 중지를 자동화하는 AWS 인스턴스 스케줄러를 사용하는 것입니다. 또 다른 옵션은 를 사용하는 것입니다. AWS Auto Scaling이를 통해 애플리케이션 또는 서비스의 수요에 따라 컴퓨팅 리소스를 자동으로 확장할 수 있습니다. 수요에 따라 리소스를 공급하면 사용한 리소스에 대해서만 비용을 지불하고 필요할 때 리소스를 해제하여 비용을 절감하며 필요하지 않을 때는 리소스를 종료할 수 있습니다.

AWS 인스턴스 스케줄러를 사용하면 매일 사용자가 오전 8시에 Amazon RDS 인스턴스에 액세스EC2하고 밤 6시 이후에는 필요하지 않는 등 일관된 시간 패턴 내에 동일한 리소스에 대한 수요를 충족할 수 있도록 정의된 시간에 Amazon 및 Amazon EC2 인스턴스의 중지 및 시작을 구성할 수 있습니다. 이 솔루션은 사용하지 않는 리소스는 중지하고 필요할 때 시작하여 운영 비용을 줄여줍니다.

AWS 인스턴스 스케줄러를 사용한 비용 최적화를 보여주는 다이어그램입니다.

AWS 인스턴스 스케줄러를 사용한 비용 최적화.

AWS Systems Manager 빠른 설정을 사용하여 간단한 사용자 인터페이스(UI)를 사용하여 계정 및 리전 전체에서 Amazon EC2 인스턴스의 일정을 쉽게 구성할 수도 있습니다. AWS 인스턴스 스케줄러를 사용하여 Amazon EC2 또는 Amazon RDS 인스턴스를 예약하고 기존 인스턴스를 중지하고 시작할 수 있습니다. 그러나 Auto Scaling 그룹(ASG)의 일부이거나 Amazon Redshift 또는 Amazon OpenSearch Service와 같은 서비스를 관리하는 인스턴스는 중지하고 시작할 수 없습니다. Auto Scaling 그룹에는 그룹 내 인스턴스에 대한 고유한 일정이 있으며 이러한 인스턴스가 생성됩니다.

AWS Auto Scaling은 용량을 조정하여 최대한 저렴한 비용으로 변화하는 수요를 충족하기 위한 안정적이고 예측 가능한 성능을 유지하는 데 도움이 됩니다. Amazon EC2 인스턴스 및 스팟 플릿, Amazon , Amazon DynamoDB 및 ECSAmazon Aurora와 통합되는 애플리케이션의 용량을 확장하는 완전 관리형 무료 서비스입니다. Auto Scaling이 제공하는 자동 리소스 검색 기능을 사용하면 워크로드에서 구성 가능한 리소스를 쉽게 찾을 수 있습니다. 또한 기본적으로 포함되어 있는 확장 전략을 통해 성능, 비용 또는 둘 사이의 균형을 최적화할 수 있으며 예측 조정 기능을 통해 주기적으로 발생하는 스파이크를 지원할 수 있습니다.

Auto Scaling 그룹을 조정하는 데 사용할 수 있는 다양한 규모 조정 옵션이 있습니다.

  • 항상 현재 인스턴스 수준 유지 관리

  • 수동 조정

  • 일정에 근거하여 조정

  • 온디맨드 기반 조정

  • 예측 조정 사용

Auto Scaling 정책은 서로 다르며 동적 및 예약 규모 조정 정책으로 분류될 수 있습니다. 동적 정책은 수동 또는 동적 규모 조정으로, 예약 또는 예측 규모 조정입니다. 동적, 예약 및 예측 규모 조정에 규모 조정 정책을 사용할 수 있습니다. Amazon CloudWatch의 지표와 경보를 사용하여 워크로드에 대한 조정 이벤트를 트리거할 수도 있습니다. 최신 기능과 개선 사항에 액세스하려면 시작 템플릿을 사용하는 것이 좋습니다. 시작 구성을 사용할 때 일부 Auto Scaling 기능을 사용할 수 없습니다. 예를 들어, 스팟 및 온디맨드 인스턴스를 모두 시작하거나 여러 인스턴스 유형을 지정하는 Auto Scaling 그룹은 생성할 수 없습니다. 이러한 기능을 구성하려면 시작 템플릿을 사용해야 합니다. 시작 템플릿을 사용할 때는 각 템플릿의 버전을 지정하는 것이 좋습니다. 시작 템플릿 버전 관리를 사용하면 전체 파라미터 세트의 하위 세트를 생성할 수 있습니다. 그런 다음, 해당 세트를 재사용하여 동일한 시작 템플릿의 다른 버전을 만들 수 있습니다.

AWS APIs 또는 SDKs를 사용하여 코드에 크기 조정을 사용하거나 AWS Auto Scaling 통합할 수 있습니다. 이렇게 하면 환경을 수동으로 변경하는 데 따른 운영 비용이 제거되므로 전반적인 워크로드 비용이 절감되며 변경을 훨씬 더 빠르게 수행할 수 있습니다. 이는 또한 언제든지 수요에 맞춰 워크로드 리소스를 조정합니다. 이 모범 사례를 따르고 조직을 위해 리소스를 동적으로 공급하려면 의 수평 및 수직 조정 AWS 클라우드과 Amazon EC2 인스턴스에서 실행되는 애플리케이션의 특성을 이해해야 합니다. 이 모범 사례를 따르기 위해 클라우드 재무 관리 팀이 기술 팀과 협력하는 것이 좋습니다.

Elastic Load Balancing은 여러 리소스에 걸쳐 수요를 분산하여 규모를 조정하는 데 도움이 됩니다. ASG 및 Elastic Load Balancing 사용하면 Auto Scaling 그룹에서 인스턴스가 압도되지 않도록 트래픽을 최적으로 라우팅하여 수신 요청을 관리할 수 있습니다. 요청은 용량 또는 사용률을 고려하지 않고 대상 그룹의 모든 대상에 라운드 로빈 방식으로 분산됩니다.

일반적인 지표는 CPU 사용률, 네트워크 처리량, Elastic Load Balancing 관찰 요청 및 응답 지연 시간과 같은 표준 Amazon EC2 지표일 수 있습니다. 가능한 경우 고객 경험을 나타내는 지표를 사용해야 합니다. 일반적으로는 워크로드 내 애플리케이션 코드에서 생성될 수 있는 사용자 지정 지표입니다. 이 문서에서는 수요를 동적으로 충족하는 방법을 자세히 설명하기 위해 Auto Scaling을 수요 기반 공급 모델과 시간 기반 공급 모델의 두 범주로 분류하고 각 모델을 심층적으로 살펴보겠습니다.

수요 기반 공급: 클라우드의 탄력성을 활용하여 거의 실시간에 가까운 수요 상태를 기반으로 변화하는 수요를 충족할 리소스를 공급합니다. 수요 기반 공급의 경우 APIs 또는 서비스 기능을 사용하여 아키텍처의 클라우드 리소스 양을 프로그래밍 방식으로 변경합니다. 이렇게 하면 아키텍처 구성 요소의 규모를 조정할 수 있으며, 수요 급증 기간에는 리소스 수를 늘려 성능을 유지하고 수요 감소 기간에는 용량을 줄여 비용을 절감할 수 있습니다.

단순/단계별 규모 조정 및 목표 추적과 같은 수요 기반 규모 조정 정책을 설명하는 다이어그램입니다.

수요 기반 동적 규모 조정 정책

  • 단순/단계별 규모 조정: 고객이 수동으로 정의한 단계에 따라 지표를 모니터링하고 인스턴스를 추가 또는 제거합니다.

  • 목표 추적: 지표를 사용자가 정의한 목표로 유지하기 위해 인스턴스를 자동으로 추가 또는 제거하는 온도 조절기와 유사한 제어 메커니즘입니다.

수요 기반 방식을 사용하여 설계할 때는 두 가지 주요 사항을 고려해야 합니다. 먼저 새 리소스를 프로비저닝해야 하는 속도를 파악해야 합니다. 그리고 수요와 공급 간의 차이 규모는 변화한다는 점을 이해해야 합니다. 따라서 수요 변화 속도에 맞게 공급 속도를 변경할 수 있도록 준비하는 동시에 리소스 장애에도 대비해야 합니다.

시간 기반 공급: 시간 기반 방식에서는 시간별로 예측 가능하거나 적절하게 정의되는 수요에 맞게 리소스 용량을 조정합니다. 이 방식에서는 일반적으로 리소스 용량이 리소스 사용률 수준에 따라 달라지지 않습니다. 시간 기반 방식을 사용하면 필요한 특정 시간에 리소스를 사용할 수 있으며, 시작 절차 및 시스템 또는 일관성 검사로 인한 지연 없이 리소스를 제공할 수 있습니다. 또한 사용량이 많은 기간에 추가 리소스를 제공하거나 용량을 늘릴 수 있습니다.

예약 및 예측 규모 조정과 같은 시간 기반 규모 조정 정책을 설명하는 다이어그램입니다.

시간 기반 규모 조정 정책

예약 또는 예측 Auto Scaling을 사용하여 시간 기반 접근 방식을 구현할 수 있습니다. 사용자 도달 또는 수요 증가 시 리소스를 사용할 수 있도록 정의된 시간(예: 업무 시간 시작 시)에 워크로드 스케일 아웃 또는 스케일 인을 예약할 수 있습니다. 예측 규모 조정은 패턴을 사용하여 스케일 아웃하는 반면에 예약된 규모 조정은 미리 정의된 시간을 사용하여 스케일 아웃합니다. Auto Scaling 그룹에서 속성 기반 인스턴스 유형 선택(ABS) 전략을 사용할 수도 있습니다. 이를 통해 인스턴스 요구 사항을 v , CPU메모리 및 스토리지와 같은 속성 집합으로 표현할 수 있습니다. 또한 최신 세대 인스턴스 유형이 릴리스될 때 이를 자동으로 사용하고 Amazon EC2 스팟 인스턴스를 통해 더 광범위한 용량에 액세스할 수 있습니다. Amazon EC2 Fleet 및 Amazon EC2 Auto Scaling은 지정된 속성에 맞는 인스턴스를 선택하고 시작하므로 인스턴스 유형을 수동으로 선택할 필요가 없습니다.

또한 AWS APIs 및 SDKs 를 활용하여 필요에 따라 전체 환경을 AWS CloudFormation 자동으로 프로비저닝하고 해제할 수 있습니다. 이 방식은 정의된 업무 시간이나 일정 기간에만 실행되는 개발 또는 테스트 환경에 적합합니다. APIs 를 사용하여 환경 내의 리소스 크기를 조정할 수 있습니다(수직 크기 조정). 예를 들어 인스턴스 크기나 클래스를 변경하여 프로덕션 워크로드의 규모를 스케일 업할 수 있습니다. 이렇게 하려면 인스턴스를 중지했다가 시작한 후 다른 인스턴스 크기나 클래스를 선택합니다. 이 기법은 크기를 늘리거나 성능을 조정하거나(IOPS) 사용 중에 볼륨 유형을 변경하도록 수정할 수 있는 Amazon EBS Elastic Volumes와 같은 다른 리소스에도 적용할 수 있습니다.

시간 기반 방식을 사용하여 설계할 때는 두 가지 주요 사항을 고려해야 합니다. 먼저 사용 패턴의 일관성 정도를 파악해야 합니다. 그리고 패턴 변경 시의 영향을 고려해야 합니다. 워크로드를 모니터링하고 비즈니스 인텔리전스를 사용하면 예측 정확도를 높일 수 있습니다. 사용 패턴이 크게 변경되는 경우에는 패턴이 변경된 기간이 포함되도록 시간을 조정할 수 있습니다.

구현 단계

  • 예약 규모 조정 구성: 예측 가능한 수요 변화를 위해 시간 기반 조정은 적시에 올바른 개수의 리소스를 제공할 수 있습니다. 리소스 생성 및 구성이 수요 변화에 대응할 만큼 충분히 빠르지 않은 경우에도 유용합니다. 워크로드 분석으로 AWS Auto Scaling을 사용하여 예약된 규모 조정을 구성합니다. 시간 기반 예약을 구성하려면 예약된 크기 조정의 예측 크기 조정을 사용하여 예상 또는 예측 가능한 로드 변경에 따라 Auto Scaling 그룹의 Amazon EC2 인스턴스 수를 미리 늘릴 수 있습니다.

  • 예측 조정 구성: 예측 조정을 사용하면 트래픽 흐름의 일일 및 주간 패턴에 앞서 Auto Scaling 그룹의 Amazon EC2 인스턴스 수를 늘릴 수 있습니다. 시작하는 데 오래 걸리는 애플리케이션이 있고 정기적으로 트래픽이 급증하는 경우 예측 규모 조정 사용을 고려해야 합니다. 예측 규모 조정은 예측한 로드가 발생 전에 용량을 초기화함으로써 반응적인 속성의 동적 규모 조정을 단독으로 사용하는 것과 비교하여 더 빠르게 규모를 조정할 수 있도록 합니다. 예를 들어, 사용자가 업무 시간 시작과 함께 워크로드를 사용하기 시작하고 업무 시간이 지나면 사용하지 않는 경우, 예측 규모 조정은 업무 시간 전에 용량을 추가할 수 있습니다. 그러면 변화하는 트래픽에 대응하기 위한 동적 규모 조정의 지연이 사라집니다.

  • 동적 자동 규모 조정 구성: 활성 워크로드 지표를 기반으로 조정을 구성하려면 Auto Scaling을 사용합니다. 분석을 사용하여 올바른 리소스 수준에서 시작하도록 Auto Scaling을 구성하고 워크로드가 필요한 시간 내에 조정되도록 합니다. 단일 Auto Scaling 그룹 내에서 온디맨드 인스턴스 및 스팟 인스턴스 플릿를 자동으로 확장할 수 있습니다. 스팟 인스턴스 사용에 대한 할인을 받을 수 있을 뿐만 아니라 예약 인스턴스 또는 Savings Plans를 사용하여 일반 온디맨드 인스턴스 요금의 할인된 요금을 받을 수 있습니다. 이러한 모든 요소를 결합하면 Amazon EC2 인스턴스에 대한 비용 절감을 최적화하고 애플리케이션에 원하는 규모와 성능을 얻을 수 있습니다.

리소스

관련 문서:

관련 비디오:

관련 예제: