청구 보고서 이해하기

이 페이지에서는 Firestore 청구 보고서를 이해하는 데 도움이 되는 팁과 리소스를 제공합니다. 이 페이지에서는 다음의 일반적인 결제 관련 문의를 다룹니다.

  • 앱 사용량 외에 비용 출처에는 가져오기 작업, 내보내기 작업, 콘솔 사용량이 포함됩니다.
  • 앱 내에서 실시간 업데이트, 노옵스(no-ops) 쓰기, 쿼리 오프셋을 사용하면 사용량이 예상보다 빠르게 증가할 수 있습니다.
  • Console에서 사용량 대시보드를 사용할 때 대시보드와 청구 보고서 간의 불일치를 확인합니다.

가져오기 및 내보내기 사용량

청구 보고서를 분석할 때 가져오기 및 내보내기 작업과 관련된 비용을 검토하세요. 이러한 작업은 Firestore 청구에 합산되는 읽기 및 쓰기 작업을 수행합니다. 이러한 작업은 데이터 가져오기 및 내보내기 빈도에 따라 청구 작업의 상당 부분을 구성할 수 있습니다.

콘솔의 사용량 대시보드에는 가져오기 및 내보내기 작업의 읽기 및 쓰기는 반영되지 않습니다. 가져오기/내보내기 작업 및 관련 비용은 다음과 같은 방법으로 확인할 수 있습니다.

청구 라벨

내보내기 및 가져오기 작업은 읽기 및 쓰기 작업에 goog-firestoremanaged:exportimport 라벨을 적용합니다. Cloud Billing 보고서 페이지에서 이 라벨을 사용하여 가져오기 및 내보내기 작업과 관련된 비용을 볼 수 있습니다.

필터 메뉴에서 goog-firestoremanaged 라벨에 액세스합니다.

최근 작업 나열

Console 또는 gcloud을 사용하여 최근 가져오기 및 내보내기 작업을 볼 수 있습니다.

콘솔

Google Cloud 콘솔의 Firestore 가져오기/내보내기 페이지에서 최근 내보내기 및 가져오기 작업 목록을 볼 수 있습니다.

가져오기/내보내기 페이지로 이동

gcloud

operations list 명령어를 사용하면 모든 실행 중인 작업과 최근에 완료된 내보내기/가져오기 작업을 볼 수 있습니다.

gcloud firestore operations list

관리자 작업 감사 로그

Firestore는 내보내기 작업, 가져오기 작업, 색인 생성 작업에 대한 감사 로그를 작성합니다. 자세한 내용은 Firestore 감사 로깅 정보를 참조하세요.

Console 사용량

Firebase Console 및 Cloud Console의 Firestore 데이터 뷰어가 수행한 읽기 작업은 Firestore 청구 사용량에 포함되지 않습니다. Firestore 페이지를 열거나 새로고침하면 Console에서 문서를 로드하여 페이지를 채웁니다. Firestore 페이지가 열려 있으면 Console에서 실시간 쿼리를 사용하여 표시되는 문서와 컬렉션을 업데이트합니다.

사용량을 분석할 때 Console 사용량을 Firestore 작업의 다른 출처로 고려하세요. 청구 보고서에서는 콘솔 트래픽을 애플리케이션 트래픽과 구분할 수 있는 방법이 없습니다.

청구 작업

가격 책정 정보 외에도 앱에서 예상보다 빠르게 청구 비용이 증가할 수 있는 다음 작업이 있는지 검토하세요.

  • 실시간 업데이트

    쿼리 결과를 수신 대기하면 결과 집합의 문서가 추가되거나 업데이트될 때마다 읽기 요금이 부과됩니다. 또한 결과 집합에서 문서가 삭제될 때도 문서가 변경되므로 읽기 요금이 부과됩니다. 반면, 문서 자체가 삭제되면 읽기 요금이 부과되지 않습니다.

    실시간 리스너의 범위를 검토합니다. 광범위한 쿼리의 결과를 수신하거나 전체 컬렉션을 수신 대기하면 필요한 것보다 많은 읽기 작업이 수행될 수 있습니다.

  • 노옵스(no-ops) 쓰기 및 노옵스(no-ops) 삭제

    노옵스(no-ops)는 이 문서에서 변경한 사항이 없는 작업입니다. 노옵스(no-ops) 쓰기 및 삭제 요금이 계속 부과됩니다.

    삭제 작업의 경우 해당 문서가 없는 경우에도 요금이 부과됩니다.

    쓰기 작업의 경우 변경한 사항이 없어도 요금이 부과됩니다. 예를 들어 문서 필드를 동일한 필드 값으로 업데이트하는 작업에는 요금이 부과됩니다.

  • 쿼리 오프셋

    쿼리 오프셋은 지정된 수의 쿼리 결과를 건너뛰지만 건너뛴 결과는 여전히 청구에 집계됩니다. 이 같은 추가 비용이 부과되므로 오프셋 대신 커서를 사용해야 합니다.

사용량 대시보드 불일치

Firebase 및 Cloud Console의 Firestore 사용량 대시보드는 예상 사용량을 제공합니다. 이는 사용량 급증을 식별하는 데 도움이 됩니다. 하지만 대시보드는 청구 작업의 정확한 뷰가 아닙니다. 청구 사용량이 더 높을 수 있습니다. 불일치가 발생하는 경우 언제나 청구 보고서가 사용량 대시보드보다 우선합니다.

사용량 대시보드와 청구 사용량 사이에 불일치를 일으킬 수 있는 작업은 다음과 같습니다.

  • 가져오기 및 내보내기 작업 이러한 작업으로 수행되는 읽기 및 쓰기는 사용량 대시보드에 표시되지 않습니다.
  • 노옵스(no-ops) 확인 전용 쓰기: 문서의 존재 여부만 확인하는 쓰기는 청구 대상 읽기 작업에 속하지만 쓰기 사용량 대시보드에 각각 'UPDATE_NOOP' 및 'DELETE_NOOP'로 표시됩니다.
  • 노옵스(no-ops) 쓰기: 필드 값을 변경하지 않는 업데이트 또는 삭제된 문서에 대한 쓰기 등 데이터베이스가 변경되지 않는 작업은 사용량 대시보드에 'UPDATE_NOOP' 또는 'DELETE_NOOP'로 표시될 수 있습니다. 'NOOP'로 표시되더라도 청구 대상 작업에 속합니다.
  • 축소된 쓰기: 동일한 문서에 여러 번의 쓰기 작업이 연속으로 빠르게 발생하는 경우 사용량 대시보드는 여러 번의 쓰기를 한 번의 쓰기로 축소하여 계산할 수 있습니다. 청구 사용량에서 각각의 쓰기는 별도로 계산됩니다.

    또한 사용량 대시보드는 서버 타임스탬프, 숫자 증가, 배열 통합 작업과 같은 필드 변환에 대한 쓰기도 축소합니다. 사용량 대시보드는 필드 변환의 여러 작업을 단일 작업으로 계산할 수 있습니다.

  • 0개의 결과를 반환하는 쿼리: 결과가 0개인 쿼리는 읽기 작업 1회에 대한 비용이 발생합니다. 이 사용량에는 요금이 청구되지만 사용량 대시보드에는 표시되지 않습니다.
  • 색인 항목 읽기의 읽기 작업. 이 사용량에는 요금이 청구되지만 사용량 대시보드에는 표시되지 않습니다. 예를 들어 집계 쿼리는 읽은 색인 항목에 대해 요금이 청구되지만 이 사용량은 사용량 대시보드에 표시되지 않습니다.

다음 단계

청구 보고서에 대한 자세한 내용은 Cloud Billing 지원에 문의하세요.