스토리지 아키텍처 선택 - 성능 효율성 원칙

스토리지 아키텍처 선택

특정 시스템에 대한 최적의 스토리지 솔루션은 접근 방법의 종류(블록, 파일, 객체), 접근 패턴(랜덤 또는 순차), 필요한 처리량, 접근 빈도(온라인, 오프라인, 보관), 업데이트 빈도(WORM, 동적) 및 가용성과 내구성 제약 사항에 따라 다릅니다. Well-Architected 시스템은 여러 개의 스토리지 솔루션을 사용하고 다양한 특성을 사용하여 성능을 향상시킵니다.

AWS에서 스토리지는 가상화되며 다양한 유형으로 제공됩니다. 따라서 요구 사항에 적합한 스토리지 방식을 보다 쉽게 찾고 온프레미스 인프라에서는 쉽게 얻을 수 없는 다양한 스토리지 옵션을 사용할 수 있습니다. 예를 들어, Amazon S3는 99.999999999%의 내구성을 제공하도록 설계되었습니다. 또한 마그네틱 HDD(하드 디스크 드라이브)에서 SSD로 변경할 수 있으며, 몇 초 안에 한 인스턴스에서 다른 인스턴스로 가상 드라이브를 쉽게 이동할 수 있습니다.

처리량, 초당 입/출력 작업 수(IOPS) 및 지연 시간을 파악하여 성능을 측정할 수 있습니다. 이러한 측정값 간의 관계를 파악하면 가장 적절한 스토리지 솔루션을 선택할 수 있습니다.

스토리지

서비스

지연 시간

처리량

공유 가능

블록

Amazon EBS,

EC2 인스턴스 스토어

가장 낮음, 일관적임

단일

EC2 인스턴스에 마운트되며 스냅샷을 통해 복사됨

파일 시스템

Amazon EFS, Amazon FSx

낮음, 일관적임

다중

여러 클라이언트

객체

Amazon S3

짧은 지연 시간

웹 규모

여러 클라이언트

아카이빙

Amazon S3 Glacier

몇 분에서 몇 시간 사이

처리량은

아니요

지연 시간 측면에서 볼 때 인스턴스 하나만 데이터에 접근하는 경우에는 Amazon EBS 등의 블록 스토리지를 사용해야 합니다. Amazon EFS 등의 분산 파일 시스템에서는 각 파일 작업 시의 지연 시간 오버헤드가 짧으므로 여러 인스턴스가 데이터에 접근해야 하는 경우에는 이러한 시스템을 사용해야 합니다.

Amazon S3에는 지연 시간을 줄이고 처리량을 늘릴 수 있는 기능이 있습니다. CRR(리전 간 복제)를 사용하면 여러 지리적 리전에서 지연 시간이 더 짧은 데이터 접근 기능을 제공할 수 있습니다.

처리량 측면에서 볼 때는 여러 스레드와 EC2 인스턴스에서 동시에 작업을 수행하는 등의 방식을 통해 고도로 병렬화된 워크로드를 지원하는 Amazon EFS를 사용하면 초당 작업 수와 집계 처리량 수준을 높일 수 있습니다. Amazon EFS에서는 벤치마크 또는 로드 테스트를 사용해 적절한 성능 모드를 선택합니다.

스토리지 특성 및 요구 사항 파악: 객체 스토리지, 블록 스토리지, 파일 스토리지 또는 인스턴스 스토리지 등 워크로드에 가장 적합한 서비스를 선택하는 데 필요한 다양한 특성(예: 공유 가능 여부, 파일 크기, 캐시 크기, 액세스 패턴, 지연 시간, 처리량, 데이터 지속성)을 파악합니다.

워크로드의 예상 증가율을 확인하고 해당 속도에 맞는 스토리지 솔루션을 선택합니다. Amazon S3 및 Amazon Elastic File System과 같은 객체 및 파일 스토리지 솔루션은 무제한 스토리지를 지원합니다. Amazon EBS의 스토리지 크기는 미리 결정되어 있습니다. 탄력적 볼륨을 사용하면 가동 중지나 성능 영향 없이 용량을 동적으로 늘리고 성능을 튜닝하며 최신 또는 기존의 현재 세대 볼륨의 유형을 변경할 수 있지만 이를 위해서는 OS 파일 시스템을 변경해야 합니다.

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

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

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

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

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

Amazon FSx 는 엔터프라이즈 워크로드를 위한 Amazon FSx for Windows File Server 와 고성능 워크로드를 위한 Amazon FSx for Lustre 의 두 가지 파일 시스템을 제공합니다. FSx는 SSD를 지원하며 빠르고 예측 가능하고 확장 가능하며 일관된 성능을 제공하도록 설계되었습니다. Amazon FSx 파일 시스템은 지속적인 고속 읽기 및 쓰기 속도와 일관되게 짧은 지연 시간의 데이터 접근을 제공합니다. 워크로드의 요구 사항에 따라 필요한 처리량 수준을 선택할 수 있습니다.

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

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

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

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

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