클라우드 워크로드에 최적화된 스토리지 전략 설계

Last reviewed 2024-03-14 UTC

이 가이드는 클라우드 워크로드의 스토리지 요구사항을 평가하고, Google Cloud에서 사용 가능한 스토리지 옵션을 이해하고, 최적의 비즈니스 가치를 제공하는 스토리지 전략을 설계하는 데 도움이 됩니다.

주요 설계 추천에 대한 시각적 요약은 결정 트리 다이어그램을 참조하세요.

이전에 이 문서를 읽었고 변경사항에 대한 요약이 필요하면 변경 로그 섹션을 참조하세요.

설계 프로세스 개요

클라우드 설계자는 클라우드 워크로드에 맞게 스토리지를 계획할 때 먼저 워크로드의 기능 특성, 보안 제약조건, 복원력 요구사항, 성능 기대 수준, 비용 목표를 고려한 후 Google Cloud에서 사용할 수 있는 스토리지 서비스 및 기능을 검토해야 합니다. 그런 다음 요구사항과 사용 가능한 옵션에 따라 필요한 스토리지 서비스와 기능을 선택합니다.

다음 다이어그램은 이 3단계 설계 프로세스를 보여줍니다.

클라우드 워크로드를 위한 스토리지 설계의 단계별 접근 방식

요구사항 정의

이 섹션의 설문지를 사용하여 Google Cloud에 배포하려는 워크로드의 주요 스토리지 요구사항을 정의합니다.

스토리지 요구사항 정의 가이드라인

설문지에 답변할 때 다음 가이드라인을 고려하세요.

  • 세부적인 요구사항 정의

    예를 들어 애플리케이션에 네트워크 파일 시스템(NFS) 기반 파일 스토리지가 필요한 경우 필요한 NFS 버전을 파악합니다.

  • 향후 요구사항 고려

    예를 들어 현재 배포에서 아시아 내 국가의 사용자에게 서비스를 제공할 수 있지만 비즈니스를 다른 대륙으로 확장할 수도 있습니다. 이 경우 새 비즈니스 영역의 스토리지 관련 규제 요건을 고려하세요.

  • 클라우드별 기회 및 요구사항 고려

    • 클라우드 관련 기회를 활용하세요.

      예를 들어 Cloud Storage에 저장된 데이터의 스토리지 비용을 최적화하기 위해 데이터 보관 정책 및 수명 주기 구성을 사용하여 저장 기간을 조정할 수 있습니다.

    • 클라우드별 요구사항을 고려하세요.

      예를 들어 온프레미스 데이터가 단일 데이터 센터에 있을 수 있으며 중복화를 위해 마이그레이션된 데이터를 두 Google Cloud 위치에 복제해야 할 수 있습니다.

설문지

다음 설문지는 계획에 완벽한 체크리스트가 아닙니다. 이를 Google Cloud에 배포하려는 워크로드의 모든 스토리지 요구사항을 체계적으로 분석하기 위한 시작점으로 사용하세요.

워크로드의 특성 평가

  • 어떤 종류의 데이터를 저장해야 하나요?

    예시

    • 정적 웹사이트 콘텐츠
    • 재해 복구를 위한 백업 및 보관처리
    • 규정 준수를 위한 감사 로그
    • 사용자가 직접 다운로드하는 큰 데이터 객체
    • 트랜잭션 데이터
    • 구조화되지 않은 이기종 데이터

  • 용량이 얼마나 필요한가요? 현재 및 향후 요구사항을 고려하세요.

  • 사용량에 따라 용량을 자동으로 조정해야 하나요?

  • 액세스 요구사항은 무엇인가요? 예를 들어 Google Cloud 외부에서 데이터에 액세스할 수 있어야 하나요?

  • 예상되는 읽기-쓰기 패턴은 무엇인가요?

    예시

    • 자주 쓰기 및 읽기
    • 자주 쓰지만 가끔 읽기
    • 가끔 쓰기 및 읽기
    • 가끔 쓰지만 자주 읽기

  • 워크로드에 NFS를 사용하는 파일 기반 액세스가 필요한가요?

  • 여러 클라이언트가 동시에 데이터를 읽거나 쓸 수 있어야 하나요?

보안 제약조건 식별

  • 데이터 암호화 요구사항은 무엇인가요? 예를 들어, 개발자가 제어하는 키를 사용해야 하나요?

  • 데이터 보존 요구사항이 있나요?

데이터 복원력 요구사항 정의

  • 워크로드에 지연 시간이 짧은 캐싱 또는 스크래치 공간이 필요한가요?
  • 중복화를 위해 데이터를 클라우드에 복제해야 하나요?
  • 복제된 데이터세트에 엄격한 읽기-쓰기 일관성이 필요한가요?

성능 기대치 설정

  • 필요한 I/O 비율은 얼마인가요?

  • 애플리케이션에 필요한 읽기 및 쓰기 처리량의 수준은 무엇인가요?

  • 어떤 환경에 저장해야 하나요? 특정 워크로드에서는 프로덕션 환경에 대한 고성능 스토리지가 필요할 수 있지만 비프로덕션 환경에 더 낮은 성능 옵션을 선택할 수 있습니다.

스토리지 옵션 검토

Google Cloud는 모든 주요 스토리지 형식인 블록, 파일, 객체를 위한 스토리지 서비스를 제공합니다. 각 스토리지 형식에 사용할 수 있는 서비스의 기능, 디자인 옵션, 상대적 이점을 검토하고 평가합니다.

개요

블록 스토리지

블록 스토리지에 저장한 데이터는 청크로 분할되며, 각 청크는 고유 주소가 있는 별도의 블록으로 저장됩니다. 애플리케이션은 적절한 블록 주소를 참조하여 데이터에 액세스합니다. 블록 스토리지는 트랜잭션 처리와 같이 IOPS가 높은 워크로드에 최적화되어 있습니다. 이는 온프레미스 스토리지 영역 네트워크(SAN) 및 직접 연결 스토리지(DAS) 시스템과 유사합니다.

Google Cloud의 블록 스토리지 옵션은 Compute Engine 서비스의 일부입니다.

옵션 개요
Persistent Disk Compute Engine VM 및 Google Kubernetes Engine(GKE) 클러스터에 배포된 엔터프라이즈 및 데이터베이스 애플리케이션용 전용 하드 디스크 드라이브(HDD) 및 솔리드 스테이트 드라이브(SSD)입니다.
Google Cloud Hyperdisk Compute Engine VM을 위한 빠르고 중복된 네트워크 스토리지로, 구성 가능한 성능과 볼륨을 동적으로 조정할 수 있습니다.
로컬 SSD 고성능 애플리케이션을 위한 임시 로컬 연결 블록 스토리지입니다.

파일 스토리지

데이터는 온프레미스 네트워크 연결 스토리지(NAS)와 마찬가지로 폴더에 저장된 파일의 계층 구조로 구성되고 표현됩니다. NFS 및 서버 메시지 블록(SMB)과 같은 프로토콜을 사용하여 클라이언트에 파일 시스템을 마운트할 수 있습니다. 애플리케이션은 관련 파일 이름과 디렉터리 경로를 사용하여 데이터에 액세스합니다.

Google Cloud는 파일 스토리지를 위한 다양한 완전 관리형 및 서드 파티 솔루션을 제공합니다.

솔루션 개요
Google Cloud Filestore

Compute Engine VM 및 Google Kubernetes Engine 클러스터용 NFSv3 파일 서버

사용 사례에 적합한 서비스 등급(기본, 대규모, 엔터프라이즈)을 선택할 수 있습니다.

Google Cloud NetApp Volumes NFSv3, NFSv4.1 또는 SMB를 사용하는 파일 기반 스토리지입니다.
추가 옵션 파일 서버 옵션 요약을 참조하세요.

객체 스토리지

데이터는 버킷의 플랫 계층 구조에 객체로 저장됩니다. 각 객체에는 전역적으로 고유한 ID가 할당됩니다. 객체에 시스템 할당 및 사용자 정의 메타데이터가 포함되어 데이터를 정리하고 관리할 수 있습니다. 애플리케이션은 REST API 또는 클라이언트 라이브러리를 사용하여 객체 ID를 참조해 데이터에 액세스합니다. 객체 스토리지는 확장 기능 면에서 온프레미스 SAN과 비슷하지만 관리하기 쉽고 비용이 저렴합니다.

Cloud Storage는 다양한 데이터 유형에 적합한 저가의 내구성 높은 무제한 객체 스토리지를 제공합니다. Cloud Storage에 저장된 데이터는 Google Cloud 안팎의 어디에서든지 액세스할 수 있습니다. 리전 간의 선택적인 중복성은 최대한의 안정성을 제공합니다. 데이터 보관 및 액세스 빈도 요구사항에 맞는 스토리지 클래스를 선택할 수 있습니다.

비교 분석

다음 표에서는 Google Cloud에서 사용되는 스토리지 서비스의 주요 기능을 비교 분석합니다.

Persistent Disk 하이퍼디스크 로컬 SSD Filestore Google Cloud NetApp Volumes Cloud Storage
용량

디스크당 10GiB~64TiB

VM당 257TiB

디스크당 4GiB~64TiB

VM당 512TiB

디스크당 375GiB

VM당 12TiB

Filestore 인스턴스당 1~100TiB(최소 및 최대 용량과 확장 증분은 서비스 등급에 따라 다름)

스토리지 풀당 2~500TiB

볼륨당 100GiB~100TiB

하한 또는 상한 없음
확장
  • 수직 확장
  • 디스크 추가 및 삭제
  • 관리형 인스턴스 그룹을 사용하여 자동 확장
성능과 용량을 동적으로 확장 확장 불가능
  • 기본 등급: 수직 확장
  • 엔터프라이즈 및 영역 등급: 수직 확장 및 축소
확장 및 축소 사용량에 따라 자동으로 확장
공유
제한된 공유
  • 읽기 전용: 여러 VM
  • 멀티 작성자: VM 2개
공유할 수 없음 공유할 수 없음 여러 Compute Engine VM, 원격 클라이언트, GKE 클러스터에 마운트 가능 여러 Compute Engine VM 및 GKE 클러스터에 마운트 가능
  • 어디서나 읽기/쓰기
  • Cloud CDN 및 서드 파티 CDN과 통합
암호화 키
Google 관리 키, 고객 관리 키 또는 고객 제공 키 Google 관리 키, 고객 관리 키 또는 고객 제공 키 Google 관리 키
  • Google 관리 키(모든 서비스 등급)
  • 고객 관리 키(엔터프라이즈 및 영역 등급)
Google 관리 키 또는 고객 관리 키 Google 관리, 고객 관리 또는 고객 제공
지속성
디스크 수명 디스크 수명 임시(VM이 중지 또는 삭제될 때까지 데이터가 유지됨) Filestore 인스턴스 수명 볼륨 수명 버킷 수명
가용성
영역 영역
  • 엔터프라이즈 인스턴스의 리전 가용성, 기본 및 영역 인스턴스의 영역 가용성
  • 엔터프라이즈 및 영역 인스턴스의 스냅샷
  • 백업
성능
디스크 크기 및 CPU 수를 기준으로 높은 성능으로 선형 확장 동적으로 확장 가능한 고성능 영구 스토리지 고성능 스크래치 스토리지
  • 기본 등급: 일관된 성능
  • 엔터프라이즈 및 영역 등급: 성능 선형 확장

확장 가능한 성능

예상 값은 서비스 수준에 따라 다름

자동 확장 읽기-쓰기 속도 및 동적 부하 재분산
관리
수동 포맷 및 마운트 수동 포맷 및 마운트 수동 포맷, 스트라이프, 마운트 완전 관리형 완전 관리형 완전 관리형
워크로드
  • IOPS 집약적이거나 지연 시간에 민감한 애플리케이션
  • 데이터베이스
  • 공유 읽기 전용 스토리지
  • 신속하고 지속적인 VM 백업
  • 성능 집약적인 워크로드
  • 수평 확장 분석
  • 플래시 최적화 데이터베이스
  • 분석을 위한 핫 캐싱
  • 스크래치 디스크
  • 온프레미스 파일 시스템 리프트 앤 시프트
  • 공유 구성 파일
  • 일반적인 도구 및 유틸리티
  • 중앙 집중식 로그
  • 온프레미스 파일 시스템 리프트 앤 시프트
  • 공유 구성 파일
  • 일반적인 도구 및 유틸리티
  • 중앙 집중식 로그
  • Windows 워크로드
  • 동영상 스트리밍
  • 미디어 애셋 라이브러리
  • 처리 성능이 뛰어난 데이터 레이크
  • 백업 및 보관처리
  • 롱테일 콘텐츠

스토리지 옵션 선택

스토리지 옵션은 두 부분으로 이루어집니다.

  • 필요한 스토리지 서비스 결정
  • 특정 서비스에서 필요한 기능 및 설계 옵션 선택

    서비스별 기능 및 설계 옵션 예시

    Persistent Disk

    • 배포 리전 및 영역
    • 리전 복제
    • 디스크 유형, 크기, IOPS(익스트림 Persistent Disk의 경우)
    • 암호화 키: Google 관리, 고객 관리 또는 고객 제공
    • 스냅샷 일정

    하이퍼디스크

    • 배포 영역
    • 디스크 유형, 크기, IOPS
    • 암호화 키: Google 관리, 고객 관리 또는 고객 제공
    • 스냅샷 일정

    Filestore

    • 배포 리전 및 영역
    • 인스턴스 등급
    • 용량
    • IP 범위: 자동 할당 또는 커스텀
    • 액세스 제어

    NetApp Volumes

    • 배포 리전
    • 스토리지 풀의 서비스 수준
    • 풀 및 볼륨 용량
    • 볼륨 프로토콜
    • 볼륨 내보내기 규칙

    Cloud Storage

    • 위치: 멀티 리전, 이중 리전, 단일 리전
    • 스토리지 클래스: Standard, Nearline, Coldline, Archive
    • 액세스 제어: 균일하거나 세분화된 액세스 제어
    • 암호화 키: Google 관리, 고객 관리 또는 고객 제공
    • 보관 정책

스토리지 권장사항

다음 권장사항을 시작점으로 사용하여 요구사항을 충족하는 스토리지 서비스 및 기능을 선택하세요. 이러한 권장사항은 이 문서 뒷부분의 결정 트리로도 제공됩니다.

  • 파일 기반 액세스가 필요한 애플리케이션의 경우 액세스 프로토콜, 가용성, 성능에 대한 요구사항에 따라 적절한 파일 스토리지 서비스를 선택합니다.

    액세스 프로토콜 권장사항
    NFSv3
    • 리전 가용성이 필요한 경우 Filestore Enterprise를 사용합니다.
    • 영역 가용성이 충분하지만 높은 성능이 필요한 경우 Filestore 영역 사용을 사용하세요.
    • 그렇지 않으면 Filestore 기본 또는 NetApp Volumes를 사용합니다.

    Filestore 서비스 등급 사이의 차이점에 대한 자세한 내용은 서비스 등급을 참조하세요.

    SMB 또는 NFSv4.1 NetApp Volumes를 사용합니다.

  • 고성능의 기본 스토리지가 필요한 워크로드의 경우 요구사항에 따라 로컬 SSD, Persistent Disk 또는 하이퍼디스크를 사용하세요.

    요구 사항 권장사항
    빠른 스크래치 디스크 또는 캐시

    로컬 SSD 디스크(임시)를 사용합니다.

    순차적 IOPS pd-standard 디스크 유형에 Persistent Disk를 사용합니다.
    IOPS 집약적인 워크로드 pd-extreme 또는 pd-ssd 디스크 유형에 Persistent Disk를 사용합니다.
    성능과 비용 간 균형 유지 pd-balanced 디스크 유형에 Persistent Disk를 사용합니다.
    동적으로 확장 가능한 성능 및 용량

    하이퍼디스크를 사용합니다.

    적합한 하이퍼디스크 유형을 선택하세요.

    • 하이퍼디스크 처리량은 수평 확장 분석, 비용에 민감한 앱용 데이터 드라이브, 콜드 스토리지에 권장됩니다.
    • 하이퍼디스크 익스트림은 고성능 데이터베이스와 같이 높은 I/O가 필요한 워크로드에 권장됩니다.

    • 중복화 필요 여부에 따라 영역 디스크와 리전 디스크 중에서 선택합니다.
      요구 사항 권장사항
      리전의 단일 영역 내에서 중복화 영역 Persistent Disk 또는 하이퍼디스크를 사용합니다.
      리전 내 여러 영역에 중복화 리전 Persistent Disk를 사용합니다.
      자세한 비교 분석은 Persistent Disk 옵션을 참조하세요.
  • 무제한 확장 및 전역적으로 사용 가능한 스토리지에는 Cloud Storage를 사용합니다.

    데이터 액세스 빈도와 스토리지 기간에 따라 적절한 Cloud Storage 클래스를 선택합니다.

    요구 사항 권장사항>
    액세스 빈도에 차이가 있거나 데이터 보관 기간을 알 수 없거나 예측할 수 없습니다. 자동 클래스 기능을 사용하여 각 객체의 액세스 패턴에 따라 버킷의 객체를 적절한 스토리지 클래스로 자동 전환합니다.
    대용량 액세스/데이터 레이크, 웹사이트, 스트리밍 동영상, 모바일 앱을 비롯하여 자주 액세스하는 데이터용 스토리지입니다.

    표준 스토리지 클래스를 사용합니다.

    자주 액세스하는 데이터를 캐시하고 클라이언트에 가까운 위치에서 제공하려면 Cloud CDN을 사용합니다.

    자주 액세스하지 않는 데이터를 최소 30일 동안 저장할 수 있는 저비용 스토리지입니다(예: 백업 및 롱테일 멀티미디어 콘텐츠). Nearline 스토리지 클래스를 사용합니다.
    자주 액세스하지 않는 데이터를 최소 90일 동안 저장할 수 있는 저렴한 스토리지입니다(예: 재해 복구). Coldline 스토리지 클래스를 사용합니다.
    자주 액세스하지 않는 데이터를 365일 이상 저장할 수 있는 가장 저렴한 스토리지입니다(예: 규정 준수를 위한 보관처리). Archive 스토리지 클래스를 사용합니다.

    자세한 비교 분석은 Cloud Storage 클래스를 참조하세요.

데이터 전송 옵션

적절한 Google Cloud 스토리지 서비스를 선택한 후 워크로드를 배포하고 실행하려면 데이터를 Google Cloud로 전송해야 합니다. 전송해야 하는 데이터가 온프레미스 또는 다른 클라우드 플랫폼에 있을 수 있습니다.

다음 방법을 사용해서 Google Cloud로 데이터를 전송할 수 있습니다.

  • Storage Transfer Service를 사용해 온라인으로 데이터 전송: Cloud Storage, Amazon S3, Azure Storage 서비스, 온프레미스 데이터 소스를 포함한 파일 스토리지 시스템과 객체 간에 대량의 데이터를 자동으로 전송합니다.
  • Transfer Appliance를 사용해 오프라인으로 데이터 전송: 네트워크 연결 및 대역폭을 사용할 수 없거나, 제한적이거나, 비용이 많이 드는 상황에서는 대량의 데이터를 오프라인으로 Google Cloud에 전송하고 로드합니다.
  • Cloud Storage에 데이터 업로드: Google Cloud 콘솔, gcloud CLI, Cloud Storage API 또는 클라이언트 라이브러리를 사용하여 Cloud Storage 버킷에 데이터를 온라인으로 업로드합니다.

데이터 전송 방법을 선택할 때는 데이터 크기, 시간 제약조건, 대역폭 가용성, 비용 목표, 보안, 규정 준수 요구사항과 같은 요소를 고려해야 합니다. Google Cloud로의 데이터 전송을 계획 및 구현하는 방법에 대한 자세한 내용은 Google Cloud로 마이그레이션: 대규모 데이터 세트 전송을 참조하세요.

스토리지 옵션 결정 트리

다음 결정 트리는 앞에서 설명한 Google Cloud 스토리지 권장사항을 안내합니다.

큰 이미지 보기

스토리지 전략 선택을 위한 결정 트리

다음 단계

변경 로그

이 섹션에서는 이 가이드의 중요한 기술 변경사항을 간략히 설명합니다.

날짜 변경사항 설명
2024년 3월 14일 데이터 전송 옵션 섹션이 추가되었습니다.
2023년 12월 8일 하이퍼디스크 및 로컬 SSD의 용량 숫자를 업데이트했습니다.
2023년 10월 17일 NFSv3 파일 스토리지 옵션으로 Google Cloud NetApp Volumes를 포함하도록 스토리지 권장사항과 결정 트리 다이어그램이 업데이트되었습니다.
2023년 8월 25일
  • 다음 제품 및 기능에 대한 지침이 추가되었습니다.
    • 하이퍼디스크
    • Google Cloud NetApp Volumes
    • Cloud Storage 자동 클래스
    • Filestore 영역 스냅샷
    • Filestore 영역 및 엔터프라이즈 백업
  • 결정 트리 다이어그램을 간소화하고 다음 제품 및 기능을 포함하도록 업데이트했습니다.
    • 하이퍼디스크
    • NetApp Volumes
    • Cloud Storage 자동 클래스
    • Filestore 등급
2021년 10월 6일 Filestore Enterprise에 대한 안내가 추가되었습니다.
2021년 8월 20일 최초 게시

참여자

저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자

기타 참여자: