Consulte a página de preços para mais informações.
Práticas recomendadas para manter seus custos baixos
Quando você ativa a API Container Analysis, todas as novas imagens enviadas são verificadas automaticamente. Para manter os custos baixos, separe as imagens de contêiner que você quer verificar em um projeto diferente.
Configure um novo projeto do Google Cloud e ative a API Container Scanning para esse projeto. Esse projeto vai gerar cobranças normais para o Artifact Registry e o Container Registry (descontinuado). Envie as imagens que você quer verificar para este projeto.
Adicione as seguintes etapas no seu pipeline de CI/CD:
Adicione uma tag correspondente ao projeto do Artifact Registry ou do Container Registry em que a verificação de contêineres está ativada.
Envie as imagens para o projeto.
Estime os custos de verificação
Para calcular o custo aproximado das imagens em um projeto, estime o número de imagens enviadas em um período e multiplique esse número pelo preço por verificação. Para isso, execute um script de shell no Cloud Shell.
Abra um Cloud Shell no projeto.
Clique no ícone Abrir editor e crie um novo arquivo
cost-estimation.sh
com o seguinte conteúdo:#!/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"
Substitua:
PRICE
: o preço da verificação de vulnerabilidades automática encontrada em Preços.PROJECT_REPOSITORY
: o repositório do projeto. Por exemplo,gcr.io/corp-staging
.START_DATE
: a data de início do período a ser estimado, no formatoY-m-d
. Por exemplo,2020-03-01
.END_DATE
: a data de término do período a ser estimada, no formatoY-m-d
. Por exemplo,2020-03-31
.
Execute o script:
bash cost-estimation.sh
Ele mostra o número total de imagens e o custo total estimado:
Number of images: 53 Estimated cost: 13.78
Esta é apenas uma estimativa. O custo real pode mudar devido a outros fatores, por exemplo:
Enviar a mesma imagem para diferentes regiões do mesmo projeto não gera custos adicionais.
Enviar a mesma imagem para dois repositórios diferentes em dois projetos diferentes não gera custos adicionais.
Verificar os custos atuais de verificação de vulnerabilidades
Você pode conferir essas informações no seu relatório de faturamento.
A seguir
- Saiba mais sobre a verificação de vulnerabilidades.