이 페이지에서는 Cloud Storage 버킷을 위해 SSD로 지원되는 영역 읽기 캐시를 제공하는 Anywhere Cache에 대해 설명합니다. Anywhere Cache는 사용자 요구를 충족시킬 수 있도록 캐시 및 사용 가능한 대역폭 크기를 자동으로 조정하는 방식으로 주문형 캐시 용량을 제공합니다. Anywhere Cache는 이러한 이점 덕분에 특히 읽기에 집중된 워크로드와 관련된 네트워크 비용을 줄이는 데 도움이 됩니다.
Anywhere Cache에서 캐시를 만들고 관리하는 방법은 캐시 만들기 및 관리를 참조하세요.
개요
Anywhere Cache를 사용하면 워크로드와 동일한 영역에서 캐시를 만들 수 있습니다. 영역에 캐시를 만들 때 영역에서 시작되는 데이터 읽기 요청은 버킷 대신 캐시에서 처리됩니다. 각 캐시는 캐시와 동일한 영역에서 클라이언트에 서비스를 제공합니다. 캐시와 동일한 영역에 있는 VM이 데이터를 읽을 때만 버킷의 캐시에 데이터가 수집됩니다. 메타데이터가 캐시되지 않고 객체 메타데이터에 대한 요청은 캐시 대신 버킷에서 처리됩니다.
버킷의 캐시를 만들 때는 버킷 위치 내의 영역에 캐시를 만들어야 합니다. 예를 들어 버킷이 us-east1
리전에 있으면 us-centra1-c
가 아닌 us-east1-b
에서 캐시를 만들 수 있습니다. 버킷이 ASIA
이중 리전에 있으면 asia-east1
및 asia-southeast1
리전을 구성하는 모든 영역에서 캐시를 만들 수 있습니다. 영역 목록은 Compute Engine 문서에서 리전 및 영역을 참조하세요.
각 버킷에 대해 영역당 하나의 캐시를 만들 수 있습니다. 예를 들어 버킷이 US
멀티 리전에 있고 Compute Engine VM이 us-east1-b
및 us-central1-a
영역에서 실행되는 경우 us-east1-b
에서 캐시를 만들고 us-central1-a
에서도 캐시를 만들 수 있습니다.
Anywhere Cache는 완전 관리형 캐시이며 항상 일관적인 데이터를 반환합니다.
이점
Anywhere Cache는 두 가지 방식에서 도움이 됩니다.
더 빠른 데이터 액세스: Anywhere Cache는 컴퓨팅 리소스 근처의 고성능 스토리지 기기에 데이터를 배치합니다. 네트워크 경로가 더 짧고 기기 성능이 높기 때문에 워크로드 처리량을 늘리고, 읽기를 더 빠르게 완료하고, 읽기 시 첫 바이트까지의 지연 시간을 줄일 수 있습니다.
멀티 리전 데이터 전송 요금 방지: Anywhere Cache를 사용하면 멀티 리전 버킷을 사용하여 Cloud Storage 데이터를 쿼리할 때 Compute Engine과 같은 다른 제품의 데이터 전송 요금을 방지할 수 있습니다.
어떤 경우에 Anywhere Cache를 사용해야 할까요?
Anywhere Cache는 ML 모델 학습 또는 분석 워크로드 실행에 사용되는 데이터와 같이 변경은 드물고 읽기를 자주 수행하는 데이터를 캐시하는 데 사용하는 것이 가장 좋습니다.
많은 Google Kubernetes Engine 노드에서 AI 모델을 학습한다고 가정해 보세요. 이 모든 노드는 동일한 영역에서 실행되며, Cloud Storage 버킷에 저장된 데이터를 반복적으로 읽습니다. 워크로드가 실행되는 영역에 캐시를 만들면 더 많은 대역폭을 확보할 수 있고 멀티 리전 버킷에서 데이터를 읽을 때 발생하는 데이터 전송 요금을 피할 수 있으며, 대규모 확장형 워크로드도 더 효율적으로 실행할 수 있습니다.
지원되는 위치
사용 가능한 용량이 있는 한 특정 영역에서 캐시를 만들 수 있습니다. 캐시를 만들기 위한 용량이 없는 경우 Anywhere Cache 서비스는 사용 가능한 용량이 제공될 때까지 또는 사용자가 만들기 프로세스를 중단할 때까지 캐시 만들기를 계속 시도합니다. 용량은 장기간 사용할 수 없는 상태로 유지될 수 있습니다.
각 버킷에 대해 영역당 최대 하나의 캐시를 만들 수 있습니다. 예를 들어 버킷이 us-east1
리전에 있으면 us-east1-b
와 us-east1-c
에 캐시를 만들 수 있습니다. 버킷이 us-central1
과 us-east1
에 걸쳐 있는 멀티 리전에 있으면 us-central1-a
와 us-east1-b
에 각각 캐시를 만들 수 있습니다.
다음 영역에서 Anywhere Cache를 사용할 수 있습니다. 이러한 영역은 버킷의 위치 유형에 따라 사용할 수 있습니다.
지리적 영역 | 위치 | ||||
---|---|---|---|---|---|
영역 이름 | 리전 | 이중 리전 | 멀티 리전 | 커스텀 이중 리전 | |
아시아 | |||||
asia-east1-a |
|||||
asia-east1-b |
|||||
asia-east1-c |
|||||
asia-northeast1-a |
|||||
asia-northeast1-b |
|||||
asia-northeast1-c |
|||||
asia-southeast1-a |
|||||
asia-southeast1-b |
|||||
asia-southeast1-c |
|||||
유럽 | |||||
europe-north1-a |
|||||
europe-north1-b |
|||||
europe-north1-c |
|||||
europe-west1-b |
|||||
europe-west1-c |
|||||
europe-west1-d |
|||||
europe-west4-a |
|||||
europe-west4-b |
|||||
europe-west4-c |
|||||
europe-west6-a |
|||||
europe-west6-b |
|||||
미국 | |||||
us-central1-a |
|||||
us-central1-b |
|||||
us-central1-c |
|||||
us-central1-f |
|||||
us-east1-a |
|||||
us-east1-b |
|||||
us-east1-c |
|||||
us-east1-d |
|||||
us-east4-a |
|||||
us-east4-b |
|||||
us-east4-c |
|||||
us-east5-a |
|||||
us-east5-b |
|||||
us-east5-c |
|||||
us-west1-a |
|||||
us-west1-b |
|||||
us-west1-c |
|||||
us-west4-a |
|||||
us-west4-b |
|||||
us-west4-c |
Anywhere Cache 추천자
Anywhere Cache 추천자는 데이터 사용과 스토리지를 분석하여 버킷-영역 쌍에서 캐시 만들기에 대한 권장사항과 인사이트를 제공합니다. 개요 정보 및 Anywhere Cache 추천자 사용에 대한 안내는 Anywhere Cache 추천자를 참조하세요.
캐시 작업
이 섹션에서는 Anywhere Cache 캐시에서 수행할 수 있는 작업에 대해 설명합니다. 일부 작업은 비동기적으로 수행되며 장기 실행 작업을 반환합니다. 다른 작업은 동기적으로 수행되며, 여기서 작업은 즉시 수행되고 AnywhereCache 리소스를 반환합니다.
캐시 만들기
캐시를 만들 때 다음 속성을 구성할 수 있습니다.
TTL(수명)은 데이터 청크가 마지막으로 읽은 시점부터 캐시에 존재하는 가장 긴 시간입니다. 예를 들어 TTL이 24시간으로 설정된 경우, 월요일 오전 11시에 데이터 청크를 마지막으로 읽고 이후 읽기가 수행되지 않았으면 화요일 오전 11시에 데이터 캐시가 캐시에서 제거됩니다.
TTL은 1시간부터 7일 사이의 값으로 설정할 수 있습니다. 지정하지 않은 경우 TTL 기본값은 24시간입니다.
허용 정책은 캐시가 첫 번째 부적중 시에 데이터를 수집할지, 두 번째 부적중 시에만 데이터를 수집할지를 결정합니다. 두 번째 부적중 시에 데이터 수집을 선택한 경우 지정한 TTL 내에서 데이터를 두 번째로 읽을 때만 캐시에 데이터를 수집할 수 있습니다. 두 번째 부적중 시에 데이터 수집을 선택하면 두 번 이상 읽은 객체만 캐시하도록 보장함으로써 Anywhere Cache 사용 비용을 줄일 수 있지만 캐시 적중 비율도 줄어듭니다.
지정하지 않으면 승인 정책이 기본적으로 첫 번째 적중 시 수집으로 설정됩니다.
캐시를 만들 때 캐시는 CREATING 상태로 전환되고 실제 실행이 시작되면 RUNNING 상태로 전환됩니다. 캐시 만들기 작업은 최대 48시간까지 걸릴 수 있으며, 이후에는 작업이 타임아웃됩니다.
AnywhereCaches Create API는 비동기적으로 수행됩니다. 만들기 작업을 수행하면 장기 실행 작업이 반환됩니다. 장기 실행 작업은 만들기 작업 상태를 제공하며 완료되기 전에 사용자가 작업을 취소할 수 있습니다.
캐시 업데이트
RUNNING 상태의 캐시에 대해 TTL 또는 승인 정책을 업데이트할 수 있습니다. 캐시가 업데이트되는 동안 pending_update
필드는 true
로 평가됩니다. pending_update
필드가 true
로 평가되는 동안에는 캐시를 다시 업데이트할 수 없습니다.
CREATING, PAUSED, DISABLED 상태는 업데이트할 수 없습니다. AnywhereCaches Update API는 비동기적으로 수행되며 장기 실행 작업을 반환합니다.
캐시의 TTL 업데이트가 완료되면 새로 수집되는 데이터에 새로운 TTL이 즉시 적용되며, 기존 데이터에 대해서는 해당 데이터를 읽었을 때만 적용됩니다. 즉, 캐시에 이미 저장된 데이터는 이전 TTL 설정을 계속 따릅니다. 이 설정은 데이터를 다시 읽거나 TTL이 만료되어 캐시에서 제거될 때까지 유지됩니다.
캐시 가져오기
캐시를 가져오면 Anywhere Cache가 캐시 인스턴스의 상태와 구성을 반환합니다. AnywhereCaches Get API는 동기적으로 수행되며 AnywhereCache 리소스를 반환합니다.
캐시 나열
특정 버킷의 연관된 캐시 목록을 반환할 수 있습니다. AnywhereCaches List API는 동기적으로 수행되며 페이지로 나누기를 지원합니다.
캐시 일시중지
캐시 일시중지를 통해 RUNNING 상태의 캐시에 대한 데이터 수집을 중지할 수 있습니다. 캐시가 PAUSED 상태이면 캐시에서 기존 데이터를 계속 읽을 수 있지만 캐시에 새 데이터를 수집할 수 없습니다. 캐시에서 기존 데이터를 읽으면 캐시에서 데이터 TTL이 재설정됩니다.
PAUSED 상태의 캐시를 재개하면 캐시가 RUNNING 상태로 전환됩니다.
AnywhereCaches Pause API는 동기적으로 수행되며 AnywhereCache 리소스를 반환합니다.
캐시 재개
사용 중지된 캐시가 1시간 유예 기간 내에 있으면 PAUSED 상태 또는 DISABLED 상태의 캐시를 재개할 수 있습니다. 1시간 유예 기간이 지나면 캐시가 언제든 삭제될 수 있으므로 재개 작업은 가능한 경우에만 시도됩니다. 캐시가 재개되면 RUNNING 상태로 전환됩니다.
AnywhereCaches Resume API는 비동기적으로 수행되며 AnywhereCache 리소스를 반환합니다.
캐시 사용 중지
캐시를 사용 중지하면 버킷 구성에서 캐시를 영구적으로 삭제할 수 있습니다. 캐시를 사용 중지하면 DISABLED 상태로 전환됩니다. 이 상태에서는 캐시에서 기존 데이터를 계속 읽을 수 있지만 캐시에 새 데이터를 수집할 수 없습니다.
캐시를 사용 중지한 후에는 1시간의 유예 기간 동안 캐시를 재개하여 사용 중지를 취소할 수 있습니다. 이러한 1시간 유예 기간이 지나면 캐시가 삭제됩니다. 캐시가 삭제되면 캐시 내의 모든 데이터가 제거되고 버킷에서 캐시가 삭제됩니다.
캐시가 삭제되기 전 1시간 동안 캐시를 재개하여 DISABLED 상태를 되돌릴 수 있으며, 그러면 이 때 RUNNING 상태로 캐시가 재개됩니다.
AnywhereCaches DisableAPI는 비동기적으로 수행되며 AnywhereCache 리소스를 반환합니다.
캐시 크기 및 대역폭 제한 자동 확장
Anywhere Cache는 사용자 요구에 따라 확장 및 축소되는 임시 캐시 스토리지 및 대역폭을 제공합니다. Anywhere Cache의 크기 및 대역폭 제한에 대한 자세한 내용은 Cloud Storage 할당량 및 한도를 참조하세요.
비용 관리
다음은 캐시 실행 비용을 최소화하기 위해 활용할 수 있는 몇 가지 도움말입니다.
버킷 선택: 캐시하려는 데이터가 포함된 버킷에 대해서만 캐시를 만들어야 합니다.
영역 선택: 워크로드가 캐시로 이점을 얻을 수 있는 영역에서만 캐시를 만들어야 합니다.
두 번째 읽기 시 수집: 첫 번째가 아닌 두 번째로 읽을 때만 데이터를 캐시에 저장하도록 지정할 수 있습니다. 이렇게 하면 두 번 이상 읽힌 데이터만 캐시에 보존됩니다.
TTL 설정: 캐시에 데이터를 저장하는 데 필요한 최소한의 TTL을 지정해야 합니다. TTL은 서비스 중단 없이 변경할 수 있습니다.
캐시 일시중지: 캐시를 일시중지하여 데이터 수집 및 연관된 캐시 수집 비용을 멈출 수 있습니다. 캐시를 일시중지하면 즉시 효과가 발생합니다. 지정된 TTL이 종료된 후 모든 데이터가 삭제될 때까지 캐시를 일시 중지할 수 있습니다. 모든 데이터가 삭제되면 더 이상 데이터 스토리지 비용이 청구되지 않습니다.
캐시 사용 중지: 캐시를 사용 중지하여 서비스에서 캐시를 영구적으로 삭제하고 모든 관련된 캐시 요금이 발생하지 않도록 할 수 있습니다.
제한 및 제약사항
버킷과 관련된 모든 캐시가 삭제될 때까지는 버킷을 삭제할 수 없습니다.
Anywhere Cache는 내구성 있는 스토리지가 아니며 여러 시나리오에 따라 캐시에서 데이터가 삭제될 수 있습니다. 어떤 시나리오에서는 워크로드에 충분한 리소스가 제공되도록 보장하기 위해 캐시 크기가 자동으로 조정됩니다. 이 시나리오에서는 Anywhere Cache 서비스가 캐시 크기 확장을 완료할 때까지, 가장 오래 사용된 데이터부터(LRU) 알고리즘에 따라 일부 데이터가 캐시에서 제거될 수 있습니다.
어떠한 경우에도 데이터는 소스 버킷에 안전하게 저장된 상태로 유지됩니다. TTL 만료 외에도 다양한 이유로 캐시에서 데이터가 제거될 때 Anywhere Cache 서비스는 캐시에 데이터를 투명하게 다시 수집하려고 시도하며, 비용이 발생하지 않습니다. 데이터를 투명하게 다시 수집할 수 없거나 TTL 만료로 인해 제거되었으면 Anywhere Cache 서비스가 첫 번째 또는 두 번째 읽기 시에 데이터를 다시 수집합니다.
일시적인 리소스 부족
다음 섹션에서는 SSD 용량이나 서비스 처리 용량이 부족해 지정된 영역에서 캐시를 만들거나 크기를 확장할 수 없는 등, 일시적인 리소스 부족 상황에서 Anywhere Cache가 어떻게 작동하는지를 설명합니다.
새 캐시 만들기 실패
Anywhere Cache는 SSD 용량 또는 서비스 처리 리소스 부족으로 인해 특정 영역에서 새 캐시 만들기가 실패할 수 있으며, 그 결과 일시적인 리소스 부족으로 이어질 수 있습니다. 이 기간 동안 Anywhere Cache는 최대 48시간 동안 새 캐시를 만들려고 시도합니다. 48시간 내에 리소스를 사용할 수 있게 되면 Anywhere Cache의 캐시 만들기 요청이 성공적으로 완료됩니다. 48시간 내에 리소스를 사용할 수 없으면 캐시 만들기 요청이 실패합니다. 캐싱 중단을 방지하기 위해서는 캐시 만들기 요청을 수동으로 취소하고 사용 가능한 용량이 있는 다른 영역 또는 리전에서 새 캐시를 만들 수 있습니다.
일시적으로 리소스가 부족한 동안 캐시 만들기를 모니터링하려면 장기 실행 작업 사용에 대한 Anywhere Cache 문서를 참조하세요.
캐시 크기 증가 실패
다음 두 가지 시나리오에서는 Anywhere Cache가 일시적인 리소스 부족으로 인해 캐시 크기 증가를 완료하지 못할 수 있습니다.
첫 번째는 지정된 영역에서 캐시 크기를 늘리기 위한 SSD 용량이 부족한 경우입니다. 자세한 내용은 SSD 용량 부족을 참조하세요.
두 번째는 영역에서 캐시 대역폭 한도를 조정하기에 서비스 처리 리소스가 일시적으로 부족한 경우입니다. 자세한 내용은 서비스 처리 용량 부족을 참조하세요.
SSD 용량 부족
Anywhere Cache는 필요에 따라 캐시 크기를 자동으로 증가시키지만, 이러한 캐시 크기 증가는 SSD 용량의 가용성에 따라 달라집니다. 자동 캐시 크기 증가 요청이 수행될 때 사용 가능한 SSD 용량이 없으면 일시적인 리소스 부족이 종료될 때까지 또는 캐시 크기 증가가 더 이상 필요하지 않을 때까지 Anywhere Cache가 요청을 계속 제출합니다.
일시적인 리소스 부족 시에는 새 데이터를 위한 캐시 공간을 확보하기 위해 가장 오래 사용된 데이터부터 기준에 따라 새 데이터가 수집되고 캐시의 기존 데이터가 제거됩니다. 대부분의 핫 데이터를 저장하기에 충분히 큰 캐시는 캐시 측정항목에 미치는 영향을 최소화합니다. 핫 데이터 양보다 용량이 적은 캐시를 사용할 때는 리소스 부족의 영향을 받지 않는 캐시를 사용할 때와 비교해서 데이터를 삭제하고 동일한 데이터를 다시 수집하는 빈도가 높을 수 있습니다. 캐시의 실제 크기가 필요한 용량보다 훨씬 작으면 다음과 같이 리소스 부족과 관련된 동작이 발생할 수 있습니다.
낮은 캐시 대역폭 제한, 낮은 캐시 처리량, 높은 데이터 전송 대역폭 할당량 소비, 다른 측정항목에 영향을 미칠 가능성.
결제에는 다음과 같은 방식으로 영향을 미칠 수 있습니다.
캐시 수집 요금 증가
캐시 스토리지 요금 감소
캐시 데이터 전송 요금 감소
캐시 데이터 전송 작업 요금 감소
멀티 리전 데이터 전송 요금 증가
클래스 B 작업 요금 증가
일시적인 리소스 부족 중에도 최상의 결과를 얻기 위해서는 캐시를 모니터링하고 필요에 따라 캐시 또는 워크로드를 일시중지하는 것이 좋습니다.
서비스 처리 용량 부족
캐시 크기를 늘리는 동안 특정 영역의 서비스 처리 리소스가 부족하여 기존 캐시의 대역폭 한도를 TiB당 20Gbps로 확장하지 못해 캐시 대역폭 한도(CBL) 부족 현상이 일시적으로 발생할 수 있습니다. CBL이 부족한 동안에는 Anywhere Cache에서 데이터 TiB당 20Gbps로 캐시 CBL 확장이 허용되지 않지만, 캐시가 계속 읽기 요청을 처리합니다. CBL 증가 요청은 요청마다 개별적으로 평가됩니다. CBL이 부족한 동안에는 이그레스 대역폭 소비가 증가할 수 있습니다.
일시적인 리소스 부족 중에도 최상의 결과를 얻기 위해서는 캐시를 모니터링하고 필요에 따라 캐시 또는 워크로드를 일시중지하는 것이 좋습니다.