メインコンテンツまでスキップ

BigQuery のリアルタイム Anomaly Detection(異常の検出)

DoiT の BigQuery 向け準リアルタイムの Anomaly Detection(異常の検出)は、すべてのリージョンおよびゾーンにわたり、プロジェクト単位でオンデマンドのワークロードを監視します。検出システムは 30 分ごとに query タイプのジョブの生データを取得し、オンデマンド料金を適用してコストを推定します。この推定値を基にアノマリーを検出します。

必要な権限

BigQuery のリアルタイム Anomaly Detection を有効化するには、次の権限が必要です。

  • ご利用の DoiT アカウントに Manage Settings 権限が付与されていること

  • 対象プロジェクトに対して Role Administratorroles/iam.RoleAdmin)IAM ロールが付与されていること

BigQuery のリアルタイムアノマリーを有効化する

新規プロジェクトの接続時、または既存プロジェクトの編集時に BigQuery のリアルタイム Anomaly Detection を有効化できます(Google Cloud リソースを接続する を参照)。複数のプロジェクトで本機能を有効化する場合は、各プロジェクトごとに同じ手順を繰り返してください。

ヒント

現在、スロット予約に対するリアルタイムの Anomaly Detection を開発中です。機能のリリースに備え、事前にすべての予約管理用プロジェクトで BigQuery のリアルタイムアノマリーを有効化しておくことをお勧めします。詳しくは、BigQuery 予約の管理プロジェクトを特定する をご覧ください。

プロジェクト接続時に有効化する

  1. DoiT コンソール にサインインし、上部ナビゲーションバーから Integrate を選択し、Google Cloud を選択します。

  2. Connect ドロップダウンから Project を選択します。

  3. Real-time Anomalies – BigQuery のチェックボックスを選択します。必要な権限を表示するには、この機能を展開します(詳細は セキュリティとデータアクセス方針:機能の権限 を参照)。

    Add BigQuery real-time anomaly to GCP project

  4. Generate gcloud commands を選択します。

  5. サイドパネルに表示される手順に従ってサービスアカウントを設定します。詳細は Google Cloud プロジェクトを接続する を参照してください。

  6. 接続が正常に設定されると、Real-time Anomalies – BigQuery 機能のステータスが Healthy と表示されます。

既存の接続で有効化する

接続済みプロジェクトにリアルタイムアノマリーを追加するには、次の手順を実施します。

  1. Google Cloud access & features ページで対象のサービスアカウントを見つけます。

  2. プロジェクト接続の横にあるケバブメニュー()を選択し、Edit を選択します。

  3. Real-time Anomalies – BigQuery のチェックボックスを選択して機能を追加します。

  4. Generate gcloud commands を選択します。

  5. サイドパネルの手順に従ってカスタムロールを更新します。

  6. Done を選択して機能を有効化します。

リアルタイム Anomaly Detection のコスト

リアルタイム Anomaly Detection 機能は、接続済みプロジェクト内のオンデマンドワークロードのクエリ生データを収集するために BigQuery jobs API を利用します。BigQuery jobs API に追加コストは発生しません。

BigQuery のリアルタイムアノマリーを無効化する

BigQuery のリアルタイムアノマリー機能を無効化するには、次のコマンドを実行して DoiT のカスタムロールに付与した権限を取り消します(<ROLE_NAME><PROJECT_ID> を正しい値に置き換えてください)。


gcloud iam roles update <ROLE_NAME> --project=<PROJECT_ID> --remove-permissions=bigquery.jobs.create,bigquery.jobs.get,bigquery.jobs.list,bigquery.jobs.listAll,bigquery.reservations.get,bigquery.reservations.list,monitoring.timeSeries.list,monitoring.metricDescriptors.get

BigQuery 予約の管理プロジェクトを特定する

BigQuery のコミットメントと予約は管理プロジェクトに関連付けられており、コミットしたスロットの請求先はその管理プロジェクトになります(詳細は Specifying an administration project を参照)。

複数の管理プロジェクトを使用している場合、最も簡単な特定方法は、以下の設定で DoiT コンソールでレポートを実行することです。

  • Filter resultsServiceBigQuery Reservation API(特定のサービスでフィルタリングすると Provider フィルターが自動的に追加されます。詳細は Select provider を参照)

  • Group by:Project/Account ID、SKU

以下のサンプルレポートは、直近 3 か月間に BigQuery 予約の請求が発生した Google Cloud プロジェクトを示しています。これらが BigQuery Reservations の管理プロジェクトであり、Real-time Anomalies – BigQuery 機能を有効化しておく必要があります。

Identify BigQuery reservation administration project