Kinesis ストリームのデータ保持期間の設定について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。

この記事では、Kinesis Data Streamsのデータ保持期間の適切な設定について、リスクと対策を解説します。

問題の概要

Amazon Kinesis Data Streamsは、リアルタイムでストリーミングデータを収集、処理、分析するための完全マネージド型サービスです。データ保持期間は、ストリーム内にデータが保存される期間を定義し、デフォルトでは24時間ですが、最大8760時間(365日間)まで延長可能です。

適切なデータ保持期間の設定は、以下の要素を考慮して決定する必要があります:

  • ビジネス要件(データ再処理の必要性)
  • コンプライアンス要件(データ保管に関する規制)
  • 障害復旧の要件(RPO: Recovery Point Objective)
  • コスト最適化(ストレージコストとのバランス)

影響

適切なデータ保持期間が設定されていない場合、以下のような重大な影響が発生する可能性があります:

ビジネスへの影響

  1. データ損失によるビジネス機会の喪失: 保持期間が短すぎる場合、障害やエラー発生時にデータを再処理できず、重要なトランザクションやイベントデータが永久に失われる可能性があります
  2. 障害復旧能力の低下: システム障害時に、十分な過去データがないため、適切な復旧ポイントから処理を再開できず、ビジネス継続性に重大な影響を与えます

技術的な影響

  1. データ分析の制限: 保持期間が短いと、機械学習モデルのトレーニングや異常検知、長期的なトレンド分析に必要な履歴データが不足します
  2. 運用コストの増大: 保持期間が長すぎる場合、以下のコストが増加します:
    • 拡張データ保持期間の追加料金(24時間を超える分)
    • 不要なデータに対するストレージコスト
    • データ管理の複雑性増加による運用コスト

修復方法

AWSマネジメントコンソールでの修復手順

  1. AWS Management Consoleにログイン
  2. Kinesisサービスに移動
    • サービス検索バーで「Kinesis」と入力
    • 「Kinesis Data Streams」を選択
  3. 対象のストリームを選択
    • ストリーム一覧から対象のストリーム名をクリック
    • 現在の保持期間を確認(「ストリームの詳細」セクション)
  4. 保持期間の編集
    • 「設定」タブを選択
    • 「データ保持期間」セクションで「編集」ボタンをクリック
  5. 適切な保持期間を設定
    • 「データ保持期間(時間)」フィールドに適切な値を入力推奨される保持期間:
      • リアルタイム処理のみ: 24~72時間(1~3日)標準的なストリーミング処理: 168時間(7日)コンプライアンス要件あり: 720~2160時間(30~90日)長期分析・ML用途: 4320~8760時間(180~365日)
  6. コスト影響の確認
    • 変更による推定コストの増減を確認
    • 拡張データ保持期間(24時間超)の追加料金を考慮

Terraformでの修復手順

Kinesisストリームの適切なデータ保持期間を設定するTerraformコードのサンプルです。

retention_period を最適な値にする必要があります。

# Kinesisストリームの作成と適切な保持期間の設定
resource "aws_kinesis_stream" "main" {
  >>>> Skip
  # データ保持期間の設定(時間単位)
  # デフォルト: 24時間
  # 最小: 24時間
  # 最大: 8760時間(365日)
  # 注意: 24時間を超える保持期間には追加料金が発生します
  retention_period = 168  # 7日間(標準的なストリーミング処理用)

}

まとめ

Kinesis Data Streamsの適切なデータ保持期間の設定は、データの可用性確保、コンプライアンス遵守、障害復旧能力の向上において極めて重要です。

主なポイント:

  • デフォルトの24時間では多くのユースケースで不十分
  • ビジネス要件とコンプライアンス要件に基づいて適切な期間を設定
  • 24時間を超える保持期間には追加コストが発生するため、コスト最適化も考慮
  • Iterator Age Millisecondsメトリクスによる継続的な監視が重要

この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。

参考資料

この記事をシェアする

クラウドセキュリティ対策実践集一覧へ戻る

貴社の利用状況に合わせた見積もりを作成します。

料金プランを詳しく見る