스토리지 전략 선택 및 구현

Google Cloud 아키텍처 프레임워크의 이 문서에서는 스토리지를 기반으로 시스템을 배포하기 위한 권장사항을 제공합니다. 스토리지 전략을 선택하는 방법과 스토리지, 액세스 패턴, 워크로드를 관리하는 방법을 알아봅니다.

조직에서는 데이터 교환을 용이하게 하고 데이터를 안전하게 백업 및 저장하기 위해 워크로드, 초당 입출력 작업 수(IOPS), 지연 시간, 검색 빈도, 위치, 용량, 형식(블록, 파일, 객체)을 기준으로 스토리지 요금제를 선택해야 합니다.

Cloud Storage는 다음을 포함하여 안정적이고 안전한 객체 스토리지 서비스를 제공합니다.

Google Cloud에서 IOPS는 프로비저닝된 저장공간에 따라 확장됩니다. 영구 디스크와 같은 스토리지 유형은 영역별 또는 리전별로 제공되므로 수동 복제 및 백업이 필요합니다. 반면에 객체 스토리지는 가용성이 높으며, 단일 리전 또는 여러 리전에 자동으로 데이터를 복제합니다.

스토리지 유형

이 섹션에서는 시스템을 지원할 스토리지 유형을 선택하기 위한 권장사항을 제공합니다.

고성능 스토리지 요구에 대한 옵션 평가

고성능 스토리지가 필요한 컴퓨팅 애플리케이션을 위한 영구 디스크 또는 로컬 솔리드 스테이트 드라이브(SSD)를 평가합니다. Cloud Storage는 버전 관리가 가능한 변경할 수 없는 객체 저장소입니다. Cloud Storage를 Cloud CDN과 함께 사용하면 특히 자주 액세스하는 정적 객체의 비용을 최적화하는 데 도움이 됩니다.

Filestore는 고성능 공유 공간이 필요한 멀티 쓰기 애플리케이션을 지원합니다. 또한 Filestore는 네트워크 파일 시스템(NFS) 마운트를 통해 POSIX와 비슷한 파일 작업이 필요한 기존 및 최신 애플리케이션을 지원합니다.

Cloud Storage는 데이터 레이크 생성 및 보관처리 요구사항 해결과 같은 사용 사례를 지원합니다. 특히 보관 정책을 구성할 때 액세스 및 검색 비용에 따라 Cloud Storage 클래스를 선택하는 방법에 따라 절충점을 결정합니다. 자세한 내용은 클라우드 워크로드를 위한 최적의 스토리지 전략 설계를 참조하세요.

모든 스토리지 옵션은 기본적으로 Google 관리 키를 사용하여 미사용 상태와 전송 중에 암호화됩니다. Persistent Disk와 Cloud Storage 같은 스토리지 유형의 경우 자체 키를 제공하거나 Cloud Key Management Service(Cloud KMS)를 통해 관리할 수 있습니다. 프로덕션 데이터에 사용하기 전에 이러한 키를 처리하기 위한 전략을 수립합니다.

스토리지 설계를 지원하는 Google Cloud 서비스 선택

스토리지 설계를 지원하는 Google Cloud 서비스에 대해 알아보려면 다음 표를 사용하세요.

Google Cloud 서비스 설명
Cloud Storage 데이터 양에 관계없이 언제 어디서나 데이터를 저장하고 가져올 수 있습니다. Cloud Storage를 웹사이트 콘텐츠 제공, 보관 및 재해 복구를 위한 데이터 저장, 직접 다운로드를 통해 사용자에게 대량의 데이터 객체 배포 등 다양한 용도로 사용할 수 있습니다.

자세한 내용은 다음을 참조하세요.
Persistent Disk Google Cloud용 고성능 블록 스토리지입니다. Persistent Disk는 Compute Engine 또는 Google Kubernetes Engine(GKE)에서 실행 중인 인스턴스에 연결할 수 있는 SSD 및 하드 디스크 드라이브(HDD) 스토리지를 제공합니다.
  • 리전 디스크는 동일한 리전 내의 두 영역 간 데이터 복제를 지원하며 내구성 있는 스토리지를 제공합니다. IOPS를 높이고 지연 시간이 짧아야 하는 경우 Google Cloud는 Filestore를 제공합니다.
  • 로컬 SSD는 가상 머신 인스턴스를 호스팅하는 서버에 물리적으로 연결됩니다. 로컬 SSD를 임시 디스크 공간으로 사용할 수 있습니다.
Filestore 파일 시스템 인터페이스와 데이터용 공유 파일 시스템이 필요한 애플리케이션을 위해 구축한 관리형 파일 스토리지 서비스입니다. Filestore는 관리형 네트워크 연결 스토리지(NAS)를 Compute Engine 및 GKE 인스턴스와 함께 사용할 수 있는 원활한 환경을 제공합니다.
Firebase용 Cloud Storage 사진, 동영상 등 사용자 제작 콘텐츠를 저장하고 제공해야 하는 앱 개발자를 위해 마련되었습니다. 모든 파일은 Cloud Storage 버킷에 저장되므로 Firebase와 Google Cloud 모두에서 액세스할 수 있습니다.

스토리지 전략 선택

애플리케이션 요구사항을 충족하는 스토리지 전략을 선택하려면 다음 표를 사용하세요.

사용 사례 권장사항
가장 저렴한 비용으로 규모에 맞게 데이터를 저장하려고 하며 액세스 성능은 문제가 되지 않습니다. Cloud Storage
즉각적인 스토리지가 필요한 컴퓨팅 애플리케이션을 실행 중입니다.

자세한 내용은 Persistent Disk 및 로컬 SSD 성능 최적화를 참조하세요.
Persistent Disk 또는 Local SSD
공유 공간에 대한 읽기 및 쓰기 액세스가 필요한 고성능 워크로드를 실행 중입니다. Filestore
고성능 컴퓨팅(HPC) 또는 대용량 컴퓨팅(HTC) 사용 사례가 있습니다. 클러스터에서 대규모 기술 컴퓨팅을 위한 클러스터 사용

스토리지 액세스 요구사항에 따라 활성 또는 아카이브 스토리지 선택

스토리지 클래스는 모든 객체에서 사용되는 메타데이터입니다. 높은 비율과 고가용성으로 처리될 데이터의 경우 Multi-Regional Storage 또는 Regional Storage 클래스를 사용하세요. 자주 액세스하지 않으며 가용성이 약간 낮아도 되는 데이터는 Nearline Storage 또는 Coldline Storage를 사용하세요. 스토리지 클래스 선택에 대한 비용 고려사항에 대한 자세한 내용은 가져오기 및 조기 삭제를 참조하세요.

Cloud Storage의 스토리지 위치 및 데이터 보호 요구사항 평가

기본적으로 Cloud Storage 버킷은 리전으로 설정됩니다. 즉, 데이터가 리전 내 영역에 자동으로 복제됩니다. 여러 리전 간에 데이터 복제를 수행하면 리전 내에서 영역 장애가 발생할 경우 데이터를 보호할 수 있습니다.

Cloud Storage는 멀티 리전 및 이중 리전 보호 기능을 제공합니다. 멀티 리전 데이터는 미국 리전의 모든 리전 데이터 센터에 데이터를 복제합니다. 이중 리전 데이터는 두 개 이상의 고유한 리전에 복제됩니다. 자세한 내용은 버킷 위치를 참조하세요.

Cloud CDN을 사용하여 정적 객체 전송 개선

객체 검색 비용을 최적화하고 액세스 지연 시간을 최소화하려면 Cloud CDN을 사용하세요. Cloud CDN은 Cloud Load Balancing 외부 HTTP(S) 부하 분산기를 사용하여 라우팅, 상태 확인, Anycast IP 주소 지원을 제공합니다. 자세한 내용은 클라우드 버킷으로 Cloud CDN 설정을 참조하세요.

스토리지 액세스 패턴 및 워크로드 유형

이 섹션에서는 시스템을 지원하기 위해 스토리지 액세스 패턴과 워크로드 유형을 선택하기 위한 권장사항을 제공합니다.

Persistent Disk를 사용하여 고성능 스토리지 액세스 지원

데이터 액세스 패턴은 시스템 성능을 설계하는 방법에 따라 달라집니다. Cloud Storage는 확장 가능한 저장소를 제공하지만 대용량 데이터에 액세스해야 하는 처리량이 많은 컴퓨팅 워크로드를 실행하는 경우 이상적인 선택은 아닙니다. 고성능 스토리지 액세스를 위해 Persistent Disk를 사용합니다.

재시도 로직을 구현할 때 지수 백오프 사용

5XX, 408, 429 오류를 처리하기 위해 재시도 로직을 구현할 때 지수 백오프를 사용합니다. 각 Cloud Storage 버킷은 초기 I/O 용량으로 프로비저닝됩니다. 자세한 내용은 요청 비율 및 액세스 분배 가이드라인을 참조하세요. 재시도 요청에 대한 점진적인 증가를 계획합니다.

스토리지 관리

이 섹션에서는 스토리지 관리를 위한 시스템을 지원하기 위한 권장사항을 제공합니다.

모든 버킷에 고유한 이름 할당

모든 버킷 이름은 전체 Cloud Storage 네임스페이스에서 고유해야 합니다. 버킷 이름에 민감한 정보를 포함하지 마세요. 추측하기 어려운 버킷 이름과 객체 이름을 선택합니다. 자세한 내용은 버킷 이름 지정 가이드라인객체 이름 지정 가이드라인을 참조하세요.

Cloud Storage 버킷을 비공개로 유지

비즈니스 관련 이유가 없으면 Cloud Storage 버킷에 익명 또는 공개적으로 액세스할 수 있어서는 안 됩니다. 자세한 내용은 액세스 제어 개요를 참조하세요.

임의의 객체 이름을 할당하여 로드를 균등하게 분산

임의의 객체 이름을 할당하여 성능을 높이고 핫스팟을 방지합니다. 가능하면 객체에 무작위 프리픽스를 사용합니다. 자세한 내용은 키 범위를 통해 부하를 균등하게 분산하는 이름 지정 규칙 사용을 참조하세요.

공개 액세스 방지 사용

조직, 폴더, 프로젝트, 버킷 수준에서 액세스를 방지하려면 공개 액세스 방지를 사용하세요. 자세한 내용은 공개 액세스 방지 사용을 참조하세요.

다음 단계

다음을 포함한 Google Cloud 데이터베이스 서비스 및 권장사항에 대해 알아보세요.

안정성, 운영 우수성, 보안, 개인정보 보호, 규정 준수 등 아키텍처 프레임워크의 다른 카테고리 살펴보기