Cloud Run 서비스를 최적화하면 리소스 할당을 실제 수요에 맞게 조정하여 비용을 절감할 수 있습니다. 비용 효율적인 구성을 구현하면 서비스 안정성과 성능을 유지하면서 과도한 프로비저닝을 방지할 수 있습니다. 비용 최적화를 위한 일률적인 솔루션은 없습니다. 자신에게 가장 적합한 방법을 결정하려면 요구사항, 예산, 리소스를 모니터링하는 것이 중요합니다.
이 문서에 설명된 권장사항은 Cloud Run에만 적용됩니다. 다른 제품은 포함되지 않습니다. Google Cloud
리소스 구성
비용을 위해 서비스를 최적화하려면 다양한 구성을 고려해야 합니다. 이러한 구성을 요구사항에 맞게 조정하여 안정적이고 비용 효율적인 서비스를 만드세요.
적합한 리전 선택
서비스의 배포 위치는 총비용에 영향을 미칩니다. Cloud Run은 2단계 리전 가격 책정 모델을 사용합니다. 1단계 리전은 2단계 리전에 비해 vCPU 및 메모리당 비용이 저렴하므로 1단계 리전에 배포하는 것이 좋습니다.
인증 필요
Cloud Run 서비스를 구성할 때 다음 두 가지 인증 옵션 중에서 선택할 수 있습니다.
- 공개 액세스 허용: 인증 확인이 필요하지 않습니다.
- 인증 필요: 인증된 사용자만 Cloud Run 서비스에 액세스할 수 있습니다.
공개 액세스를 허용해야 하는 특별한 요구사항이 없다면 인증을 요구하는 것이 좋습니다. 이렇게 하면 비용이 발생할 수 있는 원치 않는 요청을 방지할 수 있습니다.
Identity-Aware Proxy (IAP)로 사용자를 관리하는 경우 IAP에 자체 관련 비용이 발생할 수 있습니다.
인스턴스 기반 결제와 요청 기반 결제 비교
Cloud Run 서비스에는 두 가지 결제 설정이 있습니다.
- 요청 기반 결제 (기본값): 요청당 요금이 청구되며 요청 처리 중에 소비된 vCPU 및 메모리에 대해 더 높은 초당 요금이 부과됩니다.
- 인스턴스 기반 결제: 인스턴스의 전체 기간에 대한 비용이 청구됩니다. 요청당 요금이 없으며 vCPU 및 메모리의 초당 요금이 더 낮습니다.
트래픽이 안정적이고 천천히 변하는 서비스의 경우 인스턴스 기반 결제를 사용하는 것이 좋습니다. 컴퓨팅 요금이 낮고 요청당 요금이 없는 경우의 절감액이 요청 간의 유휴 시간 비용을 지불하는 비용보다 큽니다. 트래픽이 산발적이거나 급격히 증가하는 서비스의 경우 요청 기반 결제를 사용하는 것이 좋습니다. 어떤 결제 설정을 사용해야 할지 아직도 잘 모르겠다면 추천자를 참조하세요. 추천자는 지난 1개월 동안 Cloud Run 서비스에서 수신한 트래픽을 조회하여 요청 기반 결제에서 인스턴스 기반 결제로 전환하는 것이 더 저렴한 경우 전환을 권장합니다.
서비스 수준에서 서비스 확장 구성
비용 안전 기준을 설정하려면 서비스의 최대 인스턴스 를 구성하세요. 최대 수를 높게 설정하면 가용성이 우선시되지만 예기치 않은 트래픽 급증 또는 잘못된 구성으로 인해 결제 위험이 발생할 수 있습니다. 비용 기준을 설정하려면 서비스를 처음 배포할 때 서비스 수준에서 이 설정을 구성해야 합니다. 추가 비용 관리 도구는 리소스 할당 할당량 또는 결제 예산 및 알림을 참조하세요.
CPU 및 메모리 사용률 최적화
Cloud Run 서비스 비용은 CPU/메모리 구성 및 서비스 활성 기간과 같은 여러 요인의 영향을 받습니다. 리소스를 과도하게 프로비저닝하면 비용이 증가할 수 있습니다. 서비스에 가장 적합한 구성을 결정하려면 다음 단계를 따르세요.
- 기준 구성을 설정합니다.
- Cloud Monitoring에서 CPU 및 메모리 사용률 측정항목을 테스트하는 동안 측정항목을 모니터링합니다.
- 필요에 따라 구성을 조정합니다.
최대 부하에서 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 서비스를 배101}포해 보세요. 동일한 리전 내에서 리소스 간 데이터 전송은 무료입니다. 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 예산 지출 한도 를 구성하면 해당 한도가 프로젝트의 모든 Cloud Run 리소스 유형에 자동으로 적용됩니다.
Cloud Run 콘솔 개요 페이지에서 직접 지출 한도 진행 상황을 모니터링할 수 있습니다. 지출 한도에 도달하면 Google Cloud 다음 Cloud Run 리소스에 추가 비용이 발생하지 않도록 모든 Cloud Run 워크로드가 일시중지됩니다.
- 서비스: 기존 서비스는 트래픽을 제공하지 못하고
5xx오류를 반환합니다. - 작업: 새 작업 실행이 시작되지 않고 진행 중인 작업이 완료되지 않습니다.
- 작업자 풀: 기존 인스턴스가 작업 처리를 중지합니다.
지출 한도를 초과하면 알림이 전송되고 Cloud Run 콘솔에 시행 배너가 표시됩니다. 작업을 재개하려면 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