

# PERF02-BP05 컴퓨팅 리소스 동적 규모 조정
<a name="perf_compute_hardware_scale_compute_resources_dynamically"></a>

 클라우드의 탄력성을 사용하여 필요에 따라 컴퓨팅 리소스를 동적으로 스케일 업 또는 스케일 다운하고 워크로드에 대한 프로비저닝 용량이 과도하거나 부족하지 않도록 방지할 수 있습니다.

 **일반적인 안티 패턴**: 
+  용량을 수동으로 늘려 경보에 대응합니다.
+  온프레미스에서와 동일한 크기 조정 가이드라인(일반적으로 정적 인프라)을 사용합니다.
+  조정 이벤트 후에 다시 스케일 다운하는 대신 증가된 용량을 그대로 둡니다.

 **이 모범 사례 확립의 이점:** 컴퓨팅 리소스의 탄력성을 구성 및 테스트하면 비용을 절감하고, 성능 벤치마크를 유지하며, 트래픽 변화에 따른 신뢰성을 개선할 수 있습니다.

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

## 구현 지침
<a name="implementation-guidance"></a>

 AWS는 다양한 조정 메커니즘을 통해 리소스를 동적으로 스케일 업 또는 스케일 다운하여 수요 변화에 대응할 수 있는 유연성을 제공합니다. 컴퓨팅 관련 지표와 결합된 동적 규모 조정을 통해 워크로드는 변경 사항에 자동으로 대응하고 최적의 컴퓨팅 리소스 세트를 사용하여 목표를 달성할 수 있습니다.

 다양한 접근 방식을 사용하여 리소스 공급과 수요를 일치시킬 수 있습니다.
+  **타겟 추적 접근 방식**: 규모 조정 지표를 모니터링하고 필요에 따라 용량을 자동으로 늘리거나 줄입니다.
+  **예측 규모 조정:** 일별 및 주별 추세를 고려하여 스케일 인합니다.
+  **일정 기반 접근 방식**: 예측 가능한 로드 변화에 따라 자체 규모 조정 일정을 설정합니다.
+  **서비스 규모 조정**: 설계상 자동으로 규모가 조정되는 서비스(예: 서버리스)를 선택합니다.

 워크로드 배포에서 스케일 업 및 스케일 다운 이벤트를 모두 처리할 수 있는지 확인해야 합니다.

### 구현 단계
<a name="implementation-steps"></a>
+  컴퓨팅 인스턴스, 컨테이너 및 함수는 Auto Scaling과 함께 또는 서비스의 기능으로 탄력성을 위한 메커니즘을 제공합니다. 다음은 자동 규모 조정 메커니즘 예제입니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/wellarchitected/latest/framework/perf_compute_hardware_scale_compute_resources_dynamically.html)
+  규모 조정은 대개 Amazon EC2 인스턴스나 AWS Lambda 함수 등의 컴퓨팅 서비스와 관련하여 설명하는 경우가 많습니다. 이때 [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/auto-scaling.html)와 같은 비컴퓨팅 서비스의 구성도 수요에 맞게 고려해야 합니다.
+  규모 조정에 대한 지표가 배포 중인 워크로드의 특성과 일치하는지 확인합니다. 동영상 트랜스코딩 애플리케이션을 배포하는 경우 100%의 CPU 활용률이 예상되므로, 기본 지표로 사용해서는 안 됩니다. 대신 트랜스코딩 작업 대기열의 깊이를 사용합니다. 필요한 경우 규모 조정 정책에 [사용자 지정 지표](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/)를 사용할 수 있습니다. 올바른 지표를 선택하려면 Amazon EC2에 대한 다음 지침을 고려하세요.
  +  지표는 유효한 사용률 지표여야 하며 인스턴스가 얼마나 많이 사용되는지를 설명해야 합니다.
  +  지표 값은 Auto Scaling 그룹의 인스턴스 수에 비례하여 증가하거나 감소합니다.
+  Auto Scaling 그룹의 경우 [수동 규모 조정](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) 대신 [동적 규모 조정](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html)을 사용해야 합니다. 또한 동적 규모 조정에서 [목표 추적 조정 정책](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html)을 사용하는 것이 좋습니다.
+  워크로드 배포가 규모 조정 이벤트(스케일 업 및 스케일 다운)를 모두 처리할 수 있는지 확인합니다. 예를 들어 [활동 내역](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html)을 사용하여 Auto Scaling 그룹의 조정 활동을 확인할 수 있습니다.
+  워크로드의 예측 가능한 패턴을 평가하고 예측 및 계획된 수요 변화에 따라 사전 예방적으로 규모를 조정합니다. 예측 규모 조정에서는 용량을 과도하게 프로비저닝할 필요가 없습니다. 자세한 내용은 [Predictive Scaling with Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/)을 참조하세요.

## 리소스
<a name="resources"></a>

 **관련 문서**: 
+  [AWS에서의 클라우드 컴퓨팅](https://aws.amazon.com/products/compute/) 
+  [Amazon EC2 인스턴스 유형](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Amazon ECS 컨테이너: Amazon ECS 컨테이너](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [함수: Lambda 함수 구성](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Amazon EC2 Linux 인스턴스에 대한 프로세서 상태 제어](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 
+  [Deep Dive on Amazon ECS Cluster Auto Scaling](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 
+  [Introducing Karpenter – An Open-Source High-Performance Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 

 **관련 비디오:** 
+  [AWS re:Invent 2023 – AWS Graviton: The best price performance for your AWS workloads](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023 – New Amazon EC2 generative AI capabilities in AWS Management Console](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023 – What’s new with Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023 – Smart savings: Amazon EC2 cost-optimization strategies](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021 – Powering next-gen Amazon EC2: Deep dive on the Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019 – Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 

 **관련 예제:** 
+  [Amazon EC2 Auto Scaling Group Examples](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Amazon EKS 워크샵](https://www.eksworkshop.com/) 
+  [Scale your Amazon EKS workloads by running on IPv6](https://catalog.us-east-1.prod.workshops.aws/workshops/3b06259f-8e17-4f2f-811a-75c9b06a2807/en-US) 