

# SUS02-BP01 사용자 로드에 맞게 인프라 크기 조정
<a name="sus_sus_user_a2"></a>

 활용률이 낮거나 없는 기간을 식별하고 리소스를 스케일 다운하여 용량이 초과되지 않도록 하고 효율성을 개선합니다. 

**일반적인 안티 패턴:**
+ 사용자 로드에 따라 인프라를 확장하지 않습니다.
+ 항상 인프라를 수동으로 확장합니다.
+ 조정 이벤트 후에 다시 축소하는 대신 증가된 용량을 그대로 둡니다.

 **이 모범 사례 확립의 이점:** 워크로드 탄력성을 구성하고 테스트하면 워크로드가 환경에 미치는 영향을 줄이고 비용을 절감하며 성능 벤치마크를 유지할 수 있습니다. 클라우드에서 탄력성을 활용하여 사용자 로드 급증 기간 및 이후에 용량을 자동으로 확장하여 고객의 필요를 충족하는 데 필요한 정확한 수의 리소스만 사용할 수 있습니다.

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

## 구현 가이드
<a name="implementation-guidance"></a>
+  탄력성은 보유한 리소스의 공급을 해당 리소스의 수요에 맞춥니다. 인스턴스, 컨테이너 및 함수를 자동 조정과 함께 사용하거나 서비스의 기능으로 사용하는 경우 탄력성 개선을 위한 메커니즘이 제공됩니다. 아키텍처에서 탄력성을 사용하면 사용자 로드가 적은 기간에 빠르고 워크로드를 쉽게 스케일 다운할 수 있습니다. 
  +  [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 을(를) 사용하면 애플리케이션의 사용자 로드를 처리하는 데 사용할 수 있는 적절한 수의 Amazon EC2 인스턴스가 있는지 확인할 수 있습니다. 
  +  [Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html) 을(를) 사용하면 Amazon EC2을(를) 벗어난 개별 AWS 서비스(예: Lambda 기능 또는 Amazon Elastic Container Service (Amazon ECS) 서비스)에 대한 리소스를 자동으로 확장할 수 있습니다. 
  +  [Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 를 사용하면 AWS에서 Kubernetes 클러스터를 자동으로 확장할 수 있습니다. 
+  스케일 업 또는 스케일 다운 대한 지표가 배포 중인 워크로드 유형에 대해 검증되었는지 확인합니다. 동영상 트랜스코딩 애플리케이션을 배포하는 경우 100%의 CPU 활용률이 예상되므로, 기본 지표로 사용해서는 안 됩니다. 필요한 경우 스케일링 정책에 대해 [맞춤형 지표](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) (예: 메모리 사용률)를 사용할 수 있습니다. 올바른 지표를 선택하려면 Amazon EC2에 대한 다음 지침을 고려하세요. 
  +  지표는 유효한 사용률 지표여야 하며 인스턴스가 얼마나 많이 사용되는지를 설명해야 합니다. 
  +  지표 값은 Auto Scaling 그룹 내 인스턴스 수에 비례하여 늘거나 줄어야 합니다. 
+  [수동 스케일링](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) 대신 [동적 스케일링](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) 을 Auto Scaling 그룹에 사용합니다. 또한 동적 스케일링에 [대상 추적 스케일링 정책](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) 을 사용하는 것이 좋습니다. 
+  워크로드 배포에서 확장 및 축소 이벤트를 모두 처리할 수 있는지 확인합니다. 축소 이벤트에 대한 테스트 시나리오를 생성하여 워크로드가 예상대로 작동하는지 확인하세요. **활동 기록** 을 사용하여 Auto Scaling 그룹에 대한 스케일링 활동을 테스트 및 확인할 수 있습니다. 
+  워크로드의 예측 가능한 패턴을 평가하고 예측 및 계획된 수요 변화에 따라 사전 예방적으로 확장합니다. [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>

 **관련 문서:** 
+  [Amazon EC2 Auto Scaling 시작하기](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Predictive Scaling for EC2, Powered by Machine Learning(기계 학습 기반 EC2용 예측 확장)](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [Analyze user behavior using Amazon OpenSearch Service, Amazon Data Firehose and Kibana(Amazon OpenSearch Service, Amazon Kinesis Data Firehose 및 Kibana를 사용하여 사용자 행동 분석)](https://aws.amazon.com/blogs/database/analyze-user-behavior-using-amazon-elasticsearch-service-amazon-kinesis-data-firehose-and-kibana/) 
+  [Amazon CloudWatch란 무엇인가요?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [AWS X-Ray란 무엇인가요?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [VPC 흐름 로그](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Monitoring DB load with Performance Insights on Amazon RDS(Amazon RDS의 성능 개선 도우미로 DB 로드 모니터링)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [Introducing Native Support for Predictive Scaling with Amazon EC2 Auto Scaling(Amazon EC2 Auto Scaling을 사용한 예측 확장에 대한 기본 지원 소개)](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) 
+  [How to create an Amazon EC2 Auto Scaling policy based on a memory utilization metric(메모리 사용률 지표를 기반으로 Amazon EC2 Auto Scaling 정책을 생성하는 방법)(Linux)](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) 
+  [Introducing Karpenter - An Open-Source, High-Performance Kubernetes Cluster Autoscaler(Karpenter - 고성능 오픈 소스 Kubernetes Cluster Autoscaler 소개)](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 

 **관련 동영상:** 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2(더 정확하고, 더 빠르고, 더 저렴한 컴퓨팅: Amazon EC2 비용 최적화)CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 

 **관련 예시:** 
+  실습: Amazon EC2 Auto Scaling 그룹 예시 
+  [실습: Karpenter를 사용하여 오토스케일링 구현](https://www.eksworkshop.com/beginner/085_scaling_karpenter/) 