비용 최적화: 스토리지

Last reviewed 2023-08-08 UTC

Google Cloud 아키텍처 프레임워크의 이 문서에서는 Cloud Storage, Persistent Disk, Filestore 리소스의 사용량 및 비용을 최적화하기 위한 권장사항을 제공합니다.

이 섹션의 안내는 클라우드에서 워크로드의 스토리지 프로비저닝 및 관리를 담당하는 설계자와 관리자를 대상으로 합니다.

Cloud Storage

워크로드를 위해 Cloud Storage를 계획할 경우 성능, 데이터 보관, 액세스 패턴의 요구사항을 고려하세요.

스토리지 클래스

다음 표와 같이 워크로드의 데이터 보관 및 액세스 빈도 요구사항에 적합한 스토리지 클래스를 선택합니다.

스토리지 요구사항 권장사항
자주 액세스하는 데이터(처리량 분석 또는 데이터 레이크, 웹사이트, 스트리밍 동영상, 모바일 앱) 표준 스토리지
자주 액세스하지 않는 데이터를 최소 30일 동안 저장할 수 있는 저비용 스토리지(예: 백업 및 롱테일 멀티미디어 콘텐츠) Nearline Storage
최소 90일 동안 저장할 수 있는 자주 액세스하지 않는 데이터(예: 재해 복구를 위한 데이터 복제본) Coldline Storage
최소 365일 동안 저장할 수 있는 자주 액세스하지 않는 데이터에 대한 가장 저렴한 스토리지(예: 법적 및 규제용 보관 파일) Archive Storage

위치

성능, 가용성, 데이터 중복성에 대한 요구사항에 따라 버킷의 위치를 선택합니다.

  • 리전은 리전이 최종 사용자와 가까울 때 권장됩니다. 특정 리전을 선택하면 해당 리전 내에서 중복성이 보장됩니다. 리전은 특정 지리적 영역 내에 있는 사용자가 자주 액세스하는 데이터 세트에 대해 빠르고, 중복성이 잇고, 저렴한 비용의 스토리지를 제공합니다.
  • 멀티 리전은 분산 사용자에게 고가용성을 제공합니다. 하지만 스토리지 비용은 리전보다 높습니다. 멀티 리전 버킷은 콘텐츠 제공 사용 사례와 하위 분석 워크로드에 권장됩니다.
  • 이중 리전은 고가용성 및 데이터 중복성을 제공합니다. 고성능 분석 워크로드와 컴퓨팅 및 스토리지를 여러 위치에 배치한 실제 활성-활성 버킷이 필요한 사용 사례에는 이중 리전 버킷을 사용하는 것이 좋습니다. 이중 리전을 사용하면 데이터가 저장되는 위치를 선택할 수 있으므로 규정 준수 요구사항을 충족할 수 있습니다. 예를 들어 이중 리전 버킷을 사용하여 클라우드의 데이터 복사본 간의 물리적 거리와 관련된 업종별 요구사항을 충족할 수 있습니다.

수명 주기 정책

수명 주기 정책을 정의하여 Cloud Storage에서 객체의 스토리지 비용을 최적화합니다. 이러한 정책은 특정 객체의 스토리지 클래스를 자동으로 다운로드하거나 설정한 조건에 따라 객체를 삭제하여 비용을 절약할 수 있게 해줍니다.

객체가 액세스되는 빈도 및 보관해야 할 기간에 따라 수명 주기 정책을 구성합니다. 다음은 수명 주기 정책의 예시입니다.

  • 다운그레이드 정책: 데이터 세트가 자주 액세스되지만 약 3개월 정도만 액세스될 것으로 예상됩니다. 이 데이터 세트의 스토리지 비용을 최적화하려면 Standard Storage를 사용하고 90일이 지난 객체를 Coldline Storage로 다운그레이드하도록 수명 주기 정책을 구성합니다.
  • 삭제 정책: 특정 현지 법규를 충족시키기 위해 데이터 세트를 365일 동안 보관해야 하고, 이후에는 삭제할 수 있습니다. 365일 넘게 경과된 객체를 삭제하도록 정책을 구성합니다.

    (법률 또는 규정 준수를 위해) 특정 기간 동안 보관해야 하는 데이터가 해당 날짜 또는 시간 전에 삭제되지 않도록 하려면 보관 정책 잠금을 구성합니다.

책무성

운영 요금, 네트워크 비용, 데이터 검색 비용의 책임을 지우려면 적절한 방식으로 요청자 지불 구성을 사용합니다. 이 구성을 사용하면 소유자가 아닌 데이터를 사용하는 부서 또는 팀에 비용이 부과됩니다.

모든 버킷 및 객체에 대해 비용 추적 라벨을 일관적으로 정의하고 할당합니다. 가능한 경우 라벨 지정을 자동화합니다.

중복

데이터 중복 없이 필요한 스토리지 중복성을 유지하려면 다음 기법을 사용하세요.

  • 단일 정보 소스를 통해 데이터 복원력을 유지하려면 여러 버킷에 데이터의 중복 사본이 아닌 이중 리전 또는 멀티 리전 버킷을 사용합니다. 이중 리전 및 멀티 리전 버킷은 리전 간 중복성을 제공합니다. 데이터가 2개 이상 위치에 비동기식으로 복제되고 리전별 장애로부터 보호됩니다.
  • 객체 버전 관리를 사용 설정하는 경우 새 버전이 이전 버전이 될 때 가장 오래된 객체 버전을 삭제하기 위해 수명 주기 정책을 정의하는 것이 좋습니다. 객체의 각 이전 버전은 서비스 중인 객체 버전과 동일한 요금이 청구됩니다.
  • 더 이상 필요하지 않으면 객체 버전 관리 정책을 사용 중지합니다.
  • 백업 및 스냅샷 보관 정책을 주기적으로 검토하고 불필요한 백업 및 데이터 보관을 방지하도록 조정합니다.

Persistent Disk

Compute Engine에서 배포하는 모든 VM 인스턴스에는 부트 디스크와 하나 이상의 데이터 디스크(선택사항)가 포함됩니다. 각 디스크는 프로비저닝된 크기, 리전, 디스크 유형에 따라 비용을 발생시킵니다. 스냅샷 크기에 따라 디스크에 사용하는 모든 스냅샷에 비용이 발생합니다.

다음 설계 및 운영 권장사항에 따라 영구 디스크 비용을 최적화합니다.

  • 디스크 공간을 과도하게 할당하지 않습니다. 프로비저닝 후에는 디스크 용량을 줄일 수 없습니다. 작은 디스크로 시작해서 필요할 때 크기를 늘리세요. 디스크에 저장된 데이터가 아닌 프로비저닝된 용량에 따라 영구 디스크 비용이 청구됩니다.
  • 워크로드의 성능 특성과 일치하는 디스크 유형을 선택합니다. SSD는 높은 IOPS와 처리량을 제공하지만 표준 영구 디스크보다 비용이 높습니다.

  • 영역별 중단에 대한 데이터 보호가 필수적일 때만 리전별 영구 디스크를 사용하세요. 리전별 영구 디스크는 리전 내 다른 영역에 복제되므로, 동일한 영역별 디스크 비용이 두 배가 발생합니다.

  • Cloud Monitoring을 사용해서 영구 디스크 사용을 추적하고 사용량이 낮은 디스크에 대해 알림을 설정합니다.

  • 더 이상 필요 없는 웹사이트를 삭제합니다.

  • 이후에 필요할 수 있는 데이터가 포함된 디스크의 경우에는 데이터를 저비용 Cloud Storage에 보관한 후 디스크를 삭제하는 것이 좋습니다.

  • 권장사항 허브에서 권장사항을 확인하고 대응하세요.

또한 고성능 스토리지에는 하이퍼디스크를 사용하고 임시 스토리지에는 이페머럴 디스크(로컬 SSD)를 사용하는 것이 좋습니다.

디스크 스냅샷은 기본적으로 증분되며, 자동으로 압축됩니다. 디스크 스냅샷 비용을 최적화하려면 다음 권장사항을 고려하세요.

  • 가능한 경우 데이터를 개별 영구 디스크에 정리합니다. 그런 후 선택적으로 디스크를 백업하고 디스크 스냅샷 비용을 줄일 수 있습니다.
  • 스냅샷을 만들 때는 가용성 요구사항 및 연관된 네트워크 비용에 따라 위치를 선택합니다.
  • 부팅 디스크 스냅샷을 사용해서 여러 VM을 만들려는 경우 스냅샷에서 이미지를 만든 후 이 이미지를 사용해서 VM을 만듭니다. 이 방법은 스냅샷 위치와 스냅샷을 복원할 위치 간의 데이터 이동으로 인한 네트워크 비용을 방지하는 데 도움이 됩니다.
  • 디스크 스냅샷의 장기 스토리지 비용을 최소화하도록 보관 정책을 설정합니다.
  • 더 이상 필요하지 않으면 디스크 스냅샷을 삭제합니다. 체인의 각 스냅샷에는 이전 스냅샷에 저장된 데이터가 필요할 수 있습니다. 따라서 스냅샷을 삭제해도 스냅샷의 모든 데이터가 반드시 삭제되지는 않습니다. 스냅샷에서 데이터를 명확하게 삭제하려면 체인에서 모든 스냅샷을 삭제해야 합니다.

Filestore

Filestore 인스턴스 비용은 서비스 등급, 프로비저닝된 용량, 인스턴스가 프로비저닝된 리전에 따라 달라집니다. 다음은 Filestore 인스턴스 비용을 최적화하기 위한 설계 및 운영 상의 권장사항입니다.

  • 스토리지 요구사항에 적합한 서비스 등급 및 스토리지 유형(HDD 또는 SSD)을 선택합니다.
  • 용량을 과도하게 할당하지 마세요. 작은 크기로 시작해서 나중에 필요할 때 크기를 늘리세요. Filestore 청구는 저장된 데이터가 아닌 프로비저닝된 용량을 기준으로 합니다.
  • 가능한 경우 데이터를 개별 Filestore 인스턴스에 구성합니다. 그런 다음 선택적으로 인스턴스를 백업하고 Filestore 백업 비용을 줄일 수 있습니다.
  • 리전 및 영역을 선택할 때는 클라이언트와 동일한 영역에서 인스턴스를 만드는 것이 좋습니다. Filestore 인스턴스의 영역에서 데이터 전송 트래픽에 대한 요금이 청구됩니다.
  • Filestore 백업을 저장할 리전을 결정할 때는 소스 인스턴스와 다른 리전에 백업을 저장할 때 발생하는 데이터 전송 비용을 고려하세요.
  • Cloud Monitoring을 사용하여 Filestore 인스턴스 사용을 추적하고 사용량이 낮은 인스턴스에 대해 알림을 설정합니다.
  • 사용량이 낮은 Filestore 인스턴스에 할당된 용량을 줄입니다. 기본 등급을 제외한 인스턴스의 용량을 줄일 수 있습니다.

다음 단계