

# PERF 3  스토리지 솔루션을 어떻게 선택합니까?
<a name="w2aac19c11b5b9"></a>

 시스템에 대한 최적의 스토리지 솔루션은 액세스 방식 종류(블록, 파일, 객체), 액세스 패턴(랜덤 또는 순차), 필요한 처리량, 액세스 빈도(온라인, 오프라인, 보관), 업데이트 빈도(WORM, 동적) 및 가용성과 내구성 제약 사항에 따라 다릅니다. 설계가 잘된 시스템은 여러 스토리지 솔루션을 사용하며, 다양한 기능을 통해 성능을 개선하고 리소스를 효율적으로 사용할 수 있도록 지원합니다. 

**Topics**
+ [PERF03-BP01 스토리지 특성 및 요구 사항 파악](perf_right_storage_solution_understand_char.md)
+ [PERF03-BP02 사용 가능한 구성 옵션 평가](perf_right_storage_solution_evaluated_options.md)
+ [PERF03-BP03 액세스 패턴과 지표를 기준으로 결정](perf_right_storage_solution_optimize_patterns.md)

# PERF03-BP01 스토리지 특성 및 요구 사항 파악
<a name="perf_right_storage_solution_understand_char"></a>

 워크로드 스토리지의 요구 사항 파악하여 문서화하고 각 위치의 스토리지 특성을 정의합니다. 스토리지 특성 예시에는 공유 가능한 액세스, 파일 크기, 성장률, IOPS, 지연 시간, 액세스 패턴 및 데이터 지속성 등이 있습니다. 이러한 특성을 사용하여 스토리지의 요구 사항에 대해 블록, 파일, 객체 또는 인스턴스 스토리지 서비스가 가장 효율적인 솔루션인지 평가합니다. 

 **원하는 결과:** 스토리지 요구 사항을 파악하여 스토리지의 요구 사항별로 문서화하고 사용 가능한 스토리지 솔루션을 평가합니다. 주요 스토리지 특성을 바탕으로 팀에서는 선택한 스토리지 서비스가 워크로드 성능에 어떻게 도움이 될지 이해합니다. 주요 기준에는 데이터 액세스 패턴, 성장률, 스케일링 요구 사항 및 지연 시간 요구 사항이 포함됩니다. 

 **일반적인 안티 패턴:** 
+  모든 워크로드에 Amazon Elastic Block Store(Amazon EBS)와 같은 하나의 스토리지 유형만 사용합니다. 
+  모든 워크로드의 스토리지 액세스 성능 요구 사항이 비슷하다고 가정합니다. 

 **이 모범 사례 확립의 이점:** 파악한 특성과 필요한 특성을 바탕으로 스토리지 솔루션을 선택하면 워크로드 성능을 개선하고 비용을 절감하며 워크로드 유지 관리를 위한 운영 작업을 줄일 수 있습니다. 워크로드 성능은 스토리지 서비스의 솔루션, 구성 및 위치에 따라 향상됩니다. 

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

## 구현 가이드
<a name="implementation-guidance"></a>

 벤치마킹 또는 로드 테스트를 사용하여 워크로드의 가장 중요한 스토리지 성능 지표를 식별하고 데이터 기반 접근 방식의 일부로 개선 사항을 구현합니다. 이 데이터를 사용하여 스토리지 솔루션이 제한되는 위치를 식별하고, 솔루션을 개선할 수 있는 구성 옵션을 검사합니다. 워크로드의 예상 증가율을 확인하고 해당 속도에 맞는 스토리지 솔루션을 선택합니다. AWS 스토리지 서비스를 조사하여 다양한 워크로드에 적합한 스토리지 솔루션을 결정하세요. AWS의 프로비저닝 스토리지 솔루션은 스토리지 서비스를 테스트하고 이것이 워크로드의 요구 사항에 적합한지 확인할 수 있는 기회를 늘립니다. 


| AWS 서비스 | 주요 특징 | 일반 사용 사례 | 
| --- | --- | --- | 
| Amazon S3 |  99.999999999% 내구성, 무제한 성장, 어디에서나 액세스 가능, 액세스 및 복원력에 기반한 여러 가지 비용 모델  |  클라우드 네이티브 애플리케이션 데이터, 데이터 아카이빙 및 백업, 분석, 데이터 레이크, 정적 웹 사이트 호스팅, IoT 데이터   | 
| Amazon Glacier |  몇 초에서 몇 시간에 이르는 지연 시간, 무제한 성장, 최저 가격, 장기 스토리지  |  데이터 아카이빙, 미디어 아카이브, 장기 백업 보존  | 
| Amazon EBS | 스토리지 크기에 관리 및 모니터링, 낮은 지연 시간, 지속적인 스토리지, 99.8%\$199.9% 내구성이 필요하며, 대부분의 볼륨 유형은 하나의 EC2 인스턴스에서만 액세스 가능 |  COTS 애플리케이션, I/O 집약적 애플리케이션, 관계형 및 NoSQL 데이터베이스, 백업 및 복구  | 
| EC2 인스턴스 스토어 |  미리 정의된 스토리지 크기, 가장 짧은 지연 시간, 지속성 없음, EC2 인스턴스에서만 액세스 가능  |  COTS 애플리케이션, I/O 집약적 애플리케이션, 인 메모리 데이터 저장소  | 
| Amazon EFS |  99.999999999% 내구성, 무제한 성장, 여러 컴퓨팅 서비스에서 액세스 가능  |  여러 컴퓨팅 서비스 간에 현대화된 애플리케이션 파일 공유, 콘텐츠 관리 시스템 스케일링을 위한 파일 스토리지  | 
| Amazon FSx |  네 가지 파일 시스템(NetApp, OpenZFS, Windows File Server 및 Amazon FSx for Lustre) 지원, 여러 파일별 시스템에 사용할 수 있는 스토리지, 여러 컴퓨팅 서비스에서 액세스 가능  |  클라우드 네이티브 워크로드, 프라이빗 클라우드 버스팅, 특정 파일 시스템이 필요한 마이그레이션된 워크로드, VMC, ERP 시스템, 온프레미스 파일 스토리지 및 백업   | 
| Snow 제품군 |  휴대용 디바이스, 256비트 암호화, NFS 엔드포인트, 온보드 컴퓨팅, TB 스토리지  |  클라우드로 데이터 마이그레이션, 스토리지, 극한의 온프레미스 조건에서 컴퓨팅, 재해 복구, 원격 데이터 수집  | 
| AWS Storage Gateway |  클라우드 지원 스토리지에 대해 지연 시간이 짧은 온프레미스 액세스 제공, 완전 관리형 온프레미스 캐시   |  클라우드 마이그레이션에 대한 온프레미스 데이터, 온프레미스 소스에서 클라우드 데이터 레이크 채우기, 현대화된 파일 공유  | 

 **구현 단계:** 

1. 벤치 마킹 또는 로드 테스트를 사용하여 스토리지 필요의 주요 특성을 수집합니다. 주요 특징은 다음과 같습니다. 

   1. 공유 가능(구성 요소가 이 스토리지에 액세스할 수 있음) 

   1. 성장률 

   1. 처리량 

   1. 지연 시간 

   1. I/O 크기 

   1. 내구성 

   1. 액세스 패턴(일기와 쓰기, 빈도, 급증하는지 또는 일관적인지) 

1. 스토리지 특성을 지원하는 스토리지 솔루션 유형을 파악합니다. 

   1. [Amazon S3](https://aws.amazon.com/s3/) 은(는) 무제한 확장성, 높은 가용성과 액세스 가능성을 위한 여러 옵션을 갖춘 객체 스토리지 서비스입니다. Amazon S3 안팎에서 객체 전송 및 액세스는 [Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) 또는 [액세스 포인트](https://aws.amazon.com/s3/features/access-points/) 등과 같은 서비스를 사용하여 위치, 보안 필요 및 액세스 패턴을 지원할 수 있습니다. [Amazon S3의 성능 지침](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-guidelines.html) 을 사용하여 워크로드 성능의 요구 사항을 충족하도록 Amazon S3 구성을 최적화할 수 있습니다. 

   1. [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/) 은(는) 데이터 아카이빙을 위해 구축된 Amazon S3의 스토리지 클래스입니다. 밀리초에서 5\$112시간까지 액세스 시간이 다양하고 비용 및 보안 옵션이 제각각인 세 가지 아카이빙 솔루션 중에서 선택할 수 있습니다. Amazon Glacier은(는) 비즈니스 요구 사항 및 데이터 특성을 지원하는 데이터 수명 주기를 구현하여 성능 요구 사항을 충족하도록 돕습니다. 

   1. [Amazon Elastic Block Store(Amazon EBS)](https://aws.amazon.com/ebs/) 은(는) Amazon Elastic Compute Cloud(Amazon EC2)을(를) 위해 설계된 고성능 블록 스토리지 서비스입니다. IOPS 또는 처리량에 대한 우선 순위를 지정하는 특성이 다른 [SSD 기반 또는 HDD 기반](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) 솔루션 중에서 [선택할](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/provisioned-iops.html) 수 [있습니다](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hdd-vols.html). EBS 볼륨은 고성능 워크로드, 파일 시스템을 위한 기본 스토리지, 데이터베이스 또는 연결된 스테이지 시스템에만 액세스할 수 있는 애플리케이션에 적합합니다. 

   1. [Amazon EC2 인스턴스 스토어](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) 는 Amazon EC2 인스턴스에 연결되므로 Amazon EBS과(와) 유사하지만 이상적으로 버퍼, 캐시 또는 기타 임시 콘텐츠로 사용해야 하는 임시 스토리지에 불과합니다. 인스턴스 스토어는 분리할 수 없으며 인스턴스가 종료되면 모든 데이터가 손실됩니다. 인스턴스 스토어는 데이터를 지속할 필요가 없는 높은 I/O 성능 및 짧은 지연 시간 사용 사례에 사용할 수 있습니다. 

   1. [Amazon Elastic File System(Amazon EFS)](https://aws.amazon.com/efs/) 은(는) 여러 유형의 컴퓨팅 솔루션에서 액세스할 수 있는 탑재 가능한 파일 시스템입니다. Amazon EFS은(는) 스토리지를 자동으로 늘리고 줄이며 대기 시간을 일정하게 짧게 유지하기 위해 성능이 최적화됩니다. EFS에는 [두 가지 성능 구성 모드](https://docs.aws.amazon.com/efs/latest/ug/performance.html)인 범용 모드와 최대 I/O 모드가 있습니다. 범용은 읽기 지연 시간이 1밀리초 미만이며, 쓰기 지연 시간은 한 자릿수 밀리초입니다. 최대 I/O 기능은 공유 파일 시스템이 필요한 수천 개의 컴퓨팅 인스턴스를 지원할 수 있습니다. Amazon EFS은(는) [두 가지 처리량 모드](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html)즉, 버스팅과 프로비저닝을 지원합니다. 갑작스러운 액세스 급증 패턴이 나타나는 워크로드는 버스팅 처리량 모드에서 이점을 얻을 수 있는 동시에 일정하게 액세스가 높은 워크로드는 프로비저닝 처리량 모드에서 잘 작동할 수 있습니다. 

   1. [Amazon FSx](https://aws.amazon.com/fsx/) 은(는) 일반적으로 사용되는 네 가지 파일 시스템인 NetApp ONTAP, OpenZFS, Windows File Server 및 Lustre를 지원하는 최신 AWS 컴퓨팅 솔루션을 기반으로 구축되었습니다. Amazon FSx [지연 시간, 처리량 및 IOPS](https://aws.amazon.com/fsx/when-to-choose-fsx/) 는 파일 시스템에 따라 달라지며 워크로드의 요구 사항에 적합한 파일 시스템을 선택할 때 고려해야 합니다. 

   1. [AWS Snow Family](https://aws.amazon.com/snow/) 은(는) 클라우드과 데이터 스토리지로 온라인 및 오프라인 데이터 마이그레이션과 온프레미스 컴퓨팅을 지원하는 스토리지 및 컴퓨팅 디바이스입니다. AWS Snow 디바이스는 많은 양의 온프레미스 데이터 수집, 해당 데이터의 처리 및 클라우드로 해당 데이터 이동을 지원합니다. 파일 수, 파일 크기 및 압축과 관련하여 여러 가지 [문서화된 성능 모범 사례](https://docs.aws.amazon.com/snowball/latest/developer-guide/performance.html) 가 있습니다. 

   1. [AWS Storage Gateway](https://aws.amazon.com/storagegateway/) 은(는) 클라우드 기반 스토리지에 대한 온프레미스 애플리케이션 액세스를 제공합니다. AWS Storage Gateway는 Amazon S3, Amazon Glacier, Amazon FSx 및 Amazon EBS 등과 같은 여러 클라우드 스토리지 서비스를 지원하고 iSCSI, SMB 및 NFS 등과 같은 여러 프로토콜을 지원합니다. 자주 액세스하는 데이터를 온프레미스에 캐싱하여 지연 시간이 짧은 성능을 제공하고 변경된 데이터와 압축된 데이터만 AWS(으)로 전송합니다. 

1. 새로운 스토리지 솔루션을 실험하고 최적의 구성을 파악한 후 마이그레이션을 계획하고 성능 지표를 검증합니다. 이는 지속적인 프로세스이며 주요 특성이 변경되거나 사용 가능한 서비스 또는 옵션이 변경되면 다시 평가해야 합니다. 

 **구현 계획의 작업 수준: **워크로드가 한 스토리지 솔루션에서 다른 컴퓨팅 솔루션으로 이동하는 경우 애플리케이션을 리팩터링하는 데 *중간* 수준의 작업이 필요할 수 있습니다.   

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

 **관련 문서:** 
+  [Amazon EBS 볼륨 유형](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Amazon EC2 스토리지](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: Amazon EFS 성능](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre 성능](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server 성능](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Amazon FSx for NetApp ONTAP 성능](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Amazon FSx for OpenZFS 성능](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html)
+  [Amazon Glacier: Amazon Glacier 설명서](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: 요청 속도 및 성능 고려 사항](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [AWS의 클라우드 스토리지](https://aws.amazon.com/products/storage/) 
+ [AWS Snow Family](https://aws.amazon.com/snow/#Feature_comparison)
+  [EBS I/O 특성](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **관련 동영상:** 
+  [Deep dive on Amazon EBS(STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3(STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **관련 예시:** 
+  [Amazon EFS CSI 드라이버](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI 드라이버](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS 유틸리티](https://github.com/aws/efs-utils) 
+  [Amazon EBS 오토 스케일링](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Amazon S3 예시](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+ [Amazon FSx for Lustre Container Storage Interface(CSI) 드라이버](https://github.com/kubernetes-sigs/aws-fsx-csi-driver)

# PERF03-BP02 사용 가능한 구성 옵션 평가
<a name="perf_right_storage_solution_evaluated_options"></a>

 다양한 특성 및 구성 옵션과 스토리지와의 관련성을 평가합니다. 프로비저닝된 IOPS, SSD, 마그네틱 스토리지, 객체 스토리지, 아카이브 스토리지 또는 휘발성 스토리지를 사용하는 위치와 방법을 파악하여 워크로드의 성능과 스토리지 공간을 최적화합니다. 

 [Amazon EBS](https://aws.amazon.com/ebs) 는 워크로드에 맞게 스토리지 성능과 비용을 최적화할 수 있는 광범위한 옵션을 제공합니다. 이러한 옵션은 두 가지 주요 범주로 구분됩니다. 그중 하나는 데이터베이스 및 부트 볼륨과 같은 트랜잭션 워크로드용 SSD-지원 스토리지이고(주로 IOPS에 따라 성능이 달라짐), 다른 하나는 MapReduce 및 로그 처리와 같은 처리량이 높은 워크로드용 HDD 지원 스토리지입니다(주로 초당 MB에 따라 성능이 달라짐). 

 SSD 지원 볼륨에는 지연 시간에 따라 달라지는 트랜잭션 워크로드용으로 최상의 성능을 제공하는 프로비저닝된 IOPS SSD와 다양한 트랜잭션 데이터용으로 사용 가능하도록 가격과 성능이 적절하게 절충된 범용 SSD가 포함됩니다. 

 [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) 을 사용하면 클라이언트와 S3 버킷 간의 장거리 파일 전송을 빠르게 수행할 수 있습니다. Transfer Acceleration은 전 세계에 분산된 Amazon CloudFront의 엣지 로케이션을 활용하여 최적화된 네트워크 경로를 통해 데이터를 라우팅합니다. GET 요청을 많이 수행하는 S3 버킷의 워크로드에는 CloudFront가 포함된 Amazon S3를 사용합니다. 큰 파일을 업로드할 때는 여러 부분이 동시에 업로드되는 멀티 파트 업로드를 사용하면 네트워크 처리량을 극대화할 수 있습니다. 

 [Amazon Elastic File System(Amazon EFS)](https://aws.amazon.com/efs/) 은 AWS 클라우드 서비스 및 온프레미스 리소스에 사용할 수 있는 간편하고 확장 가능하며 탄력적인 완전관리형 NFS 파일 시스템을 제공합니다. Amazon EFS는 범용 성능 모드와 최대 I/O 성능 모드라는 두 성능 모드를 제공하여 다양한 클라우드 스토리지 워크로드를 지원합니다. 또한 버스팅 처리량(throughput) 및 프로비저닝된 처리량(throughput)이라는 두 처리량(throughput) 모드 중에서 파일 시스템에 적합한 모드를 선택할 수 있습니다. 워크로드에 사용할 설정을 결정하려면 [Amazon EFS 사용 설명서](https://docs.aws.amazon.com/efs/latest/ug/performance.html)를 참조하십시오. 

 [Amazon FSx](https://aws.amazon.com/fsx/) 는 엔터프라이즈 워크로드용 [Amazon FSx for Windows File Server,](https://aws.amazon.com/fsx/windows/) 고성능 워크로드용 [Amazon FSx for Lustre,](https://aws.amazon.com/fsx/lustre/) NetApps 주요 ONTAP 파일 시스템용 [Amazon FSx for NetApp ONTAP,](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/index.html) Linux 기반 파일 서버용 [Amazon FSx for OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) 등 4가지 파일 시스템 중에서 선택할 수 있는 옵션을 제공합니다. FSx는 SSD를 지원하며, 빠르고 예측 가능하며 확장 가능하고 일관된 성능을 제공하도록 설계되었습니다. Amazon FSx 파일 시스템은 지속적으로 높은 읽기 및 쓰기 속도와 일관되게 지연 시간이 짧은 데이터 액세스를 제공합니다. 워크로드의 요구 사항에 따라 필요한 처리량 수준을 선택할 수 있습니다. 

 **일반적인 안티 패턴:** 
+  모든 워크로드에 Amazon EBS와 같은 하나의 스토리지 유형만 사용합니다. 
+  모든 스토리지 계층을 기준으로 한 실제 테스트 없이 워크로드 전체에 프로비저닝된 IOPS를 사용합니다. 
+  모든 워크로드의 스토리지 액세스 성능 요구 사항이 비슷하다고 가정합니다. 

 **이 모범 사례 수립의 이점:** 모든 스토리지 서비스 옵션을 평가하면 인프라 비용과 워크로드를 유지 관리하는 데 필요한 노력을 줄일 수 있습니다. 새로운 서비스와 기능의 배포에 대한 출시 시간을 가속화할 수 있습니다. 

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

## 구현 가이드
<a name="implementation-guidance"></a>

 스토리지 특성 결정: 스토리지 솔루션을 평가할 때는 공유 기능, 파일 크기, 캐시 크기, 지연 시간, 처리량(throughput) 및 데이터 지속성 등 필요한 스토리지 특성이 무엇인지 결정합니다. 그런 다음 요구 사항에 가장 적합한 AWS 서비스에 요구 사항을 맞춥니다. 

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

 **관련 문서:** 
+  [AWS의 클라우드 스토리지](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Amazon EBS 볼륨 유형](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Amazon EC2 스토리지](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: Amazon EFS 성능](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre 성능](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server 성능](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: Amazon Glacier 설명서](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: 요청 속도 및 성능 고려 사항](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [AWS의 클라우드 스토리지](https://aws.amazon.com/products/storage/) 
+  [AWS의 클라우드 스토리지](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [EBS I/O 특성](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **관련 동영상:** 
+  [Deep dive on Amazon EBS(STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3(STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **관련 예시:** 
+  [Amazon EFS CSI 드라이버](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI 드라이버](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS 유틸리티](https://github.com/aws/efs-utils) 
+  [Amazon EBS 자동 확장](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Amazon S3 예시](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF03-BP03 액세스 패턴과 지표를 기준으로 결정
<a name="perf_right_storage_solution_optimize_patterns"></a>

 워크로드의 액세스 패턴을 기준으로 스토리지 시스템을 선택하고, 워크로드에서 데이터에 액세스하는 방법을 결정하여 이러한 스토리지 시스템을 구성합니다. 블록 스토리지 대신 객체 스토리지를 선택하여 스토리지 효율성을 높이십시오. 선택한 스토리지 옵션을 데이터 접근 패턴과 일치하도록 구성합니다. 

 데이터에 액세스하는 방식은 스토리지 솔루션의 성능에 영향을 줍니다. 따라서 성능을 극대화하려면 접근 패턴에 가장 적합한 스토리지 솔루션을 선택하거나, 스토리지 솔루션에 따라 접근 패턴을 변경하는 것이 좋습니다. 

 RAID 0 어레이를 생성하면 단일 볼륨에서 프로비저닝할 때보다 파일 시스템의 성능 수준을 더 높일 수 있습니다. 내결함성보다 I/O 성능이 더 중요할 때는 RAID 0를 사용하는 것이 좋습니다. 예를 들어 데이터 복제가 이미 별도로 설정되어 있으며 사용 빈도가 매우 높은 데이터베이스의 경우에는 RAID 0를 사용해야 합니다. 

 워크로드에 사용된 모든 스토리지 옵션에서 워크로드에 적절한 스토리지 지표를 선택합니다. 버스트 크레딧을 이용하는 파일 시스템을 사용하는 경우에는 이러한 크레딧 제한에 근접할 때 알림을 제공하는 경보를 생성합니다. 전체 워크로드 스토리지 상태를 보여주는 스토리지 대시보드를 생성해야 합니다. 

 Amazon EBS 또는 Amazon FSx와 같이 크기가 고정된 스토리지 시스템의 경우 전체 스토리지 크기 대비 사용된 스토리지의 양을 모니터링해야 하며, 임계값에 도달할 때 스토리지 크기를 늘릴 수 있는 자동화 기능을 생성해야 합니다. 

 **일반적인 안티 패턴:** 
+  고객이 불만을 제기하지 않으면 스토리지 성능이 적절한 것이라고 가정합니다. 
+  모든 워크로드가 해당 계층 내에서 적합하다고 가정하고 하나의 스토리지 계층만 사용합니다. 

 **이 모범 사례 수립의 이점:** 성능 및 리소스 사용률을 최적화하려면 통합된 운영 보기, 세분화된 실시간 데이터 및 기간별 참조가 필요합니다. 1초의 세분성을 포함하는 자동 대시보드와 데이터를 생성하여 데이터에 대한 지표 산술을 수행하고 스토리지 요구 사항에 대한 운영 및 사용률 인사이트를 도출할 수 있습니다. 

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

## 구현 가이드
<a name="implementation-guidance"></a>

 스토리지 사용량 및 액세스 패턴 최적화: 워크로드 액세스 패턴 및 사용 가능한 스토리지 옵션의 특성에 따라 스토리지 시스템을 선택합니다. 오버헤드를 줄이면서 요구 사항을 충족할 수 있는 최적의 데이터 저장 위치를 결정합니다. 스토리지의 특성에 따라 데이터를 구성하고 데이터와 상호 작용할 때는 성능 최적화 및 액세스 패턴을 사용합니다(예: 볼륨 스트라이핑 또는 데이터 분할). 

 스토리지 옵션에 적합한 지표 선택: 워크로드에 적합한 스토리지 지표를 선택해야 합니다. 각 스토리지 옵션은 워크로드의 시간대별 성능을 추적할 수 있는 다양한 지표를 제공합니다. 스토리지 버스트 지표를 기준으로 측정해야 합니다(예: Amazon EFS의 버스트 크레딧 모니터링). Amazon Elastic Block Store 또는 Amazon FSx와 같이 크기가 고정된 스토리지 시스템의 경우 사용된 스토리지의 양과 전체 스토리지 크기를 비교하여 모니터링해야 합니다. 임계값에 도달하면 가능한 경우 스토리지 크기를 늘리는 자동화를 생성합니다. 

 지표 모니터링: Amazon CloudWatch는 아키텍처의 리소스 전반에서 지표를 수집할 수 있습니다. 또한 사용자 지정 지표를 수집하고 게시하여 비즈니스 또는 파생 지표를 파악할 수도 있습니다. CloudWatch 또는 타사 솔루션을 사용하여 임계값 위반 시점을 나타내는 경보를 설정합니다. 

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

 **관련 문서:** 
+  [Amazon EBS 볼륨 유형](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Amazon EC2 스토리지](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: Amazon EFS 성능](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre 성능](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server 성능](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: Amazon Glacier 설명서](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: 요청 속도 및 성능 고려 사항](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [AWS의 클라우드 스토리지](https://aws.amazon.com/products/storage/) 
+  [EBS I/O 특성](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Amazon CloudWatch를 사용한 Amazon EBS 성능 모니터링 및 이해](https://aws.amazon.com/blogs/storage/valuable-tips-for-monitoring-and-understanding-amazon-ebs-performance-using-amazon-cloudwatch/) 

 **관련 동영상:** 
+  [Deep dive on Amazon EBS(STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3(STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **관련 예시:** 
+  [Amazon EFS CSI 드라이버](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI 드라이버](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS 유틸리티](https://github.com/aws/efs-utils) 
+  [Amazon EBS 자동 확장](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Amazon S3 예시](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 