비용 최적화된 Cloud Run 서비스를 위한 권장사항

Cloud Run 서비스를 최적화하면 리소스 할당을 실제 수요에 맞게 조정하여 비용을 절감할 수 있습니다. 비용 효율적인 구성을 구현하면 서비스 안정성과 성능을 유지하면서 과도한 프로비저닝을 방지할 수 있습니다. 비용 최적화에는 모든 상황에 적합한 단일 솔루션이 없습니다. 니즈, 예산, 리소스를 모니터링하여 가장 적합한 것을 결정하는 것이 중요합니다.

이 문서에 설명된 권장사항은 Cloud Run에만 적용됩니다. 다른 Google Cloud 제품은 포함되지 않습니다.

리소스 구성

비용에 맞게 서비스를 최적화하려면 다양한 구성을 고려해야 합니다. 필요에 맞게 이러한 구성을 조정하여 안정적이고 비용 효율적인 서비스를 만드세요.

적합한 리전 선택

서비스의 배포 위치는 총비용에 영향을 미칩니다. Cloud Run은 2계층 리전 가격 책정 모델을 사용합니다. Tier 1 리전은 Tier 2 리전에 비해 vCPU 및 메모리당 비용이 저렴하므로 Tier 1 리전에 배포하는 것이 좋습니다.

인증 필요

Cloud Run 서비스를 구성할 때 다음 두 가지 인증 옵션 중 하나를 선택할 수 있습니다.

  • 공개 액세스 허용: 인증 확인이 필요하지 않습니다.
  • 인증 필요: 인증된 사용자만 Cloud Run 서비스에 액세스할 수 있습니다.

공개 액세스를 허용해야 하는 특별한 이유가 없다면 인증을 요구하는 것이 좋습니다. 이렇게 하면 비용이 발생할 수 있는 원치 않는 요청을 방지할 수 있습니다.

IAP (Identity-Aware Proxy)로 사용자를 관리하는 경우 IAP에 자체 관련 비용이 있을 수 있습니다.

인스턴스 기반 결제와 요청 기반 결제 비교

Cloud Run 서비스에는 두 가지 결제 설정이 있습니다.

  • 요청 기반 결제 (기본값): 요청당 요금과 요청 처리 중에 사용된 vCPU 및 메모리에 대한 더 높은 초당 요금이 청구됩니다.
  • 인스턴스 기반 결제: 인스턴스의 전체 기간에 대한 비용이 청구됩니다. 요청별 비용이 없으며 vCPU 및 메모리의 초당 요금이 더 저렴합니다.

트래픽이 일정하고 느리게 변화하는 서비스의 경우 인스턴스 기반 결제를 사용하는 것이 좋습니다. 컴퓨팅 요금 절감 및 요청별 비용이 없으므로 요청 간 유휴 시간에 대한 비용을 지불하는 것보다 절감 효과가 더 큽니다. 트래픽이 산발적이거나 급격히 증가하는 서비스의 경우 요청 기반 결제를 사용하는 것이 좋습니다. 사용할 결제 설정이 여전히 확실하지 않으면 추천자를 참조하세요. 추천자는 지난 1개월 동안 Cloud Run 서비스에서 수신한 트래픽을 조회하여 요청 기반 결제보다 인스턴스 기반 결제가 저렴한 경우 인스턴스 기반 결제로 전환하도록 추천합니다.

서비스 수준에서 서비스 확장 구성

비용 안전 기준을 설정하려면 서비스의 최대 인스턴스를 구성합니다. 최댓값을 높게 설정하면 가용성이 우선시되지만 예상치 못한 트래픽 급증이나 잘못된 구성으로 인해 잠재적인 결제 위험이 발생할 수 있습니다. 비용 기준을 설정하기 위해 서비스를 처음 배포할 때 서비스 수준에서 이 설정을 구성해야 합니다. 추가 비용 관리 도구는 리소스 배정 할당량 또는 결제 예산 및 알림을 참조하세요.

CPU 및 메모리 사용률 최적화

Cloud Run 서비스 비용은 CPU/메모리 구성, 서비스 활성 기간 등의 요인에 따라 달라집니다. 리소스를 초과 프로비저닝하면 비용이 증가할 수 있습니다. 서비스에 가장 적합한 구성을 결정하려면 다음 안내를 따르세요.

  1. 기준 구성을 설정합니다.
  2. Cloud Monitoring에서 CPU 및 메모리 사용률 측정항목을 테스트하는 동안 측정항목을 모니터링합니다.
  3. 필요에 따라 구성을 조정합니다.

최대 부하에서 CPU 사용률이 지속적으로 낮으면 vCPU 할당을 줄이는 것이 좋습니다. 지연 시간이 길면 vCPU 할당을 늘리는 것이 좋습니다.

메모리 사용률이 지속적으로 낮은 경우 할당된 메모리를 줄이는 것이 좋습니다. 지연 시간이 길고 메모리 사용률이 100%에 가까우면 할당된 메모리를 늘리는 것이 좋습니다. 메모리 부족 (OOM) 오류가 발생하면 할당된 메모리를 늘리거나 애플리케이션을 수정하여 메모리 누수를 방지하거나 메모리를 적게 사용해야 합니다. 메모리 사용률을 더 잘 이해하려면 Cloud Monitoring 대시보드를 참조하세요.

GPU 구성

GPU를 사용하는 모든 Cloud Run 서비스에는 인스턴스 기반 결제가 구성되어 있어야 합니다. 즉, Cloud Run 인스턴스는 수신 요청이 없는 경우에도 인스턴스의 전체 수명 주기에 대해 요금이 청구됩니다. GPU에 필요한 최소 CPU 및 메모리 구성도 Cloud Run 서비스 비용에 영향을 미칩니다. 기본적으로 GPU 영역 중복성이 사용 설정되어 있습니다. GPU 영역 중복을 사용 중지하면 GPU 초당 비용이 더 저렴하지만 장애 조치 시나리오를 위한 예약된 용량을 보장하지 않습니다.

네트워킹 비용 최적화

서비스의 네트워킹 옵션을 구성할 때는 다음을 고려하세요.

  • 리소스 공동 배치: 백엔드 데이터베이스 (예: Cloud SQL 또는 Firestore) 및 Cloud Storage 버킷과 동일한 리전에 Cloud Run 서비스를 배포합니다. 동일한 리전 내의 Google Cloud 리소스 간 데이터 전송은 무료입니다.
  • VPC 직접 연결 이그레스로 전환: 트래픽을 내부 VPC 네트워크 리소스로 안전하게 라우팅하는 경우 서버리스 VPC 액세스 커넥터에서 VPC 직접 연결 이그레스로 전환하는 것이 좋습니다. VPC 직접 연결 이그레스는 0으로 확장되므로 커넥터 인스턴스와 관련된 기준 컴퓨팅 오버헤드와 유휴 비용이 제거됩니다.
  • Cloud CDN 사용: Cloud Run 서비스 앞에 Cloud CDN을 배치하여 정적 애셋과 캐시 가능한 콘텐츠를 오프로드합니다. 에지에서 데이터를 제공하는 것은 Cloud Run에서 직접 표준 인터넷 이그레스 비용을 지불하는 것보다 훨씬 저렴합니다.
  • 인터넷 이그레스 모니터링: 인바운드 트래픽 (인그레스)은 항상 무료이며 북미 내에서 매월 1GiB의 무료 아웃바운드 인터넷 데이터 전송이 제공됩니다. 리전 경계를 넘거나 무료 등급을 초과하는 아웃바운드 트래픽에 모니터링 노력을 집중합니다.

동시 실행 설정 구성

요청을 처리하는 인스턴스 수가 늘어나면 Cloud Run에서 더 많은 CPU와 메모리를 할당하므로 비용이 증가합니다. 동시 실행 설정을 높이면 더 적은 인스턴스가 동일한 요청 볼륨을 처리할 수 있으므로 비용이 절감될 수 있습니다. 하지만 애플리케이션 코드가 동시 요청을 효율적으로 처리할 수 있어야 합니다. 자세한 내용은 자동 확장 및 리소스 사용률을 위한 동시 실행 조정을 참조하세요.

약정 사용 할인

약정 사용 할인 (CUD)은 지정된 기간 동안 Cloud Run을 지속적으로 사용하겠다는 약정 하에 할인된 가격을 제공합니다. CUD는 Cloud Billing 계정 수준에서 적용됩니다. Cloud Run 리소스에 대해 Compute 가변형 CUD를 구매할 수 있습니다. Compute 가변형 CUD는 GPU 또는 네트워킹에 적용되지 않습니다. 자세한 내용은 Compute 가변형 약정 사용 할인을 참조하세요.

유용한 도구

다음 도구를 사용하면 비용을 더 잘 이해하고 비용 초과를 방지할 수 있습니다.

Cloud Run 개요: 결제 패널

Cloud Run 개요 페이지의 결제 패널에는 리소스 이름별 비용이 표시됩니다. 이 수치는 리소스별로 선택한 기간의 총비용을 반영합니다. 이 도구를 사용하면 리소스 비용을 더 잘 파악할 수 있습니다.

예산 알림

Cloud Billing에서 예산 알림을 만들어 계획한 비용 대비 실제 비용을 추적합니다. 예산 알림은 지출 기준점을 초과할 때 알림을 트리거하는 알림 메커니즘이며 엄격한 지출 한도가 아닙니다. 결제 데이터 지연이 발생하여 알림 수신 시점에 영향을 미칠 수 있습니다.

예산 지출 한도

Cloud Billing 콘솔에서 또는 Cloud Billing Budget API를 사용하여 프로그래매틱 방식으로 Cloud Billing 예산 지출 상한액을 구성하면 해당 상한액이 프로젝트의 모든 Cloud Run 리소스 유형에 자동으로 적용됩니다.

Cloud Run 콘솔 개요 페이지에서 직접 지출 한도 진행 상황을 모니터링할 수 있습니다. 지출 한도에 도달하면 Google Cloud 는 모든 Cloud Run 워크로드를 일시중지하여 다음 Cloud Run 리소스에 대한 추가 비용을 방지합니다.

  • 서비스: 기존 서비스가 트래픽을 제공하지 못하고 5xx 오류를 반환합니다.
  • 작업: 새 태스크 실행을 시작할 수 없고 진행 중인 태스크를 완료할 수 없습니다.
  • 작업자 풀: 기존 인스턴스가 작업 처리를 중지합니다.
  • 인스턴스: 실행 중인 인스턴스가 종료되고, 새 인스턴스 또는 다시 시작이 시작되지 않으며, 인스턴스 URL에 대한 요청이 5xx 오류를 반환합니다.

지출 한도를 초과하면 알림이 전송되고 Cloud Run 콘솔에 시정 조치 배너가 표시됩니다. 적용된 지출 한도는 다음 결제 주기의 첫날인 매월 초에 재설정되어 워크로드 차단을 해제하고 지출 금액을 0으로 설정합니다. 지출 한도를 초과하여 월별 재설정 전에 작업을 재개하려면 Cloud Run 콘솔 개요 페이지에서 한도를 수동으로 조정하거나 해제하세요.

Cloud Billing

Cloud Billing은 Google Cloud 지출을 추적하고 파악하는 데 도움이 되는 도구 모음입니다. 이러한 도구를 사용하면 사용 비용을 모니터링하고 지출을 예측하며 비용을 절감할 수 있는 기회를 파악할 수 있습니다.

비용 탐색기

비용 탐색기를 사용하면 리소스의 비용과 사용률을 파악할 수 있습니다. 비용 탐색기를 사용하여 다음을 수행합니다.

  • 비용을 기준으로 리소스를 필터링하여 가장 비용이 많이 드는 리소스를 확인합니다.
  • vCPU, GPU, 네트워킹 등의 구성으로 인해 발생하는 비용의 비율을 파악합니다.
  • 리소스 구성 변경사항이 월별 청구서에 미치는 영향을 추적합니다.

Google Cloud 가격 계산기

Google Cloud 가격 책정 개요에는 Google Cloud 가격 책정 모델을 더 잘 이해할 수 있는 정보가 포함되어 있습니다. 여기에서 상세 가격 목록도 확인할 수 있습니다. 가격 계산기를 사용하여 제품을 추가하고 구성하여 비용을 추정할 수 있습니다.

추천자

추천자는 Cloud 제품에 대한 사용 권장사항과 통계를 제공하는 도구입니다.

추천자는 지난 1개월 동안 Cloud Run 서비스에서 수신한 트래픽을 자동으로 조회하여 요청 기반 결제보다 인스턴스 기반 결제가 저렴한 경우 인스턴스 기반 결제로 전환하도록 추천합니다.

Cloud Hub 최적화

Cloud Hub의 최적화 페이지에서 Google Cloud 서비스의 요약 비용 데이터, 사용률 데이터, 비용 최적화 추천을 확인할 수 있습니다.