Per ulteriori informazioni, consulta la pagina dei prezzi.
Best practice per mantenere i costi bassi
Quando abiliti l'API Container Scanning, ogni nuova immagine di cui esegui il push viene analizzata automaticamente. Per contenere i costi, prova a:
Abilita la scansione su singoli repository all'interno di un progetto.
Separa le immagini container che vuoi scansionare in un progetto diverso.
Configura un nuovo Google Cloud progetto e abilita l'API Container Scanning per il progetto. Questo progetto comporterà normali addebiti per la fatturazione per Artifact Registry. Esegui il push delle immagini che vuoi analizzare in questo progetto.
Aggiungi i seguenti passaggi alla tua pipeline CI/CD:
Aggiungi un tag corrispondente al progetto Artifact Registry in cui è abilitato Container Scanning.
Esegui il push delle immagini nel progetto.
Stima i costi di scansione
Per calcolare il costo approssimativo delle immagini in un progetto, stima il numero di immagini che invii in un periodo di tempo e moltiplica questo numero per il prezzo per scansione. Puoi farlo eseguendo uno script shell in Cloud Shell.
Apri Cloud Shell nel tuo progetto.
Fai clic sull'icona Apri editor e crea un nuovo file
cost-estimation.shcon i seguenti contenuti:#!/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