放置されたプロジェクトの Recommender

放置されたプロジェクト Recommender は、組織内のプロジェクトの使用状況を分析し、放置されたプロジェクトの検出、再利用、削除に役立つ推奨事項を提供します。

概要

変化の激しい組織では、プロジェクト全体を含むクラウド リソースが忘れ去られてしまうことも珍しくありません。このような放置されたリソースは特定が困難であり、不要な浪費やセキュリティ リスクをもたらす傾向があります。

放置プロジェクト Recommender は、組織内のすべてのプロジェクトの使用状況を分析し、以下の機能を使用して放置されたプロジェクトの検出、再利用、シャットダウンを行えるようになります。

  • すべてのプロジェクト(ネットワーク、API、プロジェクト オーナー、サービス アクティビティなど)の使用状況に関する分析情報。
  • 使用量が少ないプロジェクトを棄却する場合の推奨事項。
  • 使用量は多いがアクティブなオーナーがいないプロジェクトに、新しいオーナーを割り当てる場合の推薦事項。

放置されたプロジェクトをシャットダウンまたは再利用すると、組織に次のような影響とメリットがもたらされる場合があります。

  • セキュリティ リスクの削減(SECURITY
  • 不要な支出の削減(COST
  • ワークロードに関連する二酸化炭素排出量の削減(SUSTAINABILITY

仕組み

放置プロジェクトの Recommender では、過去 30 日間のプロジェクトの使用状況が分析されます。次の表に、使用率の高低に基づいて放置プロジェクトの Recommender が生成できる推奨事項と分析情報を示します。

プロジェクトの使用状況 / タイプ 分析情報のサブタイプ 推奨事項 推奨事項サブタイプ
以下のプロジェクト:
  • 過去 30 日間で使用量が少ない
PROJECT_ACTIVITY プロジェクトを確認または削除します。 CLEANUP_PROJECT
以下のプロジェクト:
  • 過去 30 日間で使用量が多い
  • ユーザー オーナーが割り当てられているが、プロジェクトでアクティブなユーザーがいない。
PROJECT_ACTIVITY 新しいオーナーを割り当てて、プロジェクトを再利用します。 RECLAIM_PROJECT
Apps Script 以外のすべてのプロジェクト。 PROJECT_ACTIVITY - -

推奨事項と分析情報は、Cloud 組織階層のさまざまなレベルで利用できます。これらの推奨事項と分析情報にアクセスするには、対応するレベルでの IAM ロール バインディングが必要です。

  • プロジェクト レベル: プロジェクト オーナーは、アクセス権のあるプロジェクトの分析情報と推奨事項を確認し、対処できます。
  • 組織レベル: 組織管理者は、クラウド組織内のプロジェクトの分析情報と推奨事項を確認して、対処できます。
  • 請求先アカウント レベル: 請求管理者は、特定の請求先アカウントに関連するプロジェクトの分析情報と推奨事項を確認して、対処できます。

プロジェクトの使用状況のランク付け

使用率の高低を測るため、提供された推奨事項に基づいてプロジェクトがランク付けされます。プロジェクトの使用状況のランクは、プロジェクトの利用分析情報に記載されている内容に基づいて計算されます。

使用率が低いことが確認されたプロジェクトの場合、次の条件が適用されます。

使用分類 条件
プロジェクトが 50 個を超える組織
  • プロジェクトのランク付けは、プロジェクトの利用分析情報に含まれるすべてのコンテンツの使用状況のレベルに基づいて行われます。
  • プロジェクトの使用状況が、その組織の他のすべてのプロジェクトに比べて 10% の範囲内の場合、そのプロジェクトは放置と分類されます。
プロジェクトが 50 個未満の組織
  • プロジェクト(consumedApiDailyCount)で使用された API 呼び出しの 1 日平均が 100 未満です。
  • Cloud Logging が、プロジェクトで使用されている唯一のサービスです。
  • 他のすべてのプロジェクト利用分析情報の値は 0 です。

推奨事項の優先度と影響

放置されたプロジェクトの推奨事項には、次のフィールドが含まれ、推奨事項を適用するメリットの優先順位付けと推定に役立ちます。

  • priority - P1~P4 の優先度。P1 が最も高い優先度になります。
  • primaryImpact - SECURITY。放置されたプロジェクトにおける優先度の高いセキュリティ推奨事項の数。
  • additionalImpact(s) - COSTSUSTAINABILITY。プロジェクトが削除された場合に実現される費用($)とサステナビリティの排出量(kgCO2e)の削減。

レコメンデーションの優先度

放置されたプロジェクトの推奨事項の優先度は、P1 から P4 までで、P1 が最も高い優先度になります。

Recommender は、放置された各プロジェクトのセキュリティの推奨事項を確認することから始まります。そして、放置されたプロジェクトの推奨事項の優先度を、プロジェクト内で検出された最も高い優先度の推奨事項の優先度と同じに設定します。たとえば、放置されたプロジェクトに 10 個のセキュリティの推奨事項があり、8 個は P2 の推奨事項、2 個は P1 の推奨事項である場合、放置されたプロジェクトの推奨事項には優先度 P1 が割り当てられます。

放置されたプロジェクトで最も頻繁に発生するセキュリティの推奨事項は、IAM Recommender からのものです。優先度が P1 の放置されたプロジェクトの推奨事項は、放置されたプロジェクトに一般公開されている Cloud Storage バケットがあることを意味します(詳しくは、IAM Recommender の優先度の設定方法をご覧ください)。

セキュリティへの影響

primaryImpact - SECURITY フィールドでは、放置されたプロジェクトの優先度の高い(P2 以上)セキュリティ推奨事項の数に等しい securityProjection が提供されます。たとえば、広範な編集者ロールをよりきめ細かいロールに置き換える推奨事項がプロジェクトにある場合、その推奨事項には P2 の優先度があり、priorityRecommendationCount でカウントされます。

費用への影響

additionalImpact - COST フィールドには、放置されたプロジェクトが削除された場合の費用削減額の概算を示す costProjection が表示されます。これは、過去 30 日間に放置されたプロジェクトで実行されているリソースで発生した費用に基づいています。

サステナビリティへの影響

additionalImpact - SUSTAINABILITY フィールドには、無人プロジェクトで実行しているリソースが過去 30 日間に行った炭素排出量の推定値である sustainabilityProjection が表示されます。推定値は、同等の二酸化炭素量に換算したキログラム単位(kgCO2e)で測定されます。

プロジェクト利用分析情報の内容

プロジェクトの利用分析情報の内容は、プロジェクトの使用状況をランク付けし、CLEANUP_PROJECT または RECLAIM_PROJECT の推奨事項を生成するために使用されるフィールド値です。

次の表に、PROJECT_ACTIVITY の分析情報の一部として Recommender が表示するフィールドを示します。

フィールド 説明
使用レベル
usagePercentile このプロジェクトの使用レベル。同じ組織内の他のプロジェクトと比較した場合のパーセンタイルで示されます。

パーセンタイルが -1 の場合、値は計算されません。組織のプロジェクト数が 50 未満の場合、値は計算されません。

API アクティビティ
activeServiceAccountDailyCount このプロジェクトで認証アクティビティが発生したサービス アカウントの 1 日平均。
apiClientDailyCount このプロジェクトによって作成された API 呼び出しのクライアントごとのの 1 日平均。
consumedApiDailyCount このプロジェクトによって使用された API 呼び出しの 1 日平均。
datastoreApiDailyCount このプロジェクトによって使用された Datastore API 呼び出しの 1 日平均
ネットワーキング アクティビティ
vpcEgressDailyBytes このプロジェクトからの VPC 下り(外向き)バイト数の 1 日平均。
vpcIngressDailyBytes このプロジェクトへの VPC 上り(内向き)バイト数の 1 日平均。
請求と使用量
hasBillingAccount モニタリングの最後にプロジェクトの請求先アカウントがあるかどうかを確認します。
serviceWithBillableUsage 過去 30 日間に使用された課金対象サービスの名前。
クラウド サービスの使用
activeAppengineInstanceDailyCount: system/instance_count このプロジェクトでアクティブな App Engine インスタンス数の 1 日平均。
activeCloudsqlInstanceDailyCount このプロジェクトでアクティブな Cloud SQL インスタンス数の 1 日平均。
activeGceInstanceDailyCount このプロジェクトでアクティブな Compute Engine インスタンス数の 1 日平均。
bigqueryInflightJobDailyCount このプロジェクトで処理中の BigQuery ジョブ数の 1 日平均。
bigqueryInflightQueryDailyCount このプロジェクトで処理中の BigQuery クエリ数の 1 日平均。
bigqueryStorageDailyBytes このプロジェクトで処理中の BigQuery ストレージ数の 1 日平均。
bigqueryTableDailyCount このプロジェクトの BigQuery テーブル数の 1 日平均。
gcsObjectDailyCount このプロジェクトの Cloud Storage オブジェクト数の 1 日平均。
gcsRequestDailyCount このプロジェクトの Cloud Storage API 数の 1 日平均。
gcsStorageDailyBytes このプロジェクトの Cloud Storage が使用するストレージのバイト数の 1 日平均。
ユーザー アクティビティ
numActiveUserOwners モニタリング期間の終了時のアクティブ ユーザー タイプのプロジェクト オーナーの数。アクティブとは、ユーザー アカウントが無効ではなく、モニタリング期間中にこのプロジェクトで識別されたアクティビティがあったことを意味します。
owners プロジェクト オーナーとそのアクティビティのリスト
その他のフィールド
hasActiveOauthTokens プロジェクトで過去 180 日間に使用されたアクティブな OAuth トークンがあるかどうかを確認します。
carbonFootprintDailyKgCO2 使用可能な過去 30 日間のデータに基づく、このプロジェクトによる二酸化炭素排出量の 1 日の平均です。
costProjection プロジェクトが削除された場合の指定した期間内で予想される費用削減額。カスタム価格または正規価格は、請求先アカウントの権限に基づいて表示されます。これは、過去 30 日間のデータに基づく推定値であり、請求を構成するものではありません。
severity severity は、プロジェクトで見つかった最も重大なセキュリティ分析情報の対応する値に設定されます。たとえば、分析情報に関する IAM Recommender による重大度の設定方法に基づいて、放置されたプロジェクトの分析情報の CRITICAL 重大度は、おそらく放置されたプロジェクトに一般公開されている Cloud Storage バケットがあることを意味しています。

プロジェクトを削除するための推奨事項

過去 30 日間に使用量が少なくかつ、過去 180 日間に OAuth トークンが使用されていない場合は、プロジェクトを削除することをおすすめします。

プロジェクトに新しいオーナーを割り当てるための推奨事項

下記のすべての条件を満たす場合に、新しいオーナーをプロジェクトに割り当てることをおすすめします。

  • 割り当てられたすべてのオーナーが、プロジェクトで過去 90 日間アクティブになっていないか、退職しているかのいずれか。
  • プロジェクトの使用アクティビティが多い。

料金

Active Assist の料金の詳細については、Recommender の料金をご覧ください。

準備

分析情報と推奨事項を表示する前に、次のことを行う必要があります。

  • Recommender API を有効にする必要があります。1 つの課金プロジェクトで API を有効にします。gcloud / API の --billing-project 機能により、この請求プロジェクトを使用して、他のプロジェクト、組織全体、または請求先アカウントの推奨事項と分析情報を調べることができます。
  • 必要なロールのいずれかが割り当てられていることを確認します。
説明 ロール
レコメンデーションを表示 recommender.projectUtilViewer
推奨事項の表示と更新 recommender.projectUtilAdmin
透明性とコントロール センターでの分析情報と推奨事項のオプトアウト dataprocessing.admin

これらのロールにより、分析情報と推奨事項にアクセスできる一連の権限が付与されます。ロールの詳細については、ロールについてIAM の権限の付与をご覧ください。

これらのロールを組織レベルで付与すると、組織内のプロジェクトの推奨事項や分析情報に個別にアクセスできます。また、組織レベルの API を使用して、まとめて(組織内で放置されたすべてのプロジェクトに)アクセスすることもできます。

これらのロールを請求先アカウント レベルで付与すると、指定した請求先アカウントを使用するプロジェクトの推奨事項と分析情報にアクセスできるようになります。

オプトアウトの詳細については、分析情報と推奨事項のオプトアウトをご覧ください。

Recommender ID

放置されたプロジェクトの Recommender ID と分析情報タイプは次のとおりです。

  • google.resourcemanager.projectUtilization.Recommender
  • google.resourcemanager.projectUtilization.Insight

必要な IAM 権限

推奨事項と分析情報のリストにアクセスするには、次の権限が必要です。

  • recommender.resourcemanagerProjectUtilizationRecommendations.get
  • recommender.resourcemanagerProjectUtilizationRecommendations.list
  • recommender.resourcemanagerProjectUtilizationInsights.get
  • recommender.resourcemanagerProjectUtilizationInsights.list

推奨事項と分析情報を更新するには(たとえば、推奨事項を退けるため)、次の権限が必要です。

  • recommender.resourcemanagerProjectUtilizationRecommendations.update
  • recommender.resourcemanagerProjectUtilizationInsights.update

放置されたプロジェクトの推奨事項の表示

このセクションでは、gcloudcurl を使用して Recommender API にリクエストを送信し、放置プロジェクトの分析情報と推奨事項を確認する方法について説明します。

gcloud

gcloud を使用して推奨事項と分析情報を確認する手順は次のとおりです。詳細については、API の使用 - 分析情報API の使用 - 推奨事項をご覧ください。

推奨事項

  1. Recommender API を有効にしたプロジェクトについて放置プロジェクトの推奨事項を一覧表示するには、次のコマンドを実行します。

      gcloud recommender recommendations list \
      --project=PROJECT_ID \
      --location=global \
      --recommender=google.resourcemanager.projectUtilization.Recommender
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID。
  2. 前の手順のように Recommender API を有効にしたプロジェクトを使用して、別のプロジェクトの放置されたプロジェクトの推奨事項を一覧表示するには、次のコマンドを実行します。

      gcloud recommender recommendations list \
      --billing-project=BILLING_PROJECT_ID \
      --project=PROJECT_ID \
      --location=global \
      --recommender=google.resourcemanager.projectUtilization.Recommender
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(これは前の手順で示したものと同じ PROJECT_ID になります)。
    • PROJECT_ID: 放置されたプロジェクトの推奨事項を表示する別のプロジェクトの ID。
  3. 前の手順で Recommender API を有効にしたプロジェクトを使用して、組織全体の放置されたプロジェクトの推奨事項を一覧表示するには、次のコマンドを実行します。

      gcloud recommender recommendations list \
      --billing-project=BILLING_PROJECT_ID \
      --organization=ORGANIZATION_ID \
      --location=global \
      --recommender=google.resourcemanager.projectUtilization.Recommender
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(前の手順の PROJECT_ID と同じものになります)。
    • ORGANIZATION_ID: 放置されたプロジェクトの推奨事項を表示する組織の ID。
  4. 前の手順で Recommender API を有効にしたプロジェクトを使用していて、特定の請求先アカウントを使用している放置されたプロジェクトの推奨事項を一覧表示するには、次のコマンドを実行します。

      gcloud recommender recommendations list \
      --billing-project=BILLING_PROJECT_ID \
      --billing-account=BILLING_ACCOUNT_ID \
      --location=global \
      --recommender=google.resourcemanager.projectUtilization.Recommender
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(前の手順の PROJECT_ID と同じものになります)。
    • BILLING_ACCOUNT_ID: Google Cloud 請求先アカウントの ID。

分析情報

  1. 特定のプロジェクトについての利用分析情報を一覧表示するには、次のコマンドを実行します。

      gcloud recommender insights list \
      --project=PROJECT_ID \
      --location=global \
      --insight-type=google.resourcemanager.projectUtilization.Insight
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID。
  2. 別のプロジェクトの利用分析情報を一覧表示するには、前の手順のように、Recommender API を有効にしたプロジェクトの使用中に次のコマンドを実行します。

      gcloud recommender insights list \
      --billing-project=BILLING_PROJECT_ID \
      --project=PROJECT_ID \
      --location=global \
      --insight-type=google.resourcemanager.projectUtilization.Insight
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(これは前の手順の PROJECT_ID と同じものになります)。
    • PROJECT_ID: 放置プロジェクトの Recommender の分析情報を表示する別のプロジェクトの ID。
  3. 前の手順で Recommender API を有効にしたプロジェクトを使用して、組織全体の使用状況の分析情報を一覧表示するには、次のコマンドを実行します。

      gcloud recommender insights list \
      --billing-project=BILLING_PROJECT_ID \
      --organization=ORGANIZATION_ID \
      --location=global \
      --insight-type=google.resourcemanager.projectUtilization.Insight
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(前の手順の PROJECT_ID と同じものになります)。
    • ORGANIZATION_ID: 使用状況に関する分析情報を表示する組織の ID。
  4. 前の手順で Recommender API を有効にしたプロジェクトを使用して、特定の請求先アカウントに関する使用状況の分析情報を一覧表示するには、次のコマンドを実行します。

      gcloud recommender insights list \
      --billing-project=BILLING_PROJECT_ID \
      --billing-account=BILLING_ACCOUNT_ID \
      --location=global \
      --insight-type=google.resourcemanager.projectUtilization.Insight
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(前の手順の PROJECT_ID と同じものになります)。
    • BILLING_ACCOUNT_ID: Google Cloud 請求先アカウントの ID。

API

推奨事項と分析情報を表示するには、curl を使用して Recommender API にリクエストを送信します。コマンドラインからリクエストを承認するには、OAuth アクセス トークンを使用します。OAuth アクセス トークンは、API への一時的なアクセスを許可する文字列です。

推奨事項

  1. Recommender API を有効にしたプロジェクトについて放置プロジェクトの推奨事項を一覧表示するには、次のコマンドを実行します。

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/\
    recommenders/google.resourcemanager.projectUtilization.Recommender/recommendations"
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
  2. 前の手順のように Recommender API を有効にしたプロジェクトを使用して、別のプロジェクトの放置プロジェクトの推奨事項を一覧表示するには、次のコマンドを実行します。

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: BILLING_PROJECT_ID" \
    "https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/\
    recommenders/google.resourcemanager.projectUtilization.Recommender/recommendations"
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(これは前の手順で示したものと同じ PROJECT_ID になります)。
    • PROJECT_ID: 放置されたプロジェクトの推奨事項を表示する別のプロジェクトの ID。
  3. 前の手順で Recommender API を有効にしたプロジェクトを使用して、組織全体の放置されたプロジェクトの推奨事項を一覧表示するには、次のコマンドを実行します。

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: BILLING_PROJECT_ID" \
    "https://recommender.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/\
    recommenders/google.resourcemanager.projectUtilization.Recommender/recommendations"
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(これは前の手順の PROJECT_ID と同じものになります)。
    • ORGANIZATION_ID: 放置されたプロジェクトの推奨事項を表示する組織の ID。
  4. 前の手順で Recommender API を有効にしたプロジェクトを使用していて、特定の請求先アカウントを使用している放置されたプロジェクトの推奨事項を一覧表示するには、次のコマンドを実行します。

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: BILLING_PROJECT_ID" \
    "https://recommender.googleapis.com/v1/billingAccounts/BILLING_ACCOUNT_ID/locations/global/\
    recommenders/google.resourcemanager.projectUtilization.Recommender/recommendations"
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(これは前の手順の PROJECT_ID と同じものになります)。
    • BILLING_ACCOUNT_ID: Google Cloud 請求先アカウントの ID。

分析情報

  1. 特定のプロジェクトについての利用分析情報を一覧表示するには、次のコマンドを実行します。

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global\
    /insightTypes/google.resourcemanager.projectUtilization.Insight/insights"
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
  2. 別のプロジェクトの利用分析情報を一覧表示するには、前の手順のように、Recommender API を有効にしたプロジェクトの使用中に次のコマンドを実行します。

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "x-goog-user-project: BILLING_PROJECT_ID/" \
    "https://recommender.googleapis.com/v1/projects/PROJECT_ID//locations/global\
    /insightTypes/google.resourcemanager.projectUtilization.Insight/insights"
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(これは前の手順の PROJECT_ID と同じものになります)。
    • PROJECT_ID: 放置プロジェクトの Recommender の分析情報を表示する別のプロジェクトの ID。
  3. 前の手順で Recommender API を有効にしたプロジェクトを使用して、組織全体の使用状況の分析情報を一覧表示するには、次のコマンドを実行します。

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: PROJECT_ID/" \
    "https://recommender.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/\
    insightTypes/google.resourcemanager.projectUtilization.Insight/insights"
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(これは前の手順の PROJECT_ID と同じものになります)。
    • ORGANIZATION_ID: 放置されたプロジェクトの推奨事項を表示する組織の ID。
  4. 前の手順で Recommender API を有効にしたプロジェクトを使用して、特定の請求先アカウントに関する使用状況の分析情報を一覧表示するには、次のコマンドを実行します。

    curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
    -H "x-goog-user-project: PROJECT_ID/" \
    "https://recommender.googleapis.com/v1/billingAccounts/BILLING_ACCOUNT_ID/locations/global/\
    insightTypes/google.resourcemanager.projectUtilization.Insight/insights"
    

    次のように置き換えます。

    • BILLING_PROJECT_ID: Recommender API で有効にしたプロジェクトの ID(これは前の手順の PROJECT_ID と同じものになります)。
    • BILLING_ACCOUNT_ID: Google Cloud 請求先アカウントの ID。

推奨パラメータの構成

このセクションでは、gcloudcurl を使用して、この Recommender を表示して構成する方法について説明します。

次の表に、構成可能なパラメータを示します。

パラメータ 説明 期待される値
minimum_observation_period 最小モニタリング期間では、推奨事項が生成されるまでに分析されるプロジェクト アクティビティの日数を定義します。

現在、この値の設定は組織レベルでのみサポートされています。

"P30D"(デフォルト)、"P60D"、"P90D"、"P180D"、"P270D"、"P365D"

gcloud

gcloud を使用して Recommender の構成を表示して更新するには、次の手順を行います。

構成の表示

  1. 特定の組織の放置プロジェクトの Recommender の構成を表示するには、Recommender API が有効になっている組織に属するプロジェクトから次のコマンドを実行します。

    gcloud beta recommender recommender-config describe \
    google.resourcemanager.projectUtilization.Recommender \
    --organization=ORGANIZATION_ID \
    --location=global
    

    次のように置き換えます。

    • ORGANIZATION_ID: 組織 ID。
  2. 出力例:

    etag: ETAG
    name: organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config
    recommenderGenerationConfig:
      params:
        minimum_observation_period: P30D
    revisionId: DEFAULT
    updateTime: '2022-04-19T00:57:55Z'
    

    ETag の値をメモしてください。

    • ETAG: この値は recommender-config update で使用されます。

構成の更新

  1. 特定の組織の放置プロジェクトの Recommender 構成を更新するには、Recommender API を有効にした組織に属するプロジェクトを選択して、config.gcloud ファイルを作成します。

    
    {
     "params": {
        "minimum_observation_period": DURATION
      }
    }
    

    次のように置き換えます。

    • DURATION: "P30D"、"P60D"、"P90D"、"P180D"、"P270D"、"P365D" のいずれか
  2. 次のコマンドを実行します。

    gcloud beta recommender recommender-config update \
    google.resourcemanager.projectUtilization.Recommender \
    --organization=ORGANIZATION_ID \
    --location=global \
    --config-file=config.gcloud \
    --etag=ETAG
    

    次のように置き換えます。

    • ORGANIZATION_ID: 組織 ID。
    • ETAG: recommender-config describe から返された Etag 値。

API

Recommender の構成を表示して更新するには、curl を使用して Recommender API にリクエストを送信します。コマンドラインからリクエストを承認するには、OAuth アクセス トークンを使用します。OAuth アクセス トークンは、API への一時的なアクセスを許可する文字列です。

構成の表示

  1. 特定の組織の放置プロジェクトの Recommender の構成を表示するには、Recommender API が有効になっている組織に属するプロジェクトから次のコマンドを実行します。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "x-goog-user-project: PROJECT_ID" \
    https://recommender.googleapis.com/v1beta1/organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID。
    • ORGANIZATION_ID: 組織 ID。
  2. 出力例:

    
    {
      "name": "organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "P60D"
        }
      },
      "etag": ETAG,
      "updateTime": "2022-04-21T18:51:17.407255Z",
      "revisionId": "75c3b0d7"
    }
    
    

    ETag の値をメモしてください。

    • ETAG: この値は curl PATCH で使用されます。

構成の更新

  1. 特定の組織の放置プロジェクトの Recommender 構成を更新するには、Recommender API を有効にした組織に属するプロジェクトを選択して、request.json ファイルを作成します。

    
    {
      "name": "organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": DURATION
        }
      },
    "etag": ETAG,
    }
    

    次のように置き換えます。

    • DURATION: "P30D"、"P60D"、"P90D"、"P180D"、"P270D"、"P365D" のいずれか
    • ETAG: CURL get から返された Etag 値。
  2. 次のコマンドラインを実行します。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "x-goog-user-project: PROJECT_ID" \
    -H "Content-Type: application/json; charset=utf-8" -d @request.json \
    https://recommender.googleapis.com/v1beta1/organizations/ORGANIZATION_ID/locations/global/recommenders/google.resourcemanager.projectUtilization.Recommender/config
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID。
    • ORGANIZATION_ID: 組織 ID。

次のステップ