Google I/O 2022에서 Firebase의 새로운 기능을 확인하세요. 자세히 알아보기

고급 결제 알림 및 논리 설정

간단한 예산 알림 이메일 은 청구 업데이트를 수신하는 비교적 쉬운 방법이지만 더 맞춤화된 논리를 포함하는 보다 정교한 알림을 생성하려는 경우가 있을 수 있습니다. 고려해야 할 두 가지 접근 방식은 다음과 같습니다.

  • Cloud Monitoring을 사용하여 보다 정교하고 시기적절한 알림 생성

  • 해당 Cloud Function과 함께 결제 Pub/Sub 알림을 사용하여 지출 변경에 대한 사용자 지정 동작 생성

이 두 기술 모두 사용자가 더 많은 작업을 수행해야 하지만 수신하는 경고의 종류와 응답 방법을 정확히 제어할 수 있는 권한을 제공합니다.

이 페이지에서는 이러한 각 접근 방식에 대한 개요를 제공합니다.

Cloud Monitoring으로 더 정교한 알림 만들기

간단한 예산 알림 이메일을 통해 전체 청구 금액이 특정 임계값에 도달했음을 알 수 있습니다. 그러나 개별 서비스가 귀하의 예산에 상당한 영향을 미치기 전에 예상치 않게 증가하는지 여부를 알고 싶을 수도 있습니다. 이와 같은 보다 정교한 사용 사례의 경우 Firebase 프로젝트에 사용할 수 있는 Google Cloud 도구인 Cloud Monitoring에 대해 학습하는 것이 좋습니다.

Cloud Monitoring은 다음과 같은 여러 유형의 알림에 유용합니다.

  • 프로젝트가 의존하는 리소스를 사용할 수 없는 경우(Firebase 및 Google Cloud 서비스 모두에 대해, AWS와 같은 외부 서비스에도 해당)

  • Cloud Functions와 같은 서비스가 응답하는 데 예상보다 시간이 오래 걸리는 경우

  • Cloud Storage 버킷, 실시간 데이터베이스 인스턴스 또는 Cloud Firestore 인스턴스가 너무 많은 요청을 거부하는 경우(Firebase 보안 규칙이 올바르지 않을 수 있음을 나타냄).

  • 일부 Firebase 제품에서 사용하는 리소스 양이 특정 임계값 이상으로 증가한 경우

Cloud Monitoring을 통해 생성된 알림은 일반적으로 하루에 한 번 전송되는 단순 예산 알림 이메일보다 더 빠르게 전송됩니다. 경고는 SMS 메시지, Slack 채널 메시지, PagerDuty 알림, 웹훅 등의 형식을 취할 수 있습니다. 이러한 옵션을 사용하면 더 높고 실행 가능한 가시성 수준으로 경고를 보낼 수 있습니다.

Cloud Monitoring 사용

Cloud Monitoring을 시작하려면 Firebase/Google Cloud 프로젝트 내에서 커스텀 측정항목의 그래프를 만들고 사용량을 시각화할 수 있는 측정항목 탐색기 부터 시작하는 것이 좋습니다.

특히 Cloud Firestore, 실시간 데이터베이스 또는 Cloud Function 인스턴스와 같은 리소스를 볼 수 있습니다. 청구에 영향을 줄 수 있는 이러한 제품에 대한 사용 정보(예: 문서 읽기 수, 보낸 바이트 수 또는 함수 호출)를 볼 수 있습니다.

지표 탐색기에서 리소스 사용량을 시각화하는 데 익숙해지면 가장 관심 있는 지표에 대한 알림 정책 을 만드는 것이 좋습니다. 다음은 몇 가지 알림 정책의 예입니다.

  • 30분 동안 읽은 문서의 수가 특정 값보다 많은 경우

  • 특정 리소스(예: 함수 호출)의 사용량이 특정 기간에 너무 빠르게 증가하는 것으로 보이는 경우

추가 청구 로직 생성

예산 알림은 예산이 특정 임계값에 도달하면 자동으로 이메일을 보내지만 지출 증가에 대한 보다 정교한 알림 또는 프로그래밍 방식의 대응을 위해 Google Cloud Pub/Sub 메시지를 기반으로 추가 맞춤 로직을 설정하는 것을 고려할 수 있습니다.

예를 들어 Slack 채널이나 문자 메시지를 통해 알림을 보내거나 지출 수준에 따라 앱이나 프로젝트를 프로그래밍 방식으로 변경할 수 있습니다.

Pub/Sub는 다른 서비스가 Pub/Sub 주제로 알려진 채널을 통해 비동기 방식으로 메시지(일반적으로 JSON 데이터 형식)를 보낼 수 있도록 하는 메시지 전달 서비스입니다. Cloud Functions와 같은 승인된 서비스를 설정하여 이러한 주제의 메시지를 수신하고 데이터에 대해 적절하게 조치를 취할 수 있습니다.

결제에 대한 Pub/Sub 알림은 결제 사용량이 변경되었는지 여부에 관계없이 약 20분마다 한 번씩 전송되며 상태 비저장(즉, 이전 항목에 대한 컨텍스트를 제공하지 않음)입니다. 시간 경과에 따른 지출의 비정상적 증가를 추적하거나 지출을 이전 주기와 비교하려면 Cloud Firestore 또는 실시간 데이터베이스와 같은 데이터베이스를 사용하여 해당 기록 데이터를 직접 관리해야 합니다.

Cloud Functions와 함께 Pub/Sub 주제 사용

Google Cloud Console( 결제 > 예산 및 알림 아래)에서 Firebase 프로젝트와 연결된 예산을 방문한 다음 이 예산에 Pub/Sub 주제 연결 확인란을 클릭하여 결제 데이터에 대한 Pub/Sub 주제를 설정할 수 있습니다. . 그러면 나중에 들을 수 있는 Pub/Sub 주제가 생성됩니다. 자세한 단계는 전체 문서 를 참조하십시오.

Pub/Sub 결제 주제를 생성한 후에는 이 주제를 듣고 그에 따라 데이터에 대한 조치를 취하는 Cloud 함수를 작성할 수 있습니다. 데이터는 JSON 데이터로 전송되며 지금까지 지출한 금액, 예산 금액, 현재 청구 주기의 시작 날짜와 같은 유용한 정보를 포함합니다.

GCP 문서에는 Cloud 함수를 사용하여 이 데이터를 수신하는 방법에 대한 자세한 내용이 있습니다. 그러나 Firebase용 Cloud Functions를 사용하여 함수를 배포하는 경우 일반적인 프로세스가 조금 더 간단합니다( Firebase 설명서 확인). 이 비디오 에서 프로세스의 샘플 연습을 참조할 수도 있습니다.

이 데이터를 받은 후에는 다양한 방법으로 이에 응답할 수 있습니다. 다음은 몇 가지 옵션입니다.