データアクセスの監査ログの費用を管理する
Bigtable は通常、大規模で大量のワークロードに使用されます。このため、ログのボリュームを管理しないと、Bigtable は過剰な量の DATA_READ ログと DATA_WRITE ログを生成し、ログストレージの費用が予期せず高額になることがあります。データアクセス監査ロギングを使用する場合は、ログボリュームを管理する必要があります。
Bigtable 認証のベスト プラクティスに従うと、ほとんどのデータアクセス監査ログ アクティビティはサービス アカウントによって生成されます。サービス アカウントは、アプリケーションが Bigtable などの Google Cloud サービスを認証して API 呼び出しを行うために使用するアカウントです。ログのボリュームを減らす最も重要なステップは、サービス アカウント ログの管理です。他の基準でログを制限することもできます。
Bigtable のデータアクセス監査ロギングは次の方法で有効にできます。
- Google Cloud コンソールの使用
- Cloud Logging API の使用
監査ロギングを有効にした後に、ログボリュームを制限する手順は次のとおりです。
サービス アカウントを特定する
まず、ログを必要としないサービス アカウントを特定します。有効でなく、ログに記録する必要のないサービス アカウントは、アプリケーションやビジネスの要件によって異なります。Cloud Bigtable API (Data API)の権限を持つサービス アカウントのリストを取得するには、組織の IAM ポリシーを検索します。これは、Google Cloud コンソールの [IAM 権限] ページの [プリンシパル] タブでも確認できます。
ログの制限を設定する
次に、ログの制限を設定します。サービス アカウントのログを制限して Bigtable のログボリュームを管理するには、次の 2 つの方法があります。監査構成を使用してサービス アカウントを除外するか、ログ除外フィルタを使用してサービス アカウント ログを除外できます。それぞれの方法で、Cloud Logging API または Google Cloud Console を使用できます。
監査構成を使用してサービス アカウントを除外する
監査構成を使用してサービス アカウントを除外すると、特定のログの生成を防止できるので、これは推奨のアプローチとなります。詳細な手順については、以下をご覧ください。
除外フィルタを使用してサービス アカウントを除外する
除外フィルタを使用すると、ログバケットへの取り込みから除外するログを指定できます。このアプローチでは、ログは作成後に破棄されるため、データを処理する Bigtable サービス コンポーネントに負荷がかかります。この負荷のため、監査構成を使用することをおすすめします。Google Cloud コンソールと API を使用したフィルタ設定の詳細については、シンクの作成をご覧ください。
データアクセス監査ログの費用を見積もる
通常、Bigtable は大規模で大量のワークロードに使用されるため、非常に大量のログが生成される可能性があります。Bigtable でデータアクセス監査ロギングを有効にする前に、監査ロギングが毎月発生する可能性のある Cloud Audit Logs の取り込み費用とストレージ費用を見積もる必要があります。
データアクセス監査ロギングの費用は、ロギングに選択した毎月の Bigtable リクエスト数に直接関係します。次の表に、Cloud Audit Logs の費用の概算を示します。これは、すべてのデータ リクエストをログに記録することを前提として、1 秒あたりの平均リクエスト数とログの保持期間に基づいて計算されています。これらの費用の概算を行う詳しい方法については、費用の計算をご覧ください。
1 秒あたりの平均リクエスト数 | ログの保持期間 | 毎月のおおよその費用 |
---|---|---|
1,000 | 30 | $1,197 |
1,000 | 90 | $1,246 |
10,000 | 30 | $12,195 |
10,000 | 90 | $12,684 |
100,000 | 30 | $122,177 |
100,000 | 90 | $124,621 |
費用を計算する
まず、次のことを前提とします。
- 1 か月の平均秒数は約 2,628,000 秒です。
- 監査の平均サイズは約 1 KB です。
- 毎月、取り込まれた監査ログの最初の 50 GiB は無料です。その量を超えると、$0.50/GiB で課金されます。
- ストレージは 30 日間無料です。それ以降は、$0.01/GiB でストレージの費用が課金されます。
このページで説明する方法では、すべてのトラフィックに基づいて概算を計算します。本番環境では、サービス アカウントのロギングを制限することをおすすめします。
毎月のログ容量を計算する
まず、1 か月にトラフィックから生成されるログの平均量を計算します。
- 1 か月の間にアプリケーションが Bigtable に送信する 1 秒あたりの平均リクエスト数を収集します。
- クライアント側指標を使用すると、先月の指標の平均秒間クエリ数(QPS)を判断できます。
- Google Cloud コンソールでインスタンスの [Monitoring] ページを使用する場合は、そのページで前月の 1 秒あたりの読み取りリクエストと書き込みリクエストの平均値を調べて、この 2 つの値を加算します。
- 1 秒あたりのリクエスト数に 2,628,000 を掛けて、1 か月の平均リクエスト数を算出します。
- この値を 10e6 または 1,000,000 で割ります。その結果が毎月のログ容量の概算値(GB)になります。
- 毎月のログ容量 GB に 0.93 を乗算して、毎月のログボリュームの概算値 GiB を取得します。
取り込み費用を計算する
- 計算した毎月のログボリュームから 50 GiB を引きます。最初の 50 GiB は無料です。
- 残りに $0.50 を掛けて、毎月の取り込み費用の概算値を取得します。
ストレージ費用を計算する
- 30 日後にログが無効になる場合、ストレージの費用は $0.00 になります。
- ログを 30 日を超えて保存する場合は、1 か月のログ容量に $0.01 を掛けることでストレージ費用を計算できます。この費用は 2 か月目から発生します。
詳細例
1 秒あたり 5,000 回のリクエスト、90 日間ログを保持
この例では、1 秒あたりの平均リクエスト数が 5,000 で、ログの保持期間を 90 日とします。このページの手順を使用して、次の概算値を計算します。
- 5,000 に 2,628,000 を掛けて、1 か月あたり 13,140,000,000 回のリクエストに到達します。
- 13,140,000,000 を 10e6 で割り、1 か月のログボリュームの概算値(約 13,140 GB)を取得します。
- これに 0.93 を掛けて GiB に変換すると、12,220 になります。
- 1 か月のログ容量から 50 GiB を引くと、12,170 GiB になります。
- $0.50 を掛けると、$6,085 の取り込み費用が得られます。
- ログの最初の月はストレージ費用が発生しないので、$0 になります。
- 2 か月目は、ログ ストレージのコストは $0.01 を掛けた約 12,170 ドル(約 $122)になります。
- 2 か月目以降の毎月のストレージ費用は $244 になります。
- 2 か月後、データアクセス監査ロギングの費用は概算で $6,329 になります。
方程式に示すように、((((5,000 rps * 2,628,000sec))/1,000,000) * .93) * 50 GiB) * $0.50) + $122 = $6,207 となります。
この例では、データアクセスのロギングコストの月額は約 $6,329 です。