Amazon Kinesis Data Streams
開発者ガイド

データ保持期間の変更

Amazon 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 料金表」を参照してください。