メニュー
Amazon Kinesis Data Streams
開発者ガイド

データ保持期間の変更

Kinesis Data Streams は、ストリームのデータレコードの保持期間の変更をサポートしています。Kinesis data stream はデータレコードの順序付けられたシーケンスで、リアルタイムで書き込みと読み取りができることが前提となっています。したがって、データレコードはシャードに一時的に保存されます。レコードが追加されてからアクセスできなくなるまでの期間は、保持期間と呼ばれます。デフォルトで Kinesis data stream は 24 時間レコードを保持し、最大値は 168 時間です。

IncreaseStreamRetentionPeriod オペレーションを使用して保持期間を最大 168 時間まで増やしたり、DecreaseStreamRetentionPeriod オペレーションを使用して最短の 24 時間に短縮したりできます。両方のオペレーションに対するリクエスト構文には、時間にストリーム名と保存期間が含まれます。最後に、DescribeStream オペレーションを呼び出すことで、ストリームの現在の保持期間を確認できます。

オペレーションはどちらも操作が簡単です。保持期間を変更する例を、AWS CLI (リンク) を使用して示します。

aws kinesis increase-stream-retention-period --stream-name retentionPeriodDemo --retention-period-hours 72

Kinesis Data Streams は、数分間延長した保持期間内で古い保持期間のアクセス停止を解除することができます。たとえば、保持期間を 24 時間から 48 時間に変更すると、23 時間 55 分前にストリームに追加されたレコードは、さらに 24 時間が経過するまで使用可能になります。

Kinesis Data Streams は、保持期間が短縮されると、新しい保持期間よりも古いレコードをほぼ即座にアクセス不能にします。したがって、DecreaseStreamRetentionPeriod オペレーションを呼び出すときは、細心の注意が必要です。

問題が発生した場合は、期限が切れる前にデータを読めるように、保持期間を設定しておく必要があります。レコード処理ロジックの問題または長期間にわたるダウンストリームの依存関係など、あらゆる可能性を慎重に検討してください。保持期間は、安全策としてデータ回復のための余裕期間を見込んでください。保持期間 API オペレーションでは、この期間を事前に設定したり、オペレーションイベントにリアクティブに対応したりできます。

24 時間を超える保持期間を設定されたストリームに追加料金が適用されます。詳細については、「Amazon Kinesis Data Streams 料金表」を参照してください。