Lihat halaman harga untuk mengetahui informasi selengkapnya.
Praktik terbaik untuk menjaga biaya tetap rendah
Saat Anda mengaktifkan Container Scanning API, setiap image baru yang Anda kirim akan dipindai secara otomatis. Untuk menjaga biaya tetap rendah, pisahkan image container yang ingin Anda pindai ke project lain.
Siapkan Google Cloud project baru dan aktifkan Container Scanning API untuk project tersebut. Project ini akan dikenai biaya penagihan normal untuk Artifact Registry. Kirim gambar yang ingin Anda pindai ke project ini.
Tambahkan langkah-langkah berikut di pipeline CI/CD Anda:
Tambahkan tag yang sesuai dengan project Artifact Registry tempat Container Scanning diaktifkan.
Kirim gambar ke project.
Memperkirakan biaya pemindaian
Untuk menghitung perkiraan biaya gambar dalam project, perkirakan jumlah gambar yang Anda kirim dalam jangka waktu tertentu dan kalikan jumlah tersebut dengan harga per pemindaian. Anda dapat melakukannya dengan menjalankan skrip shell di Cloud Shell.
Buka Cloud Shell di project Anda.
Klik ikon Open Editor, lalu buat file baru
cost-estimation.sh
dengan konten berikut:#!/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"
Ganti kode berikut:
PRICE
: harga untuk pemindaian kerentanan otomatis yang tercantum di Harga.PROJECT_REPOSITORY
: repositori project Anda. Contoh,gcr.io/corp-staging
.START_DATE
: tanggal mulai periode yang akan diperkirakan, dalam formatY-m-d
. Misalnya,2020-03-01
.END_DATE
: tanggal akhir periode yang akan diperkirakan, dalam formatY-m-d
. Misalnya,2020-03-31
.
Jalankan skrip:
bash cost-estimation.sh
Bagian ini menampilkan jumlah total gambar dan total perkiraan biaya:
Number of images: 53 Estimated cost: 13.78
Ini hanyalah estimasi, biaya sebenarnya dapat berubah karena faktor lain, misalnya:
Mengirimkan gambar yang sama ke beberapa multi-region yang berbeda dalam project yang sama tidak menimbulkan biaya tambahan.
Mengirimkan gambar yang sama ke dua repositori berbeda dalam dua project yang berbeda tidak akan menimbulkan biaya tambahan.
Memeriksa biaya pemindaian kerentanan saat ini
Anda dapat melihat informasi ini di laporan penagihan.
Langkah berikutnya
- Pelajari pemindaian kerentanan lebih lanjut.