AWS SAA 예상 기출 풀이 - S3 스토리지 클래스와 수명 주기 (문제 1~5)
예상 기출 문제집 p.2~p.11, 문제 1~5 풀이 기록
문제 5개를 풀고 나서 보니까 전부 S3 스토리지 클래스와 Lifecycle 정책 문제였다. 테마가 이렇게 뭉쳐서 나온다는 게 꽤 유익했다. 하나하나 어떻게 생각하고 풀었는지 기록해둔다.
문제 1. 60일 빈번 조회 → 7년 보관 → 영구 삭제
핵심 조건 추출
- 초기 60일 : 즉시 접근 필수 (빈번하게 조회)
- 60일 이후 : 거의 조회 안 함, 하지만 필요 시 즉시 접근 가능해야 함
- 7년 후 : 영구 삭제
- 데이터 내구성 매우 중요
내 접근
처음에 D(Glacier Deep Archive)를 잠깐 고민했는데, 문제에서 “초기 60일 빈번 조회 + 즉시 액세스”라고 명시했으니 Glacier 계열은 전부 탈락이다. Glacier Deep Archive는 복원에 최대 12시간이 걸리기 때문에 “즉시”라는 조건을 충족할 수 없다.
C(S3 One Zone-IA)도 고려했는데, “데이터의 내구성이 매우 중요하다”는 조건에서 걸린다. One Zone-IA는 단일 AZ에만 저장되기 때문에 AZ 장애 시 데이터가 날아갈 수 있다.
남은 건 B다. S3 Standard-IA는 “자주 접근하지는 않지만 필요할 때는 즉시 꺼낼 수 있는” 클래스이고, 여기에 7년 후 삭제하는 Lifecycle 정책을 조합하면 모든 조건을 만족한다.
정답: B
S3 Standard-IA = 접근 빈도는 낮지만 즉시성은 보장, 내구성도 유지 (11 nines)
문제 2. 예측 불가능한 접근 패턴 + 즉각 가용성 + 관리 부담 최소화
핵심 조건 추출
- 수백 개 애플리케이션이 예측 불가능한 패턴으로 접근
- 즉각적인 가용성 보장
- 관리 부담 최소화
내 접근
“예측 불가능한 패턴”이 핵심 키워드다. 접근 패턴을 내가 예측할 수 없다는 건, 내가 직접 Lifecycle 규칙을 짜거나 스토리지 클래스를 수동으로 결정하기 어렵다는 뜻이다. 이럴 때 쓰는 게 S3 Intelligent-Tiering이다. AWS가 알아서 접근 패턴을 분석하고 가장 비용 효율적인 tier로 자동으로 옮겨준다.
C는 Storage Class Analysis 도구로 패턴을 파악한 뒤 직접 Lifecycle 규칙을 만들어야 하고, D는 Lambda로 매번 처리해야 한다. 둘 다 사람 손이 가야 하니까 “관리 부담 최소화”에 어긋난다.
B(Glacier Flexible Retrieval)는 데이터 조회 시 최대 1시간이 걸릴 수 있어서 즉각 가용성 조건에서 탈락.
정답: A
“예측 불가능한 패턴 + 관리 자동화” = Intelligent-Tiering 조합으로 외워두자.
문제 3. 로그 30일 보관 + 임시 덤프 파일 24시간 내 삭제
핵심 조건 추출
- 모든 로그 : 규정상 30일 보관 후 삭제
- 임시 덤프 파일(500GB 초과) : 생성 후 24시간 이내 자동 삭제
- 가장 효율적인 구성
내 접근
두 가지 서로 다른 삭제 규칙이 필요하다는 게 핵심이다. “모든 객체 30일 후 삭제”와 “500GB 이상 객체 1일 후 삭제”, 이 두 개의 Lifecycle 규칙을 함께 만들면 된다.
A(Lambda)는 구현 자체는 가능하지만, 이미 S3에 수명 주기 규칙이라는 기능이 있는데 굳이 Lambda를 만들어 쓰는 건 비효율적이다.
B는 수명 주기 규칙을 쓰는 건 맞는데, 개발팀이 매번 태그를 수동으로 붙여야 한다. 문제 풀면서 느낀 건데, SAA에서 “사람이 수동으로 무언가를 한다”는 내용이 나오면 거의 오답이다. 자동화가 항상 우선이다.
D는 버킷을 분리해서 관리하는 방식인데, 이것도 사람이 직접 관리해야 한다.
정답: C
서로 다른 조건의 자동 삭제가 필요하면 → Lifecycle 규칙 여러 개 조합.
문제 4. 수십억 개 객체 대규모 삭제 (서버 관리 없이)
핵심 조건 추출
- S3 Glacier Deep Archive에 수십억 개 객체
- 삭제 대상 목록은 이미 확보
- 서버를 관리하지 않고 대규모 삭제
내 접근
“서버를 관리하지 않고”라는 조건이 EC2를 쓰는 A를 바로 탈락시킨다. 수십억 개 API 호출도 비효율적이고.
C(AWS Glue)는 ETL 서비스라 S3 파일 삭제와는 관계가 없다. Glue를 처음 배울 때 이거저거 다 할 수 있을 것 같은 느낌이었는데, 역할이 명확히 다르다.
D(수명 주기 정책)는 “N일 후 자동 삭제”이지, 지금 당장 특정 객체 목록을 즉시 삭제하는 용도가 아니다.
처음에 B(S3 Batch Operations)를 잘 몰랐는데, S3에 저장된 수백만~수십억 개 파일에 대해 동일한 작업을 일괄로 처리해주는 서비스다. 여기서는 S3 Inventory로 객체 목록을 뽑고, Batch Operations로 삭제하면 된다. 서버 없이도 대규모 처리가 가능하다.
정답: B
S3 대규모 일괄 작업 → S3 Batch Operations. 처음 본 서비스였는데 이번에 확실히 인식했다.
문제 5. 금융 데이터 10년 보관 (접근 패턴 3단계) + 자동 삭제 (2개 선택)
핵심 조건 추출
- 생성 후 3개월 : 매일 빈번하게 조회 (S3 Standard)
- 3개월 ~ 1년 : 월 1회 정도만 조회 (S3 Standard-IA 또는 Glacier Instant)
- 1년 이후 : 거의 조회 안 함, 외부 감사 시 예외적 접근
- 10년 후 : 자동 영구 삭제
- 2개 선택
내 접근
이 문제는 2개를 골라야 하는 조합형이다. 조건을 타임라인으로 정리하면 명확해진다.
| 기간 | 접근 빈도 | 적합한 클래스 |
|---|---|---|
| 0 ~ 3개월 | 매일 빈번 | S3 Standard |
| 3개월 ~ 1년 | 월 1회 | S3 Standard-IA |
| 1년 이후 | 거의 없음 | S3 Glacier Deep Archive |
| 10년 후 | — | 삭제 |
1년 이후 거의 조회하지 않는다는 조건에서 Glacier Deep Archive가 정답이다. 비용이 가장 저렴하고, 가끔 있는 외부 감사 접근은 복원 시간을 허용한다고 볼 수 있다.
여기에 10년 후 자동 삭제하는 Lifecycle 규칙(C)이 필요하다.
B(Intelligent-Tiering)는 이 문제처럼 접근 패턴이 이미 예측 가능한 경우엔 불필요하다. Intelligent-Tiering은 패턴을 모를 때 쓰는 거다.
D(One Zone-IA)는 문제 1에서 이미 걸렸던 이유와 같다. 금융 데이터를 10년 보관해야 하는 상황에서 단일 AZ에만 저장하는 건 내구성 면에서 적합하지 않다.
정답: A, C
접근 패턴이 명확하게 예측 가능 → Intelligent-Tiering 대신 직접 Lifecycle 규칙으로 설계.
전체 패턴 정리
5문제를 다 풀고 나서 SAA S3 문제에서 반복되는 패턴이 보였다.
스토리지 클래스 선택 기준
| 상황 | 선택 |
|---|---|
| 즉시 접근 필수 + 가끔 조회 | S3 Standard-IA |
| 예측 불가능한 접근 패턴 | S3 Intelligent-Tiering |
| 거의 조회 안 함 + 즉시 접근 필요 없음 | S3 Glacier Deep Archive |
| 접근 패턴 예측 가능 + 장기 보관 | 직접 Lifecycle으로 단계별 설계 |
오답 걸러내는 기준
- “즉시 접근 필요”라는 조건 → Glacier 계열 전부 탈락 (Instant Retrieval 제외)
- “내구성 중요”라는 조건 → One Zone-IA 탈락
- “수동으로 무언가 한다”는 내용 → 거의 오답
- “서버를 관리하지 않고” → EC2 탈락
- “대규모 일괄 작업” → S3 Batch Operations
5문제가 전부 S3였는데, 개념이 많이 정리됐다. S3 스토리지 클래스는 이름이 비슷해서 헷갈렸는데, 이제 각각의 포지션이 명확하게 잡힌 것 같다.