[GCP] Cloud Loggingのログ保持期間を変更する


Cloud Logging(旧称Stackdriver Logging)のログ保持期間は長らく変更不可でしたが、2020-06-05に保持期間の変更機能が一般提供されました
保持期間の変更が可能なログ(バケット)とその方法は、次の公式ドキュメントに記されています。

以下では、gcloud beta logging bucketsコマンドの実行結果を紹介します。

gcloud beta logging bucketsを使う

ログバケット一覧の表示
% gcloud beta logging buckets list
LOCATION  BUCKET_ID  RETENTION_DAYS  LIFECYCLE_STATE  LOCKED  CREATE_TIME  UPDATE_TIME
global    _Default   30              ACTIVE
global    _Required  400             ACTIVE

_Default バケットのログ保持期間を変更

_Defaultバケットのログ保持期間を変更
# 変更前
% gcloud beta logging buckets describe _Default --location=global
description: Default bucket
lifecycleState: ACTIVE
name: projects/[PROJECT_ID]/locations/global/buckets/_Default
retentionDays: 30

# 変更実行
% gcloud beta logging buckets update _Default --location=global --retention-days=90

# 変更後
% gcloud beta logging buckets describe _Default --location=global
description: Default bucket
lifecycleState: ACTIVE
name: projects/[PROJECT_ID]/locations/global/buckets/_Default
retentionDays: 90
updateTime: '2020-04-23T23:08:14.491801134Z'

_Require バケットのログ保持期間は変更不可

ドキュメントに記載されている通り、 _Require バケットのログ保持期間を変更することはできません。
コマンドを実行するとエラーになりました。

_Requireバケットの保持期間変更を試す
% gcloud beta logging buckets update _Required --location=global --retention-days=365
ERROR: (gcloud.beta.logging.buckets.update) FAILED_PRECONDITION: This bucket is locked. Locked buckets are immutable

むすびに

Cloud Loggingのログ保持期間が短いため、BigQueryやGCSなどにエクスポートしていた方が多いのではないでしょうか。
Cloud Loggingで最長10年間までの保持が可能になれば、そうした手間を省く有力な選択肢になると思います。
一般提供時のストレージのコストは1GBあたり毎月$0.01と予定されているそうで、これはGCSのNealine Storage相当の価格です(2020-04-24現在)。このコストは、ログ保持期間をデフォルトより長くしたログの使用量に適用されるようです。