Google Maps Platform 보고

Google Maps Platform 사용량, 할당량, 결제 번호를 정기적으로 모니터링하는 것이 중요합니다. 이러한 수치를 모니터링하면 프로젝트의 요청을 추적하고 미리 정의된 사용량 한도를 벗어나지 않고 계획된 예산을 통해 비용을 관리할 수 있습니다. 또한 프로젝트와 Google Maps Platform 서비스 간에 발생할 수 있는 예기치 않은 상호작용을 감지할 수도 있습니다.

Cloud Console

Google Cloud Console(Cloud Console이라고도 함)을 사용하여 Google Maps Platform 사용량, 할당량, 결제 번호를 모니터링하세요.

API 및 서비스

Cloud Console API 및 서비스에서는 Google Maps Platform API와 SDK, 기타 Google API와 서비스 등 프로젝트에 대해 사용 설정된 모든 API의 사용량 측정항목을 제공합니다.

API 및 서비스

API 및 서비스에 액세스하려면 다음 단계를 따르세요.

  1. Cloud Console을 엽니다.
  2. 프로젝트를 선택합니다.
  3. 메뉴 버튼 메뉴을 클릭한 다음 API 및 서비스를 클릭합니다.

Google Maps Platform

Cloud Console Google Maps Platform에서는 Google Maps Platform API와 SDK(앞으로 Google Maps Platform API 또는 간단히 API라고 함)의 사용량 및 할당량 측정항목을 제공합니다.

Google 지도 대시보드

Google Maps Platform에 액세스하려면 다음 안내를 따르세요.

  1. Cloud Console을 엽니다.
  2. 프로젝트를 선택합니다.
  3. 메뉴 버튼 메뉴을 클릭하고 '기타 Google 솔루션'까지 아래로 스크롤한 다음 Google Maps Platform을 클릭합니다.

결제

Cloud Console 결제에서는 선택한 프로젝트의 결제 및 관련 비용 정보를 제공합니다.

결제 대시보드

결제에 액세스하려면 다음 단계를 따르세요.

  1. Cloud Console을 엽니다.
  2. 프로젝트를 선택합니다.
  3. 메뉴 버튼 메뉴을 클릭한 다음 결제를 클릭합니다.
  4. 결제 계정이 여러 개인 경우 연결된 결제 계정으로 이동을 클릭합니다.
    이렇게 하면 연결된 결제 계정의 개요 페이지로 이동합니다.
  5. 왼쪽 메뉴에서 보고서를 클릭합니다.
    이렇게 하면 연결된 결제 계정의 결제 보고서 페이지로 이동합니다.

사용량 보고서

사용량은 프로젝트에서 프로젝트와 연결된 사용자 인증 정보를 사용하여 Google Maps Platform API에 보낸 요청의 수를 기반으로 합니다. 요청에는 성공적인 요청, 서버 오류를 유발한 요청, 클라이언트 오류를 유발한 요청이 포함됩니다. 사용자 인증 정보에는 API 키와 클라이언트 ID(프리미엄 플랜 및 이전된 프리미엄 플랜 프로젝트의 경우)가 포함됩니다.

사용량 측정항목은 표(요청, 오류, 지연 시간)와 그래프(트래픽, 오류, 지연 시간)로 표시됩니다. 추적 목적상:

  • 모든 API의 사용량 측정항목은 기간 및 API를 기준으로 필터링할 수 있습니다. 응답 코드, API, 사용자 인증 정보별로 그룹화된 트래픽, 오류, 지연 시간도 확인할 수 있습니다.
  • 특정 API의 사용량 측정항목은 기간 및 API 버전, 사용자 인증 정보, 메서드를 기준으로 필터링할 수 있습니다. 또한 응답 코드, API 메서드, 버전별로 그룹화된 트래픽, 오류, 지연 시간을 확인할 수 있으며 사용자 인증 정보도 확인할 수 있습니다.

API 및 서비스 대시보드 페이지

API 및 서비스 대시보드 페이지에는 프로젝트에 대해 사용 설정된 모든 API(Google Maps Platform API 및 기타 API와 서비스)의 사용량 측정항목이 간략하게 표시됩니다.

대시보드 페이지에는 그래프 세 개와 표 하나가 표시됩니다. 기간(1시간~최근 30일)을 선택하여 그래프와 표에 표시되는 사용량을 필터링할 수 있습니다.

트래픽 그래프에는 API별 초당 쿼리 수(QPS)가 표시됩니다. 오류 그래프에는 API별로 오류를 유발한 요청의 비율이 표시됩니다. 지연 시간 그래프에는 API별 요청 지연 시간의 중앙값이 표시됩니다.

그래프 아래의 표에는 사용 설정된 API와 서비스가 표시됩니다. 요청 수는 선택한 기간의 요청 수입니다. 오류 수는 이 중 오류를 유발한 요청의 수입니다. 지연 시간(중간 지연 시간 및 백분위수)은 이러한 요청의 지연 시간입니다.

자세한 내용은 API 사용량 모니터링을 참고하세요.

API 모니터링

Google 지도 개요 페이지

Google 지도 개요 페이지의 표에는 최근 30일간 사용 설정된 API 및 사용 요청이 표시됩니다. API별 요청은 그래프 형식으로도 표시됩니다. 청구 그래프에는 최근 3개월의 현재 청구액과 총 사용량이 표시됩니다.

참고: 사용 설정된 API의 이름을 클릭하면 해당 API의 Google 지도 측정항목 페이지로 이동합니다.

개요

Google Maps Platform API 페이지

Google 지도 API 페이지에는 표 두 개가 포함됩니다. 사용 설정된 API 표에는 최근 30일간 사용 설정된 각 API의 요청 수, 오류 수, 평균 지연 시간이 표시됩니다. 추가 API 표에는 사용 설정되지 않은 API가 표시됩니다(따라서 사용량이 표시되지 않습니다).

참고: 사용 설정된 API의 이름을 클릭하면 해당 API의 Google 지도 측정항목 페이지로 이동합니다.

API

Google 지도 측정항목 페이지

Google 지도 측정항목 페이지에는 트래픽, 오류, 중앙값 지연 시간 등 세 가지 그래프가 표시됩니다. 그래프의 사용 데이터는 응답 코드, API, API 메서드 또는 사용자 인증 정보를 기준으로 그룹화할 수 있습니다.

그래프 아래의 측정항목 페이지에는 선택한 API의 요청 수, 오류 수, 지연 시간을 보여주는 API 표가 포함됩니다.

상단에 있는 API 드롭다운과 오른쪽에 있는 필터링 옵션을 사용하면 특정 또는 다수의 API, 사용자 인증 정보 및 응답 코드를 선택하여 표시되는 사용량 측정항목을 필터링할 수 있습니다. 또한 표시되는 사용량 측정항목에서 기간(1시간~최근 30일까지) 및 세부사항(초당 또는 일당)을 선택할 수도 있습니다.

측정항목

응답 코드 그래프

응답 코드별 트래픽 및 응답 코드별 오류 그래프에는 사용량이 응답 코드 클래스별로 분할되어 표시됩니다. 아래 표에는 Google Maps Platform API 응답 상태와 응답 코드 클래스 사이의 매핑이 표시되어 있습니다.

응답 상태 응답 코드 클래스
(2xx, 3xx, 4xx, 5xx)
참고
OK 2xx 성공적인 응답입니다.

청구 가능한 요청이며 할당량을 사용합니다.
OK 3xx 성공적인 응답입니다.

청구 가능한 요청이며 할당량을 사용합니다.

예를 들어 성공적인 장소 사진 요청은 참조 이미지로 302 리디렉션을 반환합니다.
DATA_NOT_AVAILABLE 2xx 입력된 위치에 관한 데이터가 없음을 나타내는 성공적인 응답

청구 가능한 요청이며 할당량을 사용합니다.
ZERO_RESULTS 2xx 성공적인 응답에서 결과를 반환하지 않았습니다.

청구 가능한 요청이며 할당량을 사용합니다.
NOT_FOUND 2xx Directions API의 경우 요청의 출발지, 목적지 또는 경유지에 지정된 위치 중 하나 이상을 지오코딩할 수 없음을 나타냅니다.

Places API의 경우 참조된 위치(place_id)를 장소 데이터베이스에서 찾을 수 없음을 나타냅니다.

청구 가능한 요청이며 할당량을 사용합니다.
INVALID_REQUEST(잘못된 매개변수 값),
MAX_WAYPOINTS_EXCEEDED,
MAX_ROUTE_LENGTH_EXCEEDED 등
2xx 잘못된 매개변수 값, 너무 많은 값 입력 등으로 인해 오류가 발생했습니다. 자세한 내용은 API 응답을 확인하세요.

청구 가능한 요청이며 할당량을 사용합니다.
REQUEST_DENIED 4xx 인증 오류, 액세스 오류 등으로 인해 클라이언트 오류가 발생했습니다. 자세한 내용은 API 응답을 확인하세요.
OVER_DAILY_LIMIT,
OVER_QUERY_LIMIT,
RESOURCE_EXHAUSTED,
rateLimitExceeded,
dailyLimitExceeded,
userRateLimitExceeded
4xx 허용된 기간에 너무 많은 요청으로 인해 클라이언트 오류가 발생했습니다. 나중에 다시 요청하세요. 자세한 내용은 API 응답을 확인하세요.
INVALID_REQUEST(잘못된 매개변수, 매개변수 누락, 요청 파싱 오류) 4xx 잘못된 요청으로 인해 클라이언트 오류가 발생했습니다. 자세한 내용은 API 응답을 확인하세요.
NOT_FOUND (404) 4xx Geolocation API의 경우 입력이 예상 위치를 생성하기에 충분하지 않다는 것을 나타냅니다.

Roads API의 경우 입력을 도로에 적절하게 스냅하지 못했음을 나타냅니다.

청구 가능한 요청이며 할당량을 사용합니다.
UNKNOWN_ERROR 5xx 내부 오류, 서비스 과부하, 사용 불가, 타임아웃 등 요청을 진행할 수 없음을 나타내는 서버 오류입니다.

상태 코드 및 오류 메시지에 대한 자세한 내용은 관심 있는 API의 응답 문서를 참고하세요(예: 지오코딩 응답, 경로 응답).

Google Maps Platform 솔루션 매개변수

Google Maps Platform에서는 빠른 활용을 위해 다양한 종류의 샘플 코드를 제공합니다. 예를 들어 Cloud Console에서 빠른 빌더를 사용하고, 업종별 솔루션 구현 가이드를 따르며, Codelab에서 학습할 수 있습니다.

Google에서는 샘플 코드 사용에 관한 정보를 수집하는 solution_channel 쿼리 매개변수를 API 호출에 포함하여 솔루션 사용과 개선 방법을 파악합니다.

  • solution_channel 쿼리 매개변수는 솔루션 샘플 코드에 기본적으로 포함되어 있습니다.
  • 쿼리 매개변수는 솔루션 채택에 대한 익명 분석을 Google에 반환하여 향후 반복 작업에서 솔루션 품질을 개선합니다.
  • 샘플 코드에서 solution_channel 쿼리 매개변수와 해당 값을 삭제하여 쿼리 매개변수를 사용하지 않을 수 있습니다.
  • 이 매개변수를 유지할 필요는 없습니다. 쿼리 매개변수를 삭제해도 성능에는 영향을 미치지 않습니다.
  • 쿼리 매개변수는 샘플 코드 사용을 보고하는 용도로만 사용됩니다.
  • 쿼리 매개변수는 모든 API 관련 분석 및 보고와는 별개입니다. 즉, 솔루션 샘플 코드에서 매개변수를 삭제해도 내부 Maps JavaScript API 보고 기능은 사용 중지되지 않습니다.

할당량 보고서

할당량은 프로젝트에서 Google Maps Platform API에 요청할 수 있는 요청 수의 한도를 설정합니다. 요청은 하루당, 초당, 사용자*초당 등 세 가지 방법으로 제한할 수 있습니다. 성공적인 요청 및 서버 오류를 유발한 요청만 할당량에 포함됩니다(클라이언트 오류를 유발한 요청은 할당량에 포함되지 않습니다).

할당량 사용량은 그래프로 표시되며 하루 또는 100초당 요청 수로 그룹화할 수 있습니다. 선택한 API의 현재 할당량 한도는 할당량 사용량 그래프 아래의 표에 표시됩니다.

Google 지도 할당량 페이지

Google 지도 할당량 페이지에는 선택한 특정 API의 할당량 한도 및 할당량 사용량이 표시됩니다.

Google Cloud Console의 할당량 사용량 차트에는 API 키 및 클라이언트 ID의 총 트래픽이 표시됩니다. 클라이언트 ID 트래픽은 Cloud Console의 측정항목 차트에도 표시됩니다. 자세한 내용은 문제 158809616을 참고하세요.

이 페이지에는 할당량을 사용하는 요청, 즉 성공적인 요청(OK, ZERO_RESULTS, DATA_NOT_AVAILABLE)과 서버 오류를 유발하는 요청 (NOT_FOUND, INVALID_VALUE, UNKNOWN_ERROR)만 표시됩니다.

클라이언트 오류, 즉 인증/승인/잘못된 인수 오류(REQUEST_DENIED, OVER_QUERY_LIMIT, INVALID_REQUEST)를 유발하는 요청은 할당량을 사용하지 않으며 표시되지 않습니다.

할당량 단위는 대부분 Google Maps Platform API(Static Maps API, Street View Static API, Geocoding API, Directions API, Places API, Timezone API, Geolocation API, Elevation API)의 경우 요청입니다. 그러나 다음과 같은 예외가 있습니다.

  • Distance Matrix API의 경우 할당량 단위는 출발지-목적지 쌍인 요소입니다.
  • Maps JavaScript API의 경우 할당량 단위는 지도 로드입니다.
  • Android용 Maps SDK와 iOS용 Maps SDK의 경우 할당량 단위는 스트리트 뷰 요청/파노라마 로드입니다(지도 로드는 무료이며 할당량을 사용하지 않습니다).
할당량

할당량 단위

아래 표에는 Google Maps Platform API의 할당량 단위가 표시되어 있습니다.

Google Maps Platform API 할당량 단위
지도
Android용 Maps SDK 파노라마 1개
iOS용 Maps SDK 파노라마 1개
Maps Static API 요청 1회
Maps JavaScript API 지도 로드 1회
Street View Static API 요청 1회
Maps Embed API 지도 로드 1회
경로
Directions API 요청 1회
Distance Matrix API 요소 1개(출발지-목적지 쌍)
Roads API 요청 1회
장소
Places API 요청 1회
Geocoding API 요청 1회
Geolocation API 요청 1회
Time Zone API 요청 1회

결제 보고서

결제 보고서 보기

Google Maps Platform 제품 사용에 대한 결제 보고서는 Google Cloud Console에서 확인할 수 있습니다(결제 참고).

결제 보고서 차트 이해하기

결제 보고서에는 시간에 따른 비용이 꺾은선형 차트로 표시됩니다. 기본 뷰에는 적용된 모든 사용량별 크레딧과 현재 달 전체의 총 예측 비용을 포함하여 모든 제품의 프로젝트별로 그룹화된 현재 달의 일일 사용량별 비용이 표시됩니다. 차트에서 각 선(및 요약 표의 행)은 가장 큰 비용부터 가장 작은 비용 순으로 표시된 프로젝트에 해당합니다. 결제 보고서 차트를 해석하는 방법에 대해 자세히 알아보기

결제 보고서
그림 1: 미리 설정된 기본 뷰를 사용하여 차트와 표를 표시하는 결제 보고서

팁: SKU당 사용량 및 비용 분석

사용한 만큼만 지불하는 가격 모델의 세부정보와 이 모델이 구현에 미치는 영향을 더 자세히 알아보려면 SKU별 사용량 및 비용을 확인하세요.

SKU별로 그룹화된 결제 보고서
그림 2: SKU별 사용량 및 비용 항목이 표시된 결제 표
결제 보고서 필터
그림 3: 결제 보고서 필터
SKU별로 항목을 표시하도록 보고서 보기를 변경하는 방법:
  1. 차트 오른쪽의 패널에서 그룹화 기준 필터를 펼칩니다.
  2. SKU를 선택합니다.

사용 가능한 다른 결제 보고서 필터는 기간, 프로젝트 ,제품, SKU, 위치 등이 있으며, API 요청이 제공되는 위치별로 필터링할 수 있습니다.

제품 외에 사용량의 출처를 분류하려면 나열된 값 중 하나를 기준으로 결제 보고서를 그룹화하세요. Google Maps Platform API와 관련된 3개의 키는 goog-maps-api-key-suffix(API 키의 마지막 4개 문자)인 goog-maps -platform-type(플랫폼: Android, iOS, 자바스크립트, 웹 서비스) 및 goog-maps-channel(API 쿼리에서 얻은 숫자 채널 값)입니다. 필터링 및 그룹화에 대해 자세히 알아보기

오른쪽 패널에서 비용에 크레딧 포함 체크박스를 선택 해제하여 사용량별 크레딧을 제외하도록 차트 뷰를 변경할 수 있습니다.

사용량 모니터링 및 제한

예산을 계획하고 비용을 관리하는 방법은 다음과 같습니다.

  • 예산 알림을 설정하면 지출액이 특정 금액에 도달하는지 여부를 추적할 수 있습니다. 예산을 설정해도 API 사용량이 제한되지 않으며 지출액이 지정된 금액에 근접할 때만 알림을 보냅니다.
  • 일일 API 사용량 한도를 설정하면 청구 가능한 API 사용 비용을 관리할 수 있습니다. 일일 요청 수 한도를 설정하여 지출 금액을 제한할 수 있습니다. 지출하려는 금액에 따라 간단한 방정식을 사용하여 일일 한도를 결정하세요. 예: (월간 지출/SKU당 가격)/30 = 일일 요청 수 한도(API 1개의 경우) 구현에 따라 청구 가능 API를 여러 개 사용할 수 있으므로 필요한 경우 방정식을 조정하세요. 매월 미화 200달러의 Google Maps Platform 크레딧을 사용할 수 있으므로 이를 계산에 포함해야 합니다.

채널별 사용량 추적

숫자 채널을 통해 사용량을 추적하려면 API 요청에 'channel' 매개변수를 추가해야 합니다. 0-999 사이의 숫자만 채널 값으로 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  • Geocoding Web Service API

    https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY&channel=1
  • Maps JavaScript API

    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&channel=2&callback=initMap"
    async defer></script>

결제 보고서에서 직접 채널 사용량을 모니터링할 수 있습니다. 채널은 라벨 아래 goog-maps-channel 키로 표시됩니다.

라벨로 필더링
그림 4: SKU 및 채널별 필터링
SKU 및 채널별로 결제 보고서를 필터링하는 방법:
  1. 그룹화 기준 SKU 필터를 사용합니다.
  2. 라벨 캐럿을 클릭합니다.
  3. 드롭다운을 클릭하고 goog-maps-channel을 선택합니다.
  4. 드롭다운을 클릭하고 필터링할 숫자 채널을 선택합니다.

라벨 키 goog-maps-channel별로 그룹화하여 각 채널에서 발생한 비용을 확인합니다.

요청에 채널 사용량 데이터를 구현한 후 데이터가 결제 보고서에 반영되기까지 잠시(최대 24시간) 지연될 수도 있습니다.

BigQuery로 결제 데이터 내보내기

결제 데이터를 BigQuery로 내보낼 수도 있습니다.

BigQuery Export를 사용하면 하루 종일 세부적인 Cloud Billing 데이터(예: 사용량 및 예상 비용 데이터)를 지정한 BigQuery 데이터세트로 자동으로 내보낼 수 있습니다. 그런 다음 BigQuery에서 결제 데이터에 액세스하여 자세히 분석할 수 있습니다. 이렇게 하면 Google Maps Platform 사용량의 출처를 한층 더 세밀하게 파악할 수 있습니다.

BigQuery Export를 사용하고 데이터를 쿼리하려면 아래의 샘플 쿼리를 사용해 보세요. 이 쿼리를 실행하기 전에 다음 작업을 실행해야 합니다.

  • 계정에서 결제 및 BigQuery 결제 내보내기를 사용 설정합니다.
  • 표 형식은 PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID이며 여기에서
    • PROJECT_ID는 실제 프로젝트 ID입니다(예: 'my-project-123456').
    • DATASET_NAME은 사용자가 만든 데이터세트의 이름입니다(예: 'SampleDataSet').
    • BILLING_ACCOUNT_ID는 결제 계정 ID의 참조로 앞에 'gcp_billing_export_v1_'이 붙고 대시(-)가 밑줄(_)로 변경됩니다. 예를 들어 결제 계정 ID 123456-7890AB-CDEF01gcp_billing_export_v1_123456_789AB_CDEF01이 됩니다.

참고: 새 데이터세트를 만들면 즉시 인터페이스에 표시되지만 쿼리할 표는 아직 표시되지 않습니다. 표는 몇 시간 후에 자동으로 생성됩니다. 그런 다음 데이터가 표시되는 데는 약 24시간이 걸립니다. BigQuery 데이터세트에는 결제 내보내기를 설정한 날짜 이후에 발생한 사용량 및 비용 데이터만 반영됩니다. 즉 결제 데이터는 소급하여 추가되지 않으므로 BigQuery Export를 사용 설정하기 전의 결제 데이터는 표시되지 않습니다.

  #standardSQL
  SELECT   Date(usage_start_time, "America/Los_Angeles") AS billing_day,
           invoice.month                                 AS invoice_month,
           service.description                           AS service,
           sku.description                               AS sku,
           (
                  SELECT l.value
                  FROM   Unnest(labels) AS l
                  WHERE  l.KEY = 'goog-maps-channel' ) AS goog_maps_channel,
           Round(Sum(usage.amount), 2)                 AS usage_amount,
           usage.unit                                  AS usage_unit,
           Round(Sum(cost), 2)                         AS cost,
           cost_type,
           currency
  FROM     `PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID`
  WHERE    invoice.month = '202002' -- Change the invoice month with the same format as the example.
  GROUP BY billing_day,
           invoice_month,
           service,
           sku,
           goog_maps_channel,
           usage_unit,
           cost_type,
           currency
  ORDER BY billing_day,
           service,
           sku
  

클라우드 결제:

Google Maps Platform:

응답 상태 및 보고서

아래 표에는 응답 상태와 응답 코드 클래스가 표시되어 있으며 해당 요청이 사용량, 할당량 및 결제 보고서에 표시되는지 여부를 나타냅니다.

응답 상태 응답 코드 클래스
(2xx, 3xx, 4xx, 5xx)
사용량 보고서 할당량 보고서 결제 보고서
OK 2xx,
3xx
ZERO_RESULTS,
DATA_NOT_AVAILABLE,
NOT_FOUND
2xx
INVALID_REQUEST(잘못된 매개변수 값),
MAX_WAYPOINTS_EXCEEDED,
MAX_ROUTE_LENGTH_EXCEEDED,
2xx
REQUEST_DENIED 4xx 아니요 아니요
OVER_DAILY_LIMIT,
OVER_QUERY_LIMIT,
RESOURCE_EXHAUSTED,
dailyLimitExceeded,
rateLimitExceeded,
userRateLimitExceeded
4xx 아니요 아니요
INVALID_REQUEST(잘못된 매개변수, 요청 파싱 오류) 4xx 아니요 아니요
NOT_FOUND(Geolocation 및 Roads API) 4xx
UNKNOWN_ERROR 5xx 아니요