출시 전 체크리스트

Google Cloud 콘솔에서 클라이언트 ID를 관리하는 위치

프리미엄 플랜 클라이언트 ID 관리 기능은 클라이언트 ID 섹션의 Google Maps Platform 사용자 인증 정보 페이지 하단에 있는 Cloud 콘솔에서 사용할 수 있습니다.

사용자 인증 정보 페이지의 새 클라이언트 ID 영역

URL 승인 및 클라이언트 ID 서명 비밀번호 관리를 포함한 기타 클라이언트 ID 관리 작업은 별도의 클라이언트 ID 페이지에서 클라이언트 ID 섹션의 오른쪽 끝에 있는 수정 아이콘을 클릭하여 액세스할 수 있습니다.

중요: Google Maps Platform 프리미엄 플랜은 이제 가입이 불가능하며 신규 고객에게 제공되지 않습니다.

개발팀에 필수 리소스 액세스 권한이 있는지 확인

Google Cloud 콘솔 사용

중요한 이유: Google Cloud 콘솔을 사용하면 사용량 보고서, 뉴스 피드, 개발자 리소스와 같은 정보에 액세스할 수 있습니다. 무엇보다 Cloud 콘솔을 사용하면 개발 또는 출시 도중에 기술적인 문제가 발생할 경우 Google Maps Platform 지원팀에 지원 케이스를 제출할 수 있습니다.

출시 전에 애플리케이션 유지 관리를 책임지는 모든 개발자에게 Cloud 콘솔에 대한 액세스 권한을 제공하세요. 기술적인 문제가 발생했을 때 Cloud 콘솔에 액세스하면 개발팀 구성원이 지원팀에 문의하고, Google 지원팀이 내 조직 내의 적절한 이해관계자에게 연락할 수 있습니다. 예를 들어 Google 지원팀이 애플리케이션에 장애를 일으킬 수 있는 비정상적인 트래픽이나 동작을 감지하면 내 조직에 연락해야 할 수도 있습니다. 지원팀이 적절한 개발자에게 연락을 취할 수 있다면 예상치 못한 시스템 중단이 일어나는 상황을 미연에 방지할 수 있습니다.

알림 이메일 그룹 구독

중요한 이유: 지도 API의 새로운 소식과 변경사항에 대한 최신 정보를 받으려면 다음 이메일 그룹 중 하나 이상을 구독하는 것이 좋습니다.

  • google-maps-platform-notifications - Google Maps Platform API 및 웹 서비스에 관한 기술 업데이트, 서비스 중단 알림, 플랫폼 기능 공지사항 제공(매월 최대 3~5개의 메시지 발송)
  • google-maps-js-api-v3-notify - Google Maps JavaScript API 신규 릴리스 제공(매년 최대 4개의 메시지 발송)

애플리케이션 최적화

Google Maps Platform 서비스에 대한 액세스를 허용하도록 방화벽 구성

중요한 이유: Google Maps Platform 서비스는 다양한 도메인을 사용하지만 그중 일부는 *google.com 도메인에 속하지 않습니다. 높은 제한 기능의 방화벽이 설치되어 있다면 각 지도 API 서비스에서 사용하는 도메인에 대한 액세스를 허용해야 합니다. 방화벽에서 이러한 도메인에 대한 액세스를 허용하지 않을 경우 API 요청이 실패하고 이로 인해 애플리케이션에 장애가 발생할 수 있습니다. 지도 API에서 사용되는 전체 도메인 목록을 참고하세요.

이러한 도메인에 연결된 IP는 고정되어 있지 않으므로 IP 주소로 방화벽 제한을 관리하는 것은 바람직하지 않습니다.

참고: Google Maps Platform 서비스는 인바운드 및 아웃바운드 트래픽에 포트 80(http)과 443(https)을 사용합니다. 이 서비스에는 GET, POST, PUT, DELETE, HEAD 요청이 필요합니다. 이 포트에서 트래픽을 허용하고 API와 사용 사례에 따라 요청을 허용하도록 방화벽을 구성합니다.

Maps JavaScript API와 함께 사용하도록 SSL 도메인 승인

중요한 이유: Maps JavaScript API를 SSL 도메인과 함께 사용할 때는 HTTPS 도메인을 명시적으로 승인하여 요청이 거절되지 않게 해야 합니다. http://yourdomain.com을 승인해도 SSL에 해당하는 https://yourdomain.com이 자동으로 사용 설정되지는 않습니다. 클라이언트 ID 섹션까지 아래로 스크롤하여 Cloud 콘솔에서 승인된 도메인 목록을 확인하세요. 클라이언트측 API를 SSL 도메인과 함께 사용하는 것과 관련된 오류를 해결할 때는 먼저 페이지의 요소가 HTTP로 로드되지 않는지 확인하는 것이 좋습니다. 승인 문제 해결 가이드를 참고하세요.

적절한 API 버전 선택

중요한 이유: 애플리케이션을 개발하기 전에 API의 어느 버전이 사용 중단되는지 알아두는 것이 중요합니다. 지원이 중단되지 않는 API 버전에서 개발하면 개발 시간을 절약하고 지원이 중단된 버전을 사용할 수 없게 될 때 비용을 줄일 수 있습니다.

특히 Maps JavaScript API에서 사용하는 버전 관리 구성표를 이해하여 개발자의 환경에서 적합하지 않은 API 버전을 잘못 사용하지 않도록 해야 합니다.

예를 들어 개발이나 테스트 환경에서는 API의 시험용 버전을 사용하는 것이 적합할 수 있으나 프로덕션 환경에서는 시험용 버전을 사용하지 않아야 합니다. Google의 SLA는 안정적인 API 버전에만 적용되므로 프로덕션 환경에서는 안정적인 버전만 사용해야 합니다.

Maps JavaScript API 버전 가이드를 참고하세요.

클라이언트 측 디자인과 서버 측 디자인 중에서 선택

중요한 이유: 클라이언트 측과 서버측 디자인 중 무엇을 선택하는가 하는 것은 아키텍처와 관련된 결정이며, 애플리케이션의 안정성과 확장성에 매우 중요합니다. 일반적으로 서버 측 디자인은 기록을 오프라인으로 사전/사후에 처리할 때 사용해야 합니다(애플리케이션 외부). 반면 클라이언트 측 디자인은 애플리케이션에서 사용자와 상호작용하는 부분에 사용해야 합니다(사용자가 제출한 요청의 실시간 처리).

클라이언트 측 디자인을 사용해야 할 곳에 서버 측 디자인을 배포하는 것은 할당량 초과의 주요 원인이므로 애플리케이션 장애를 유발하게 됩니다. 서버 측 호출을 사용하는 애플리케이션을 디자인하거나 출시하기 전에 지오코딩 전략을 참고하시기 바랍니다.

할당량 사용 최적화

중요한 이유: 애플리케이션에서 지도 API 크레딧이라고 하는 할당량을 사용하는 방식을 이해하면 비용을 줄일 수 있습니다. 예를 들어 Maps JavaScript API를 사용하는 경우 애플리케이션은 지도를 로드할 때마다 지도 API 크레딧을 사용합니다. 프리미엄 플랜 사용 요금 및 한도 가이드를 참고하세요.

웹 서비스 할당량 사용 관리

서비스를 출시하기 전에 할당량과 관련된 여러 가지 오류(예:OVER_QUERY_LIMIT, User Rate Limit Exceeded)를 이해하고, 할당량을 초과했을 때 이러한 오류에 대응할 수 있도록 애플리케이션에 적절한 로직을 설정해야 합니다. 먼저 사용량 한도에 관한 FAQ를 읽어보세요. 각 API가 반환하는 상태 코드에 대한 자세한 내용은 해당 API의 개발자 가이드를 참고하세요. 예를 들어 Directions API 상태 코드 가이드를 참고하세요. 이러한 개념을 이해하고 구현하면 허용된 할당량을 초과하여 애플리케이션이 Google에서 차단되거나 장애를 일으킬 가능성이 현저히 줄어듭니다.

앱에서 부하 테스트 수행

중요한 이유: 애플리케이션의 부하 테스트를 사용하여 지도 API 할당량을 초과하지 않고 대량의 요청을 처리할 수 있는지 확인합니다.

Google Maps Platform은 대량의 트래픽을 처리할 수 있지만 라이브 Google 서비스에 대해 부하 테스트를 실시하면 애플리케이션이 허용된 할당량을 초과하게 되므로 Google에서 애플리케이션을 차단합니다. 또한 부하 테스트로 인해 발생하는 사용 요금도 부담해야 합니다.

대신 애플리케이션 부하 테스트로 지도 API의 할당량을 초과하거나 Google에 의해 차단되지 않고 대량의 요청을 처리할 수 있는지 확인해야 합니다. 이 작업을 안전하게 하려면 가상(가짜) API를 대상으로 부하 테스트를 실시하세요. 가상 API는 Google Maps Platform을 사용하지 않고도 대량의 요청을 흡수하여 유효한 응답을 보내는 서비스입니다. 예: 지오코딩 API의 할당량이 20QPS(초당 쿼리)라면 애플리케이션 부하 테스트로 지오코딩 API에 20QPS를 초과하여 전송하지 않고 600QPS를 처리할 수 있는지 확인해야 합니다.

중요한 부하 테스트를 실시하려면 Google 지원팀에 문의하여 지원을 받고 Google에게 예정된 테스트 계획을 알리세요.