AIP-C01 / 주제별 해설

DynamoDB TTL과 실제 삭제 시점

제품 설명 기준 2026.09.20–21 · 한영 용어 대조 2026.09.25 · 약 3분 읽기

공식 자료를 바탕으로 쓴 비공식 해설입니다. 제품별 지원 조건은 적용 전에 확인하고, 예시 수치는 해당 상황의 설명으로 읽어주세요.

이 문서의 목차 1개 절

DynamoDB의 유효 기간(time to live, TTL)은 항목에 만료 시각(expiration time)을 기록해 두면 시스템이 나중에 삭제하는 기능이다. 만료 시각은 숫자형 Unix epoch 초로 저장해야 하며, 숫자형이 아닌 속성은 TTL 대상으로 처리되지 않는다. 만료 즉시 물리 삭제(physical deletion)가 끝나는 것은 아니고 일반적으로 며칠이 걸릴 수 있다. 따라서 애플리케이션은 읽은 항목의 만료 시각을 확인하고, 삭제를 기다리는 만료 항목을 다시 사용하지 않아야 한다. 세션 사용 권한을 끝내는 인가(authorization) 처리와 저장된 항목을 지우는 백그라운드 삭제는 별도로 설계한다.

만료된 항목도 실제 삭제 전에는 갱신(update)할 수 있다. TTL을 미래 시각으로 바꾸거나 TTL 속성을 없애면 더 이상 만료 대상이 아닐 수 있다. 여러 요청이 동시에 바꾸거나 재시도(retry)할 때는 조건식(condition expression)으로 상태 변경 조건을 확인한다. Query와 Scan에서 만료 항목을 제외하는 필터를 적용할 수 있지만, 그 설정이 모든 데이터 읽기 경로의 접근 권한을 자동으로 통제하는 것은 아니다.

TTL 삭제는 Streams에서 사용자 삭제가 아닌 서비스 삭제로 표시되고 인덱스에서도 제거된다. 현행 글로벌 테이블의 원 리전 TTL 삭제는 WCU를 소비하지 않지만 다른 리전 복제 삭제에는 복제 쓰기 비용이 발생할 수 있다. 따라서 TTL=모든 환경에서 비용 0으로 일반화하지 않는다.

강좌 관련 항목의 90일 보존은 사례 정책이지 DynamoDB의 기본 보존 기간이나 정확한 삭제 시한이 아니다.

자체 예시: 대화 세션이 만료됐지만 항목이 남아 있어도 애플리케이션은 복구된 메모리로 다시 사용하지 않는다. 별도 준수 시한이 있다면 TTL만으로 정확한 시각의 삭제를 보장한다고 설계하지 않는다. 물리 삭제가 필요한 시한은 별도로 검증한다.

적용 범위: TTL은 정확한 시각의 물리 삭제나 법적 삭제 기한 준수를 보장하는 수단이 아니다. 세션 사용 금지와 저장소 삭제를 나누어 검증한다.

공식 출처와 이어 읽기

용어 확인: 인가(authorization).

학습 기록은 이 브라우저에만 저장되며 동기화되지 않습니다.