カスタムクエリの割り当てを作成する
このドキュメントでは、費用を管理するためにカスタムクエリの割り当てを設定、変更する方法について説明します。BigQuery アナリストによる費用の見積もりと管理の方法については、費用の見積もりと管理をご覧ください。
複数の BigQuery プロジェクトとユーザーが存在している場合は、カスタム割り当てを要求することで費用を管理できます。この割り当てでは、1 日に処理されるデータ量の上限を指定します。1 日の割り当ては、午前 0 時(太平洋時間)にリセットされます。
カスタム割り当てはプロアクティブなので、割り当てが 10 TB の場合は 11 TB のクエリを実行できません。処理されるデータに対してカスタム割り当てを作成すると、プロジェクト レベルまたはユーザーレベルで費用を管理できます。
カスタムの費用管理を設定するには、次のクエリ割り当てのいずれかまたは両方を更新します。
QueryUsagePerDay
: プロジェクト レベルのカスタム割り当ては、そのプロジェクト内のすべてのユーザーの合計使用量を制限します。QueryUsagePerUserPerDay
: ユーザーレベルのカスタム割り当ては、プロジェクト内のすべてのユーザーとサービス アカウントに個別に適用されます。
クエリ使用量の割り当ては、オンデマンド クエリ料金モデルにのみ適用されます。
設定可能な BigQuery の割り当ての詳細については、割り当てと上限をご覧ください。
必要なロール
割り当てを変更するために必要な権限を取得するには、プロジェクトに対して割り当て管理者(role/servicemanagement.quotaAdmin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
この事前定義ロールには、割り当ての変更に必要な serviceusage.quotas.update
権限が含まれています。
カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
カスタム割り当ての設定または変更
Trusted Cloud コンソールの [割り当てとシステム上限] ページでは、カスタム割り当ての設定や既存のカスタム割り当ての変更を行うことができます。割り当ての引き下げをリクエストすると、数分以内に変更が反映されます。割り当ての増加をリクエストすると、承認プロセスが行われるため、処理に時間がかかることがあります。詳細については、割り当ての調整をリクエストするをご覧ください。
1 日あたりに処理できる BigQuery データ量を制限するなど、カスタム費用管理を設定または更新するには、次の操作を行います。
Trusted Cloud コンソールで、[IAM と管理] > [割り当てとシステム上限] ページを開きます。
[フィルタ] 検索ボックスの [サービス] フィルタを使用して、BigQuery API をフィルタします。
変更する割り当てを選択します。たとえば、プロジェクト レベルとユーザーレベルの両方で 1 日にクエリできるデータ量を制限するには、[Query usage per day] と [Query usage per day per user] を選択します。リストをページ送りして探す必要がある場合があります。割り当てを選択すると、ツールバーが表示されます。
ツールバーで [
EDIT] をクリックします。[割り当ての変更] ダイアログが開きます。[無制限] が選択されている場合は、選択を解除します。
[新しい値] フィールドに、必要な割り当て値(TiB 単位)を入力します。
[完了] をクリックします。
[リクエストを送信] をクリックします。
割り当ての表示と管理について詳しくは、割り当ての表示と管理をご覧ください。
返されたエラー メッセージ
カスタム割り当てを設定すると、それを超えたときに BigQuery からエラーが返されます。
プロジェクト レベルのカスタム割り当てを超えると、BigQuery から
usageQuotaExceeded
エラーが返されます。Custom quota exceeded: Your usage exceeded the custom quota for QueryUsagePerDay, which is set by your administrator. For more information, see https://cloud.google.com/bigquery/cost-controls
ユーザーレベルのカスタム割り当てを超えると、BigQuery からそれぞれエラー メッセージが異なる
usageQuotaExceeded
エラーが返されます。Custom quota exceeded: Your usage exceeded the custom quota for QueryUsagePerUserPerDay, which is set by your administrator. For more information, see https://cloud.google.com/bigquery/cost-controls
カスタム割り当てがないか、カスタム割り当てを超えていない別のプロジェクトがデータセットにアクセスできる場合、そのプロジェクトからクエリを実行できます。
例
10 人のユーザー(そのうち 1 人がサービス アカウント)のプロジェクトに次のカスタム割り当てを設定したとします。
- プロジェクト レベル: 1 日あたり 50 TB
- ユーザーレベル: 1 日あたり 10 TB
プロジェクト レベルのカスタム割り当ては、そのプロジェクト内のすべてのユーザーの合計使用量を制限します。ユーザーレベルのカスタム割り当ては、プロジェクト内の各ユーザー アカウントまたはサービス アカウントに個別に適用されます。
次の表は、10 人のユーザーが 1 日クエリを実行したときの残りの割り当ての変化を示しています。
使用状況 | 残りの割り当て |
---|---|
プロジェクト レベル: 残り 10 TB。 ユーザーレベル: ユーザーあたり残り 6 TB、ただし合計で 10 TB まで。 |
|
サービス アカウントがさらに 6 TB のクエリを実行 | プロジェクト レベル: 残り 4 TB。 ユーザーレベル: サービス アカウントは、BigQuery をこれ以上使用できません。他のユーザーはユーザーあたり残り 6 TB、ただし合計で 4 TB まで。 |
1 人のユーザーがさらに 4 TB のクエリを実行 | プロジェクト レベル: 残り 0 TB。 ユーザーレベル: ユーザーによっては割り当てが残っていますが、プロジェクト レベルの割り当てを超過したため、どのユーザーも BigQuery をこれ以上使用できません。 |
割り当ての残量がなくなると、そのプロジェクトの全ユーザーが BigQuery を使用できなくなります。
次のステップ
- BigQuery の料金を確認する。
- 費用の見積もりと管理の方法を確認する。
- BigQuery 監査ログを分析してクエリのコストと BigQuery の使用状況をモニタリングする方法を確認する。
課金、アラート、データの可視化について詳しくは、次のトピックをご覧ください。