このドキュメントでは、 Google Cloud コンソール、Google Cloud CLI、Logging API を使用して Cloud Logging バケットを作成して管理する方法について説明します。また、Google Cloud プロジェクト レベルでログバケットを作成して管理する手順についても説明します。フォルダまたは組織のレベルではログバケットを作成できません。Cloud Logging は、フォルダと組織のレベルで _Default
と _Required
のバケットを自動的に作成します。
バケットのコンセプトの概要については、転送と保存の概要: ログバケットをご覧ください。
このドキュメントでは、顧客管理の暗号鍵(CMEK)を使用するログバケットの作成方法については説明しません。このトピックの詳細については、ログストレージに CMEK を構成するをご覧ください。
始める前に
ログバケットを使用する前に、次のことを行う必要があります。
- Google Cloud プロジェクトを構成します。
-
Verify that billing is enabled for your Google Cloud project.
-
ログバケットの作成、アップグレード、リンクに必要な権限を取得するには、プロジェクトに対するログ構成書き込み(
roles/logging.configWriter
)の IAM ロールを付与するように管理者へ依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
権限とロールの完全なリストについては、IAM によるアクセス制御をご覧ください。
-
- ログの保存がサポートされているリージョンを確認します。
-
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。 ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。 ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
- Google Cloud CLI または Cloud Logging API を使用してログバケットを作成または管理する場合は、
LogBucket
のフォーマット要件を確認してください。バケットを作成する
Google Cloud プロジェクトあたり最大 100 個のバケットを作成できます。
Google Cloud プロジェクトにユーザー定義のログバケットを作成するには、次の操作を行います。
Google Cloud コンソール
Google Cloud プロジェクトにログバケットを作成するには、次の操作を行います。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。
[ログバケットを作成] をクリックします。
バケットの名前と説明を入力します。
省略可: ログストレージのリージョンを選択するには、[ログバケットのリージョンを選択] メニューをクリックしてリージョンを選択します。リージョンを選択しない場合は、
global
リージョンが使用されます。つまり、ログはサポートされている任意のリージョンに物理的に配置されます。省略可: バケット内のログにカスタム保持期間を設定するには、[次] をクリックします。
[保持期間] フィールドに、Cloud Logging でログを保持する日数を入力します(1~3,650 日)。保持期間をカスタマイズしない場合、デフォルトの
30 days
になります。バケットを作成した後にバケットを更新して、カスタム保持を適用するともできます。
[バケットを作成] をクリックします。
これらの処理が完了するまでにしばらく時間がかかることがあります。
gcloud
ログバケットを作成するには、
gcloud logging buckets create
コマンドを実行します。gcloud logging buckets create BUCKET_ID --location=LOCATION
たとえば、
global
リージョンで BUCKET_IDmy-bucket
のバケットを作成する場合、コマンドは次のようになります。gcloud logging buckets create my-bucket --location global --description "My first bucket"
REST
バケットを作成するには、
projects.locations.buckets.create
メソッドを使用します。次のように、メソッドの引数を準備します。バケットを作成するリソース(
projects/PROJECT_ID/locations/LOCATION
)をparent
パラメータに設定します。変数 LOCATION には、ログを保存するリージョンを指定します。
たとえば、リージョン
global
にプロジェクトmy-project
のバケットを作成する場合、parent
パラメータはprojects/my-project/locations/global
のようになります。bucketId
パラメータを設定します。例:my-bucket
同期メソッド
projects.locations.buckets.create
を呼び出してバケットを作成します。
バケットを作成したら、ログエントリをバケットに転送するシンクを作成し、ログビューを構成して、新しいバケットのログにアクセスできるユーザーとアクセス可能なログを制御します。バケットを更新して、カスタム保持と制限付きフィールドを構成することもできます。
バケットを管理する
このセクションでは、Google Cloud CLI または Google Cloud コンソールでログバケットを管理する方法について説明します。
バケットを更新する
バケットのプロパティ(説明や保持期間など)を更新するには、次の操作を行います。Google Cloud コンソール
バケットのプロパティを更新するには、次の操作を行います。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。
更新するバケットで、[more_vertその他] をクリックします。
[バケットを編集] を選択します。
必要に応じてバケットを編集します。
[バケットを更新] をクリックします。
gcloud
バケットのプロパティを更新するには、
gcloud logging buckets update
コマンドを実行します。gcloud logging buckets update BUCKET_ID --location=LOCATION UPDATED_ATTRIBUTES
例:
gcloud logging buckets update my-bucket --location=global --description "Updated description"
REST
バケットのプロパティを更新するには、Logging API で
projects.locations.buckets.patch
を使用します。バケットをロックする
更新されないようにバケットをロックすると、バケットの保持ポリシーもロックされます。保持ポリシーがロックされると、バケット内のすべてのログエントリがバケットの保持期間を満了するまでバケットを削除できません。ロックされたログバケットを含むプロジェクトが誤って削除されないようにするには、プロジェクトにリーエンを追加します。詳しくは、リーエンによるプロジェクトの保護をご覧ください。
他のユーザーがログバケットを更新または削除できないようにするには、バケットをロックします。バケットをロックする手順は次のとおりです。
Google Cloud コンソール
Google Cloud コンソールでは、ログバケットのロックはサポートされていません。
gcloud
バケットをロックするには、
--locked
フラグを指定してgcloud logging buckets update
コマンドを実行します。gcloud logging buckets update BUCKET_ID --location=LOCATION --locked
例:
gcloud logging buckets update my-bucket --location=global --locked
REST
バケットの属性をロックするには、Logging API で
projects.locations.buckets.patch
を使用します。locked
パラメータをtrue
に設定します。バケットを一覧表示する
Google Cloud プロジェクトに関連付けられたログバケットを一覧表示し、保持設定などの詳細を確認するには、次のようにします。
Google Cloud コンソール
Google Cloud コンソールで、[ログストレージ] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。
「ログバケット」という名前の表に、現在のGoogle Cloud プロジェクトに関連付けられたバケットが一覧表示されます。
この表には、各ログバケットの次の属性が一覧表示されます。
- 名前: ログバケットの名前。
- 説明: バケットの説明。
- 保持期間: Cloud Logging がバケットのデータを保存する日数。
- リージョン: バケットのデータが保存される地理的位置。
- ステータス: バケットがロックされているか、ロック解除されているか。
Cloud Logging がバケットを削除保留にしている場合、表のエントリに警告記号 warning が付いています。
gcloud
gcloud logging buckets list
コマンドを実行します。gcloud logging buckets list
ログバケットの次の属性が表示されます。
LOCATION
: バケットのデータが保存されるリージョン。BUCKET_ID
: ログバケットの名前。RETENTION_DAYS
: Cloud Logging がバケットのデータを保存する日数。LIFECYCLE_STATE
: Cloud Logging がバケットを削除保留中としているかどうかを示します。LOCKED
: バケットがロックされているか、ロック解除されているか。CREATE_TIME
: バケットが作成された日時を示すタイムスタンプ。UPDATE_TIME
: バケットが最後に変更された日時を示すタイムスタンプ。
1 つのバケットの属性だけを表示することもできます。たとえば、
global
リージョンの_Default
ログバケットの詳細を表示するには、gcloud logging buckets describe
コマンドを実行します。gcloud logging buckets describe _Default --location=global
REST
Google Cloud プロジェクトに関連付けられたログバケットの一覧を取得するには、Logging API で
projects.locations.buckets.list
を使用します。バケットの詳細を表示する
単一ログバケットの詳細を表示するには、次の操作を行います。
Google Cloud コンソール
Google Cloud コンソールで、[ログストレージ] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。
ログバケットで more_vert(その他)をクリックして、[バケットの詳細を表示] を選択します。
このダイアログには、ログバケットの次の属性が表示されます。
- 名前: ログバケットの名前。
- 説明: ログバケットの説明。
- 保持期間: Cloud Logging がバケットのデータを保存する日数。
- リージョン: バケットのデータが保存される地理的位置。
gcloud
gcloud logging buckets describe
コマンドを実行します。たとえば、次のコマンドは
_Default
バケットの詳細を報告します。gcloud logging buckets describe _Default --location=global
ログバケットの次の属性が表示されます。
createTime
: バケットが作成された日時を示すタイムスタンプ。description
: ログバケットの説明。lifecycleState
: Cloud Logging がバケットを削除保留中としているかどうかを示します。name
: ログバケットの名前。retentionDays
: Cloud Logging がバケットのデータを保存する日数。updateTime
: バケットが最後に変更された日時を示すタイムスタンプ。
REST
単一ログバケットの詳細を表示するには、Logging API で
projects.locations.buckets.get
を使用します。バケットを削除する
次のいずれかの条件を満たすログバケットを削除できます。
更新されないようにロックされたログバケットに、バケットの保持期間を満たしていないログエントリが保存されている場合、そのログバケットを削除することはできません。
削除コマンドを実行すると、ログバケットは
DELETE_REQUESTED
状態に移行し、7 日間その状態を維持します。この間、Logging は引き続きログをログバケットに転送します。ログエントリをバケットに転送するログシンクを削除または変更すると、ログバケットへのログの転送を停止できます。DELETE_REQUESTED
状態のログバケットと同じ名前を使用して、新しいログバケットを作成することはできません。ログバケットを削除するには、次の操作を行います。
Google Cloud コンソール
ログバケットを削除するには、次の操作を行います。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。
削除するバケットを見つけて、more_vert(その他)アイコンをクリックします。
[バケットを削除] を選択します。
確認パネルで [削除] をクリックします。
[ログストレージ] ページに、バケットが削除保留中であることを示すインジケータが表示されます。すべてのログを含むバケットは 7 日後に削除されます。
gcloud
ログバケットを削除するには、
gcloud logging buckets delete
コマンドを実行します。gcloud logging buckets delete BUCKET_ID --location=LOCATION
ログバケットにリンクされた BigQuery データセットがある場合は、そのバケットを削除できません。
- ログバケットに関連付けられたリンクの一覧を取得するには、
gcloud logging links list
コマンドを実行します。 - データセットを削除するには、
gcloud logging links delete
コマンドを実行します。
REST
バケットを削除するには、Logging API で
projects.locations.buckets.delete
を使用します。削除したバケットを復元する
削除保留状態のバケットは、削除を取り消して復元できます。ログバケットの復元方法は次のとおりです。
Google Cloud コンソール
削除保留中のログバケットを復元するには、次の操作を行います。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。
復元するバケットで、more_vert(その他)をクリックし、[削除したバケットを復元する] を選択します。
確認パネルで [復元] をクリックします。
[ログストレージ] ページで、削除保留中であることを示すインジケータがバケットから削除されます。
gcloud
削除保留中のログバケットを復元するには、
gcloud logging buckets undelete
コマンドを実行します。gcloud logging buckets undelete BUCKET_ID --location=LOCATION
REST
削除保留中のバケットを復元するには、Logging API で
projects.locations.buckets.undelete
を使用します。バケットに書き込む
ログバケットに直接ログを書き込むことはありません。代わりに、ログをGoogle Cloud リソース( Google Cloud プロジェクト、フォルダ、または組織)に書き込みます。親リソースのシンクは、ログバケットを含む宛先にログを転送します。ログがシンクのフィルタと一致し、シンクにログをログバケットに転送する権限がある場合、シンクはログをログバケットの宛先に転送します。
バケットから読み取る
各ログバケットには、一連のログビューがあります。ログバケットからログを読み取るには、ログバケットのログビューへのアクセス権が必要です。ログビューを使用すると、ログバケットに保存されているログのサブセットに対してのみユーザーにアクセス権を付与できます。ログビューの構成方法と、特定のログビューへのアクセス権を付与する方法については、ログバケットのログビューを構成するをご覧ください。
ログバケットからログを読み取るには、次の操作を行います。
Google Cloud コンソール
-
Google Cloud コンソールで [ログ エクスプローラ] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。
ログ エクスプローラに表示されるログをカスタマイズするには、[範囲を絞り込む] をクリックしてオプションを選択します。たとえば、プロジェクトまたはログビューで保存されているログを表示できます。
[適用] をクリックします。[クエリ結果] ペインが更新され、選択したオプションに一致するログが再読み込みされます。
詳細については、ログ エクスプローラの概要: 範囲を絞り込むをご覧ください。
gcloud
ログバケットからログを読み取るには、
gcloud logging read
コマンドを使用し、LOG_FILTER
を追加してデータを選択します。gcloud logging read LOG_FILTER --bucket=BUCKET_ID --location=LOCATION --view=LOG_VIEW_ID
REST
ログバケットからログを読み取るには、entries.list メソッドを使用します。
resourceNames
を設定して適切なバケットとログビューを指定し、filter
を設定してデータを選択します。フィルタリング構文の詳細については、Logging のクエリ言語をご覧ください。
カスタム保持を構成する
ログバケットを作成するときに、Cloud Logging でバケットのログが保存される期間をカスタマイズできます。保持期間は、ユーザー定義のログバケットと
_Default
ログバケットのそれぞれで構成できます。_Required
ログバケットの保持期間は変更できません。バケットの保持期間を短くすると、7 日間の猶予期間が設定されます。この間、期限切れのログは削除されません。期限切れのログに対してクエリの実行や表示はできませんが、この 7 日間にバケットの保持期間を延長することで、完全アクセス権を復元できます。猶予期間中に保存されたログは、保持費用に計上されます。
カスタム ログバケットまたは
_Default
ログバケットの保持期間を更新するには、次の操作を行います。Google Cloud コンソール
ログバケットの保持期間を更新するには、次の操作を行います。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。
更新するバケットで more_vert(その他)をクリックし、[バケットを編集] を選択します。
[保持] フィールドに、Cloud Logging でログを保持する日数を入力します(1~3,650 日)。
[バケットを更新] をクリックします。新しい保持期間が [ログバケット] リストに表示されます。
gcloud
ログバケットの保持期間を更新するには、RETENTION_DAYS の値を設定して、
gcloud logging buckets update
コマンドを実行します。gcloud logging buckets update BUCKET_ID --location=LOCATION --retention-days=RETENTION_DAYS
たとえば、
global
ロケーションの_Default
バケットのログを 1 年間保持する場合、コマンドは次のようになります。gcloud logging buckets update _Default --location=global --retention-days=365
バケットの保持期間を延長した場合、保持ルールはその保持期間の終了後に適用されます。過去に遡って適用はされることはありません。所定の保持期間が終了すると、ログの復元はできなくなります。
一般的な問題のトラブルシューティング
ログバケットの使用中に問題が発生した場合は、次のトラブルシューティング手順と一般的な質問に対する回答をご覧ください。
このバケットを削除できません。なぜですか?
バケットを削除するには、次の操作を行います。
バケットを削除するための適切な権限があることを確認します。必要な権限のリストについては、IAM によるアクセス制御をご覧ください。
バケットの属性を一覧表示して、バケットがロックされているかどうかを確認します。バケットがロックされている場合は、バケットの保持期間を確認します。ロックされたバケットを削除するには、そのバケット内のすべてのログがバケットの保持期間を満たしている必要があります。
どのサービス アカウントがバケットにログを転送するのですか?
ログをバケットに転送する IAM 権限がサービス アカウントにあるかどうかを確認するには、次の操作を行います。
-
Google Cloud コンソールで [IAM] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「IAM と管理」の結果を選択します。
[権限] タブで、ロール別に表示します。Google Cloud プロジェクトに関連付けられたすべての IAM ロールとプリンシパルを含む表が表示されます。
表の [フィルタ] テキスト ボックス filter_list に「ログバケット書き込み」と入力します。
ログバケット書き込みのロールを持つプリンシパルが表示されます。プリンシパルがサービス アカウントの場合、その ID には文字列
が含まれます。
省略可: Google Cloud プロジェクトにログを転送できないようにサービス アカウントを削除する場合は、サービス アカウントのチェックボックス check_box_outline_blank をオンにして、[削除] をクリックします。
ログが
_Default
シンクから除外されていても Google Cloud プロジェクトのログが表示されるのはなぜですか?組織全体のログを集約する一元化された Google Cloud プロジェクトのログバケットでログを表示している可能性があります。
ログ エクスプローラを使用してこれらのログにアクセスしていて、
_Default
シンクから除外したログが表示される場合は、ビューがGoogle Cloud プロジェクト レベルに設定されている可能性があります。この問題を解決するには、[範囲を絞り込む] メニューで [ログビュー] を選択し、Google Cloud プロジェクトの
_Default
バケットに関連付けられているログビューを選択します。これで、除外されたログが表示されなくなります。次のステップ
Logs Bucket API メソッドの詳細については、
LogBucket
リファレンス ドキュメントをご覧ください。組織またはフォルダを管理している場合は、子リソースの
_Default
ログバケットと_Required
ログバケットのロケーションを指定できます。ログバケットで CMEK を使用するかどうかと、_Default
ログシンクの動作を構成することもできます。詳しくは、組織とフォルダのデフォルト設定を構成するをご覧ください。ログバケットを使用して一般的なユースケースに対応する方法については、次のトピックをご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-19 UTC。
- Google Cloud CLI または Cloud Logging API を使用してログバケットを作成または管理する場合は、