Mengontrol biaya pemindaian kerentanan

Pemindaian kerentanan menjadi layanan berbayar dengan rilis ketersediaan umum Artifact Analysis. Saat Anda mengaktifkan API pemindaian, penagihan akan langsung dimulai.

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 kirimkan akan dipindai secara otomatis. Agar biaya tetap rendah, pisahkan image container yang ingin Anda periksa ke dalam project lain.

  • Siapkan project Google Cloud baru dan aktifkan Container Scanning API untuk project tersebut. Project ini akan dikenai biaya penagihan normal untuk Artifact Registry dan Container Registry (Tidak digunakan lagi). Kirim gambar yang ingin Anda pindai ke project ini.

  • Tambahkan langkah-langkah berikut di pipeline CI/CD Anda:

    1. Tambahkan tag yang sesuai dengan project Artifact Registry atau Container Registry tempat Pemindaian Penampung diaktifkan.

    2. Kirim image ke project.

Memperkirakan biaya pemindaian

Untuk menghitung perkiraan biaya gambar dalam project, perkirakan jumlah gambar yang Anda kirim dalam jangka waktu tertentu, lalu kalikan jumlah tersebut dengan harga per pemindaian. Anda dapat melakukannya dengan menjalankan skrip shell di Cloud Shell.

  1. Buka Cloud Shell di project Anda.

    Buka Cloud Shell

  2. Klik ikon Open Editor dan 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 ditemukan di Harga.
    • PROJECT_REPOSITORY: repositori project Anda. Contoh, gcr.io/corp-staging.
    • START_DATE: tanggal mulai untuk periode yang akan diperkirakan, dalam format Y-m-d. Misalnya, 2020-03-01.
    • END_DATE: tanggal akhir untuk periode yang akan diperkirakan, dalam format Y-m-d. Misalnya, 2020-03-31.
  3. Jalankan skrip:

    bash cost-estimation.sh
    

    Halaman ini menampilkan jumlah total gambar dan estimasi biaya total:

    Number of images: 53
    Estimated cost: 13.78
    

Ini hanyalah estimasi, biaya sebenarnya dapat berubah karena faktor lain, misalnya:

  • Mendorong gambar yang sama ke multi-region yang berbeda dalam project yang sama tidak menghasilkan biaya tambahan.

  • Mendorong image yang sama ke dua repositori yang berbeda dalam dua project yang berbeda tidak akan menghasilkan biaya tambahan.

Memeriksa biaya pemindaian kerentanan saat ini

Anda dapat melihat informasi ini di laporan penagihan.

Langkah selanjutnya