Search

AWS S3 Lifecycle 규칙이 여러 개일 때, 실제로 적용되는 기준은 무엇일까?

URL
생성 일시
2026/01/09 07:07
최종 편집 일시
2026/01/09 07:07
태그
NDS
파일과 미디어
AWS S3 Lifecycle의 기본 동작 원리 설명 및 실제 예시를 통해 규칙 선택 기준 제공 The post AWS S3 Lifecycle 규칙이 여러 개일 때, 실제로 적용되는 기준은 무엇일까? appeared first on NDS Cloud Tech Blog. || Amazon S3 Lifecyle은 객체를 자동으로 정리하거나 스토리지 클래스를 전환해 비용을 관리할 수 있는 기능입니다. 하지만 운영 환경에서는 다음과 같은 질문을 자주 접하게 됩니다. “S3 Lifecycle 규칙을 여러 개 설정했는데, 어떤 규칙이 먼저 적용되는 건가요?” AWS 공식 문서에서는 “더 짧은 만료 정책이 적용된다”라는 문장이 등장하지만, 이를 그대로 해석하면 실제 동작과 어긋나는 경우가 생길 수 있습니다. Generally, Amazon S3 Lifecycle optimizes for cost. if two expiration policies overlap, the shorter expiration policy is honored so that data is not stored for longer than expected. – 참고: https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-conflicts.html#lifecycle-config-conceptual-ex5 이번 글에서는 S3 Lifecycle의 기본 동작 원리를 먼저 정리한 뒤, 실제 예시를 통해 규칙 선택 기준을 설명드리겠습니다. S3 Lifecycle 기본 개념 S3 Lifecycle을 이해하기 위해 꼭 필요한 개념은 세 가지 입니다. 1. 객체 상태(state) 버저닝이 활성화된 S3 버킷에선느 객체가 다음 상태 중 하나로 존재합니다. 상태설명명현재 버전현재 사용 중인 객체이전 버전수정 또는 삭제 후 남아 있는 과거 버전삭제 마커“삭제됨”을 표시하는 마커 객체 Lifecycle 규칙은 이 상태별로 따로 적용됩니다. 2. 필터 조건(Filter) Lifecycle 규칙은 다음 조건으로 적용 대상을 제한할 수 있습니다. 규칙은 객체와 조건이 일치할 때만 평가 대상이 됩니다. 접두사(prefix) 객체 태그(Tag) 접두사 + 태그 조합 3. 규칙 선택의 핵심 원칙 S3 Lifecycle은 다음과 같이 동작합니다. 동일한 객체에 여러 규칙이 적용될 수 있는 경우, 스토리지 비용을 더 빠르게 줄일 수 있는 동작을 선택합니다. 규칙 순서 , 규칙 이름 , 콘솔 표시 위치 는 전혀 고려되지 않습니다! 예시로 이해하는 Lifecycle 규칙 적용 방식 이제부터는 실제 운영 환경에서 자주 발생하는 사례를 통해 설명드리겠습니다. 1. 예시(1) 필터 조건이 다른 여러 규칙이 존재하는 경우 설정된 Lifecycle 규칙 규칙명적용 대상기간필터 조건Rule 1이전 버전90일 후 접두사: logs/Rule 2이전 버전180일 후접두사: data/Rule 3이전 버전60일 후접두사: * 적용 결과 객체 경로적용 규칙이유logs/app.logRule 1더 구체적인 필터(logs/)data/file.csvRule 2더 구체적인 필터(data/)backup/db.bakRule 3Rule1, Rule2에 해당 되지 않음 → 이 경우 기간이 가장 짧은 Rule 3이 항상 우선되지는 않습니다. 객체와 가장 정확히 일치하는 규칙이 먼저 선택됩니다. 2. 예시(2) 동일 조건인데 기간만 다른 규칙은 가능한가요? 아래와 같은 구성은 가능할 것처럼 보이지만, 실제로는 불가능합니다. 동일한 상태 + 동일한 필터 조건을 가진 규칙은 AWS 콘솔 및 CLI에서 생성 자체가 불가능합니다. 생성 불가한 규칙 예시 규칙명적용 대상기간필터 조건Rule 4이전 버전90일 후접두사: data/Rule 5이전 버전180일 후접두사: data/ 3. 예시(3) 서로 다른 조건을 동시에 만족하는 경우 현실적으