자세한 내용은 가격 책정 페이지를 참고하세요.
비용 절감을 위한 권장사항
Container Scanning API를 사용 설정하면 푸시하는 모든 새 이미지가 자동으로 스캔됩니다. 비용을 낮게 유지하려면 스캔하려는 컨테이너 이미지를 다른 프로젝트로 분리하세요.
새 Google Cloud 프로젝트를 설정하고 해당 프로젝트에 대해 Container Scanning API를 사용 설정합니다. 이 프로젝트에는 Artifact Registry 및 Container Registry (지원 중단됨)에 대한 일반적인 결제 요금이 발생합니다. 스캔하려는 이미지를 이 프로젝트로 푸시합니다.
CI/CD 파이프라인에 다음 단계를 추가합니다.
Container Scanning이 사용 설정된 Artifact Registry 또는 Container Registry 프로젝트에 해당하는 태그를 추가합니다.
이미지를 프로젝트로 푸시합니다.
스캔 비용 예상
프로젝트의 이미지에 대한 대략적인 비용을 계산하려면 특정 기간에 푸시하는 이미지 수를 추정하고 이 숫자에 스캔당 가격을 곱합니다. Cloud Shell에서 셸 스크립트를 실행하면 됩니다.
프로젝트에서 Cloud Shell을 엽니다.
편집기 열기 아이콘을 클릭하고 다음 콘텐츠가 포함된 새 파일
cost-estimation.sh
를 만듭니다.#!/bin/bash # Replace with price from https://cloud.google.com/artifact-analysis/pricing PRICE='PRICE' # Replace with your project data GC_PROJECT='PROJECT_REPOSITORY' START_DATE='START_DATE' END_DATE='END_DATE' REGION=$(echo $GC_PROJECT | sed -n 's/\/.*//p') if [ -z "$REGION" ]; then printf "'GC_PROJECT' value must be a valid GCR or AR repository (e.g. gcr.io/corp-staging or us-central1-docker.pkg.dev/myproj/myrepo" exit 1 fi IFS=$'\n' FILTER="timestamp.date('%Y-%m-%d', Z)>'$START_DATE' AND timestamp.date('%Y-%m-%d', Z)<'$END_DATE'" images=$( gcloud container images list --repository="$GC_PROJECT" | sed -n "/$REGION/p" | sed 's/NAME: //' ) num_images=$(echo $images | wc -w) printf "Using gcloud to filter $num_images images from $START_DATE to $END_DATE (takes about 1 second per image)\n\n" total_digests=0 for image in $images; do printf "querying $image\n" image_digests=$( gcloud container images list-tags --filter="$FILTER" "$image" 2> >(sed "s/Listed 0 items.//" | sed -n "/.\+/p" >&2) | wc -l) if [[ "$image_digests" -gt 1 ]]; then total_digests=$(( total_digests + $image_digests - 1 )) fi done total_price=$( python -c "print($total_digests * $PRICE)" ) echo '' echo "Number of images: $total_digests" echo "Estimated cost: $total_price"
다음을 바꿉니다.
PRICE
: 가격에 있는 자동 취약점 스캔 가격입니다.PROJECT_REPOSITORY
: 프로젝트 저장소 예를 들면gcr.io/corp-staging
입니다.START_DATE
: 추정할 기간의 시작일로Y-m-d
형식입니다. 예를 들면2020-03-01
입니다.END_DATE
: 기간 종료일로Y-m-d
형식입니다. 예를 들면2020-03-31
입니다.
스크립트를 실행합니다.
bash cost-estimation.sh
총 이미지 수와 총 예상 비용을 보여줍니다.
Number of images: 53 Estimated cost: 13.78
이는 예상치일 뿐이며 다른 요소로 인해 실제 비용이 변경될 수 있습니다. 예를 들어,
동일한 프로젝트의 여러 멀티 리전에 동일한 이미지를 푸시해도 추가 비용이 발생하지 않습니다.
동일한 이미지를 서로 다른 두 프로젝트 내의 두 저장소에 푸시해도 추가 비용이 발생하지 않습니다.
현재 취약점 스캔 비용 확인
이 정보는 결제 보고서에서 확인할 수 있습니다.
다음 단계
- 취약점 스캔에 대해 자세히 알아보세요.