最近の変更に関する推奨事項

最近の変更に関する推奨事項では、使用状況などのシグナルに基づいて重要と識別されたクラウド リソースに対して最近行われたリスクの高い変更を自動的に報告し、重要なクラウド リソースの構成ミスに起因する問題(サービスの停止など)を軽減できるようにします。たとえば、使用頻度の高いプロジェクトを削除した場合、最近の変更に関する推奨事項により、変更に関連するリスクが警告され、予期しない問題を認識できます。

範囲

最近の変更に関する推奨事項は、次の表に示すリソースとアクションのみをサポートしています。

リソース アクション 推奨範囲 / レベル 対象 リソースの重要度を決定する条件
プロジェクト 削除 組織
  • Google Cloud CLI
  • Recommender API
  • Cloud Logging(オプトイン)
  • プロジェクトの使用状況(API 呼び出し、ネットワーク トラフィック、Google Cloud サービスの使用状況)
  • 請求
  • 過去 30 日間の使用状況
  • サービス アカウント 削除 プロジェクト
  • Google Cloud CLI
  • Recommender API
  • Cloud Logging(オプトイン)
  • 認証回数
  • 過去 90 日間の使用状況
  • この機能全般に関するフィードバックを送信する場合や、今後のリリースでサポートを希望するリソースやアクションをリクエストする場合は、トラブルシューティング、フィードバック、サポートをご覧ください。

    始める前に

    1. 単一の課金プロジェクトで Recommender API を有効にします。gcloud / API の請求プロジェクト機能により、この請求プロジェクトを使用して、他のプロジェクト、組織全体、または請求先アカウントの推奨事項と分析情報を取得できます。

    2. この機能へのアクセスに使用する権限をユーザーまたはサービス アカウントに付与します。

    権限

    最近の変更に関する推奨事項を表示するには、最近の変更に関する Recommender の特定の権限が必要です。

    • recommender.cloudRecentChangeRecommendations.get
    • recommender.cloudRecentChangeRecommendations.list
    • recommender.cloudRecentChangeInsights.get
    • recommender.cloudRecentChangeInsights.list

    これらの権限を含む roles/recommender.viewer ロールを付与することもできます。

    最近の変更に関する推奨事項を表示する

    以降のセクションでは、サポートされているアクションの最近の変更に関する推奨事項を表示する方法について説明します。

    プロジェクトの削除

    API

    • ListRecommendation:

      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/\
      recommenders/google.cloud.RecentChangeRecommender/recommendations"
      

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

      • PROJECT_ID : Recommender API を有効にしたプロジェクトのプロジェクト ID。
      • ORGANIZATION_ID : 最近の変更のリスクに関する推奨事項を表示する組織の組織 ID。
    • ListInsight:

      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.cloud.RecentChangeInsight/insights"
      

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

      • PROJECT_ID : Recommender API を有効にしたプロジェクトのプロジェクト ID。
      • ORGANIZATION_ID : 最近の変更のリスクに関する推奨事項を表示する組織の組織 ID。

    Google Cloud CLI

    • ListRecommendation:

      gcloud recommender recommendations list --recommender=google.cloud.RecentChangeRecommender \
        --organization=ORGANIZATION_ID  --location=global --format=yaml
      

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

      • ORGANIZATION_ID : 最近の変更のリスクに関する推奨事項を表示する組織の組織 ID。
    • ListInsight

      gcloud recommender insights list --insight-type=google.cloud.RecentChangeInsight \
        --organization=ORGANIZATION_ID  --location=global --format=yaml
      

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

      • ORGANIZATION_ID : 最近の変更のリスクに関する推奨事項を表示する組織の組織 ID。

    サービス アカウントの削除

    API

    • ListRecommendation:

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

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

      • PROJECT_ID : Recommender API を有効にしたプロジェクトのプロジェクト ID。
    • ListInsight:

      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.cloud.RecentChangeInsight/insights"
      

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

      • PROJECT_ID : Recommender API を有効にしたプロジェクトのプロジェクト ID。
      • BILLING_PROJECT_ID : 課金プロジェクト ID。

    Google Cloud CLI

    • ListRecommendation:

      gcloud recommender recommendations list --recommender=google.cloud.RecentChangeRecommender \
        --project=PROJECT_ID  --location=global --format=yaml
      

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

      • PROJECT_ID : Recommender API を有効にしたプロジェクトのプロジェクト ID。
    • ListInsight

      gcloud recommender insights list --insight-type=google.cloud.RecentChangeInsight \
        --project=PROJECT_ID  --location=global --format=yaml
      

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

      • PROJECT_ID : Recommender API を有効にしたプロジェクトのプロジェクト ID。

    レスポンスの内容

    次の表に、推奨事項と分析情報のオブジェクトに含まれるフィールドの説明を示します。

    推奨事項

    フィールド名 説明
    associatedInsights 文字列 この推奨事項に関連付けられている分析情報。
    asset オブジェクト 関連するリソースのアセット名とアセットタイプが含まれます。
    etag 文字列 RecommenderConfig のフィンガープリント。更新時にオプティミスティック ロックを提供します。
    lastRefreshTime 文字列 推奨事項が最後に更新された時刻のタイムスタンプ。
    RFC 3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒。例: 2022-01-10T22:47:38.421626Z

    分析情報

    フィールド名 説明
    associatedRecommendations 文字列 この推奨事項に関連する推奨事項。
    projects/[project_number]/locations/global/recommenders/google.cloud.RecentChangeRecommender/recommendations/[recommendation_id]
    importance オブジェクト このリソースが重要であると Google が判断した理由が含まれます。
    risk オブジェクト リソースの重要度の検出に関連するさまざまなデータが含まれます。
    lastRefreshTime 文字列 推奨事項が最後に更新された時刻のタイムスタンプ。
    RFC 3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒。例: 2022-01-10T22:47:38.421626Z

    最近の変更に関する推奨事項をログに記録する

    必要に応じて、Cloud Logging を使用して、最近の変更に関する推奨事項が発生するたびにログを作成できます。これらのログはプラットフォーム ログであるため、追加料金が発生します。デフォルトでは、ロギングはオフになっています。ログを生成するには、Recommender 構成を使用してロギングを有効にする必要があります。

    推奨事項のタイプ ロギング スコープ
    リスクの高いプロジェクトの削除 組織レベル
    リスクの高いサービス アカウントの削除 プロジェクト レベル

    推奨事項のロギング スコープは、推奨事項のスコープに対応します。ロギングは、組織またはプロジェクトに対して個別に有効にできます。この機能の場合、推奨事項のロギング構成は組織からプロジェクトに継承されません。サービス アカウント削除の推奨事項のロギングを行うには、対応するプロジェクトのロギングを有効にする必要があります。

    Cloud Logging を表示するには(有効になっている場合)、ログ閲覧者の権限が必要です。

    ロギング構成

    Recommender の構成を表示して更新するには、次の権限が必要です。

    • recommender.cloudRecentChangeRecommenderConfig.get
    • recommender.cloudRecentChangeRecommenderConfig.list
    • recommender.cloudRecentChangeRecommenderConfig.update

    ロギングを有効にする

    プロジェクトのロギングを有効にするには --project フラグを、組織のロギングを有効にするには --organization フラグを使用します。次の例は、プロジェクトのロギングを有効にする方法を示しています。

    1. recommenderGenerationConfigenable_creation_logs パラメータを確認します。

      gcloud recommender recommender-config describe google.cloud.RecentChangeRecommender \
        --project=PROJECT_ID  --location=global
      

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

      • PROJECT_ID : Recommender API を有効にしたプロジェクトのプロジェクト ID。

      出力は次のようになります。

      <pre class="console">
      etag: '"******"'
      recommenderGenerationConfig:
        params:
          enable_creation_logs: false
      …
      </pre>
      
    2. 次の行を含む config.txt ファイルを作成します。

      {
        "params": {
          "enable_creation_logs": true
        }
      }
      
    3. パラメータを更新します。

      gcloud recommender recommender-config update google.cloud.RecentChangeRecommender \
        --project=PROJECT_ID  --location=global --config-file=config.txt \
        --etag="ETAG "
      

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

      • PROJECT_ID : Recommender API を有効にしたプロジェクトのプロジェクト ID。
      • ETAG : ETAG は、前の describe コマンドの値です。

    トラブルシューティング、フィードバック、サポート

    技術的な問題、質問、フィードバックについては、active-assist-feedback@google.com までメールでお問い合わせください。