脆弱性スキャンの費用の管理

Container Analysis の一般提供開始に伴い、脆弱性スキャンは有料サービスになりました。プロモーション期間中は、請求額が削減されます。詳しくは料金ページをご覧ください。

プロモーション期間終了後、Container Scanning API を有効にすると、すぐに課金が開始されます。

コストを低く抑えるためのベスト プラクティス

Container Scanning API を有効にすると、push する新しいイメージがすべて自動的にスキャンされます。費用を抑えるには、スキャンしたいコンテナ イメージを別のプロジェクトに分けます。

  • 新しい Google Cloud プロジェクトを設定し、そのプロジェクトで Container Scanning API を有効にします。このプロジェクトには、Container Registry への通常の請求料金が発生します。スキャンしたいイメージをこのプロジェクトに push します。

  • CI/CD パイプラインに次のステップを追加します。

    1. Container Scanning が有効な Container Registry プロジェクトに対応するタグを追加します。

    2. イメージをプロジェクトに push します。

スキャン費用の見積もり

プロジェクト内のイメージの概算コストを計算するには、期間内にプッシュするイメージの数を見積もり、その値に $ 0.26 を掛けます。これを行うには、Cloud Shellでシェル スクリプトを実行します。

  1. プロジェクトの Cloud Shell を開きます。

    Cloud Shell を開く

  2. エディタを開く アイコンをクリックして、次の内容の新しいファイル cost-estimation.sh を作成します。

    
    #!/bin/bash
    
    # Replace with your project data
    GC_PROJECT='[PROJECT_REPOSITORY]'
    START_DATE='[START_DATE]'
    END_DATE='[END_DATE]'
    
    IFS=$'\n'
    FILTER="timestamp.date('%Y-%m-%d', Z)>'$START_DATE' AND timestamp.date('%Y-%m-%d', Z)<'$END_DATE'"
    PRICE="0.26"
    
    images=$( gcloud container images list --repository="$GC_PROJECT" | sed -n '/gcr.io/p' )
    total_digests=0
    
    for image in $images; do
      image_digests=$( gcloud container images list-tags --filter="$FILTER" "$image" | 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 "Number of images: $total_digests"
    echo "Estimated cost: $total_price"
    
    

    ここで

    • [PROJECT_REPOSITORY] はプロジェクトリポジトリです。例: gcr.io/corp-staging
    • [START_DATE] は見積もる期間の開始日です。形式は Y-m-d です。例: 2020-03-01
    • [END_DATE] は見積もる期間の終了日です。形式は Y-m-d です。例: 2020-03-31
  3. スクリプトを実行します。

    bash cost-estimation.sh
    

    イメージの合計数と推定費用が表示されます。

    Number of images: 53
    Estimated cost: 13.78
    

これは単なる見積もりであり、次のような他の要因によって実際の費用は変わる可能性があります。

  • 同じプロジェクト内の異なるマルチ リージョンに同じイメージを push しても、追加コストは発生しません。

  • 同じイメージを 2 つの異なるプロジェクト内の 2 つの異なるリポジトリに push しても追加費用は発生しません。

現在の脆弱性スキャンの費用の確認

プロジェクトで脆弱性スキャンを有効にしている場合、プロモーション期間中はスキャンの合計費用に割引が適用されます。この情報は請求レポートでご確認いただけます。

次のステップ