CloudWatch Logs の storedBytes をロググループとログストリームで比較してみた

CloudWatch Logs の storedBytes をロググループとログストリームで比較してみた

CloudWatch Logs のロググループとログストリームの `storedBytes` を AWS CLI で比較してみました。同じ項目でも、リソースによって仕様が異なることが判明したため、その結果をまとめます。
2026.10.30

はじめに

AWS CLI で CloudWatch Logs の情報を確認していたところ、ロググループやログストリームには storedBytes という項目があることを知りました。
この項目がそれぞれどのような値を返すのか気になったため、今回は AWS CLI コマンドを使用してロググループとログストリームの storedBytes を取得し、結果を比較してみます。

結論

今回の検証でわかったこと

対象 検証結果 仕様
ロググループ 0 以外の値を確認 保存されているバイト数が返る
ログストリーム すべて 0 2019 年 6 月 17 日以降、常に 0 が返る

以上のことから、ログストリームの storedBytes が 0 であっても、ログが保存されていないとは判断できません。

検証環境

  • AWS CLI(aws-cli/2.38.4 Python/3.14.6 Darwin/25.6.0 exe/arm64)
  • 東京リージョン(ap-northeast-1)
  • AWS CLI の認証設定済みの検証環境

ロググループの storedBytes を確認する

まず、describe-log-groups コマンドを使用して、ロググループの情報を取得します。

$ aws logs describe-log-groups --region ap-northeast-1 --max-items 10 --query 'logGroups[].{Name:logGroupName,StoredBytes:storedBytes}' --output table
------------------------------------------------------------------------------------------------
|                                       DescribeLogGroups                                      |
+-------------------------------------------------------------------------------+--------------+
|                                     Name                                      | StoredBytes  |
+-------------------------------------------------------------------------------+--------------+
|  /aws/example/log-group-a                                                     |  3841        |
|  /aws/example/log-group-b                                                     |  148800      |
|  /aws/example/log-group-c                                                     |  0           |
|  /aws/example/log-group-d                                                     |  989         |
|  /aws/example/log-group-e                                                     |  228186      |
|  /aws/example/log-group-f                                                     |  547         |
|  /aws/example/log-group-g                                                     |  2358        |
|  /aws/example/log-group-h                                                     |  3867498     |
|  /aws/example/log-group-i                                                     |  2543        |
|  /aws/example/log-group-j                                                     |  22500       |
+-------------------------------------------------------------------------------+--------------+

今回使用した主なオプションは以下のとおりです。

オプション 内容
--region 対象リージョンを指定
--max-items 出力する最大件数を指定
--query 取得結果から表示する項目を抽出
--output table 結果を表形式で表示

--max-items を使用して、ロググループを最大 10 件に絞って取得しています。
--query を使用して、ロググループ名と storedBytes の 2 項目だけを表示しています。
実行すると、storedBytes が 0 のロググループと、0 以外のロググループがありました。

ログストリームの storedBytes を確認する

続いて、0 以外の storedBytes が表示されたロググループを選択し、そのロググループに属するログストリームの情報を取得します。

$ aws logs describe-log-streams --log-group-name "/aws/example/log-group-a" --region ap-northeast-1 --query 'logStreams[].{Name:logStreamName,StoredBytes:storedBytes}' --output table
----------------------------------------
|          DescribeLogStreams          |
+----------------------+---------------+
|         Name         |  StoredBytes  |
+----------------------+---------------+
|  example-stream-01 |  0            |
|  example-stream-02 |  0            |
|  example-stream-03 |  0            |
|  example-stream-04 |  0            |
|  example-stream-05 |  0            |
+----------------------+---------------+

実行したところ、取得したすべてのログストリームで storedBytes は 0 でした。

ロググループ側では 0 以外の値が確認できたにもかかわらず、そのロググループに属するログストリームではすべて 0 が返されました。

storedBytes の仕様を確認する

この違いが生じる理由を確認するため、AWS CLI のリファレンスを参照しました。

storedBytes -> (long)

The number of bytes stored.

Important: As of June 17, 2019, this parameter is no longer supported for log streams, and is always reported as zero. This change applies only to log streams. The storedBytes parameter for log groups is not affected.

AWS CLI Command Reference - describe-log-streams

AWS CLI のリファレンスによると、 ログストリームの storedBytes は 2019 年 6 月 17 日以降サポートされておらず、常に 0 が返される仕様 となっています。
一方で、ロググループの storedBytes は、この変更の影響を受けません。

今回の結果を整理すると、以下のようになります。

対象 検証結果 仕様
ロググループ 0 以外の値を確認 保存されているバイト数が返る
ログストリーム すべて 0 2019 年 6 月 17 日以降、常に 0 が返る

したがって、ログストリームの storedBytes が 0 であっても、ログが保存されていないとは判断できません。

まとめ

AWS CLI コマンドを使用して、CloudWatch Logs のロググループとログストリームの storedBytes を比較してみました。
同じ名前の項目でも、ロググループとログストリームでは仕様が異なることを、実際の出力から確認できました。
ログの保存量を確認したい場合は、ログストリームではなく、ロググループの storedBytes を参照してください。ただし、ロググループの値も反映までに時間がかかる場合があるため、0 であってもログが存在しないとは限りません。
取得した値だけでなく、その項目の仕様を理解した上で確認することが重要だと感じました。

参考資料

クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、 IT・AI をフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイトをぜひご覧ください。
※2026 年 1 月 アノテーション㈱から社名変更しました。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事