DynamoDB에서 Time To Live (TTL) 기능 이해하기
**Time To Live (TTL)**은 DynamoDB에서 특정 항목을 만료된 타임스탬프 이후 자동으로 삭제하는 기능입니다. 이 기능은 데이터베이스에서 불필요한 데이터를 자동으로 정리하는 데 유용하며, 특히 규제 준수나 보안, 저장 공간 최적화 등을 위해 자주 사용됩니다.
1. TTL의 기본 개념
TTL은 항목에 만료 시간을 설정하여, 해당 시간이 지나면 항목을 자동으로 삭제하는 기능입니다. 이 만료 시간은 Unix Epoch 형식의 숫자로 나타내며, 이는 1970년 1월 1일 00:00:00 UTC부터의 초를 의미합니다. TTL은 이 타임스탬프를 기준으로 현재 시간이 해당 만료 시간을 초과하면 항목을 만료 처리합니다.
2. TTL 동작 원리
TTL이 활성화된 테이블에서 항목은 exp time과 같은 만료 시간을 속성으로 가질 수 있습니다. 이 값을 Unix Epoch 형식의 숫자로 설정하여, 시스템은 현재 시간이 이 값을 초과할 경우 해당 항목을 만료된 것으로 간주하고, 이후 48시간 이내에 자동으로 삭제됩니다.
예시: 세션 데이터 테이블
user1 | session1 | 1632994772 |
user2 | session2 | 1632994872 |
위의 테이블에서 exp time은 각 세션의 만료 시간을 나타냅니다. 시간이 지나면 DynamoDB는 각 항목을 자동으로 스캔하여 만료된 항목을 삭제합니다.
3. TTL 사용 사례
TTL은 다양한 상황에서 유용하게 사용될 수 있습니다:
- 저장 데이터 최적화: 오래된 데이터를 자동으로 삭제하여 저장 공간을 절약할 수 있습니다.
- 규제 준수: 예를 들어, 데이터가 일정 기간 이상 보관되지 않도록 설정하여 규제를 준수할 수 있습니다.
- 보안 관리: 특정 데이터가 일정 기간 이상 보관되지 않도록 하여 보안을 강화할 수 있습니다. 예를 들어, 테이블에 저장된 데이터가 30일 이상 될 수 없게 설정할 수 있습니다.
4. TTL 설정 방법
TTL을 설정하려면 해당 테이블에 exp time 속성을 추가하고, 이 속성에 Unix Epoch 형식의 타임스탬프 값을 입력합니다. 만약 TTL을 통해 데이터를 삭제하려면, 만료 시간이 지난 데이터를 정기적으로 확인하고 삭제하는 프로세스가 자동으로 실행됩니다.
5. 시험에서 TTL 관련 질문
TTL은 AWS 시험에서 자주 다뤄지는 주제입니다. 시험에서 TTL에 대한 질문이 나올 수 있으며, TTL이 어떻게 작동하는지, 만료 시간이 지난 항목은 어떻게 처리되는지, 사용 사례를 이해하는 것이 중요합니다.
결론
DynamoDB의 TTL 기능은 데이터의 만료 시간을 관리하고, 오래된 데이터를 자동으로 삭제하여 데이터베이스 관리 효율성을 높이는 강력한 도구입니다. 이를 활용하면 저장 공간을 최적화하고, 규제 준수 및 보안 요구사항을 충족할 수 있습니다.
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] Redshift 보안 (0) | 2024.12.26 |
---|---|
[AWS SCS] EC2 Image Builder (0) | 2024.12.26 |
[AWS SCS] RDS 및 Aurora 보안 (0) | 2024.12.26 |
[AWS SCS] CloudShell (1) | 2024.12.26 |
[AWS SCS] EBS - Data Volume Wiping (0) | 2024.12.26 |