SAA-C03 비용 최적화 문제는 계산기 문제처럼 보이지만, 실제로는 조건 읽기 문제에 가깝습니다. 비용이 낮아 보여도 보안 조건을 깨면 오답이고, 성능이 좋아도 운영 부담 조건과 맞지 않으면 오답이 될 수 있습니다.
이 글에서는 NAT Gateway, CloudFront, S3가 비용 최적화 선택지로 나올 때 어떻게 구분하는지 봅니다. 아래 문제들은 실제 시험 원문이 아니라 SAA-C03 범위에 맞춘 자체 제작 연습문제입니다.
먼저 볼 것: 비용 숫자보다 비용이 생기는 경로
SAA-C03에서 비용 최적화는 보통 다음 단서로 나뉩니다.
| 단서 | 먼저 볼 방향 |
|---|---|
| private subnet에서 S3/DynamoDB로 많은 트래픽 | VPC endpoint로 NAT 경로를 줄일 수 있는지 |
| 전 세계 사용자가 같은 정적 파일을 반복 요청 | CloudFront 캐싱으로 origin 부하와 전송 경로를 줄일 수 있는지 |
| 오래 보관하지만 거의 읽지 않는 객체 | S3 storage class와 lifecycle policy가 맞는지 |
| 외부 인터넷 API 호출 | NAT Gateway 또는 다른 outbound 경로가 필요한지 |
| 운영 부담 최소 | 직접 운영하는 대안보다 managed service가 맞는지 |
핵심은 “비용을 줄인다”는 말만 보고 가장 싼 이름을 고르는 것이 아닙니다. 문제의 목적지, 트래픽 양상, 접근 빈도, 복원력 요구사항을 같이 읽어야 합니다.
문제 1. private subnet EC2가 S3로 대량 로그를 업로드한다
애플리케이션 서버가 private subnet에 있습니다. 서버는 매일 많은 양의 로그 파일을 같은 Region의 S3 버킷에 업로드합니다. 현재 트래픽은 NAT Gateway를 통해 나가고 있습니다. 보안팀은 인터넷 경로를 줄이고 비용도 낮추고 싶습니다.
가장 적절한 개선은 무엇일까요?
- A. S3 Gateway VPC Endpoint를 구성하고 관련 route table에 연결한다.
- B. NAT Gateway를 더 큰 인스턴스로 교체한다.
- C. Internet Gateway를 private subnet에 직접 연결한다.
- D. CloudFront를 EC2 앞에 둔다.
정답: A
해설: 목적지가 S3이고 private subnet에서 반복적으로 많은 트래픽이 나갑니다. AWS NAT Gateway pricing 문서는 NAT Gateway가 제공되는 시간과 처리한 데이터에 대해 비용이 발생한다고 설명합니다. S3가 목적지라면 Gateway VPC Endpoint를 사용해 인터넷/NAT 경로를 줄이는 선택지가 비용과 보안 조건에 더 직접적입니다.
시험에서 볼 단서: private subnet, S3, large amount of traffic, avoid internet, reduce NAT charges
문제 2. 외부 결제 API를 호출해야 한다
Lambda 함수가 VPC private subnet에 연결되어 있습니다. 이 함수는 AWS 서비스가 아닌 외부 결제 API를 호출해야 합니다. 회사는 외부에서 Lambda로 직접 들어오는 연결은 원하지 않습니다.
가장 적절한 선택은 무엇일까요?
- A. Public NAT Gateway를 통해 outbound 인터넷 경로를 구성한다.
- B. S3 Gateway VPC Endpoint만 구성한다.
- C. DynamoDB Gateway VPC Endpoint만 구성한다.
- D. S3 lifecycle policy를 추가한다.
정답: A
해설: 비용 최적화 문제라도 목적지가 외부 인터넷이면 VPC Endpoint가 해결책이 아닙니다. NAT Gateway는 private subnet 리소스가 VPC 밖 서비스로 연결할 수 있게 하는 서비스입니다. S3/DynamoDB endpoint는 해당 AWS 서비스 접근 경로를 줄이는 선택지이지, 외부 결제 API로 나가는 기능이 아닙니다.
시험에서 볼 단서: third-party API, external internet, outbound only, private subnet
문제 3. 전 세계 사용자가 같은 이미지 파일을 반복 요청한다
웹 서비스의 정적 이미지가 S3 bucket에 저장되어 있습니다. 전 세계 사용자가 같은 이미지를 반복 요청하고, origin 요청과 사용자 지연 시간을 줄이고 싶습니다.
가장 적절한 비용 최적화 방향은 무엇일까요?
- A. CloudFront 배포를 사용해 edge location에서 캐싱한다.
- B. 모든 객체를 S3 Glacier Deep Archive로 이동한다.
- C. 모든 요청을 NAT Gateway 뒤로 보낸다.
- D. S3 버킷을 매일 새로 만든다.
정답: A
해설: 반복 조회되는 정적 콘텐츠는 CloudFront 캐싱 단서입니다. CloudFront는 edge에서 콘텐츠를 제공해 origin 부하와 지연 시간을 줄이는 데 사용됩니다. Glacier 계열 storage class는 장기 보관/낮은 접근 빈도에 맞는 선택지이지, 자주 읽히는 이미지 제공에는 맞지 않습니다.
시험에서 볼 단서: global users, static content, repeated requests, cache, reduce origin load
문제 4. 오래 보관하지만 거의 읽지 않는 로그 파일
회사는 규정 준수를 위해 로그 파일을 장기간 보관해야 합니다. 대부분의 로그는 생성 후 거의 읽지 않지만, 필요하면 검색 가능해야 합니다. 운영팀은 수동 이동 작업을 줄이고 싶습니다.
가장 적절한 선택은 무엇일까요?
- A. S3 lifecycle policy로 접근 패턴에 맞는 storage class 전환을 구성한다.
- B. 모든 로그를 S3 Standard에 영구 보관한다.
- C. 모든 로그를 NAT Gateway에 저장한다.
- D. CloudFront 캐시를 로그 저장소로 사용한다.
정답: A
해설: S3 비용 최적화의 핵심 단서는 접근 빈도와 보관 기간입니다. 오래 보관하지만 자주 읽지 않는 객체는 lifecycle policy와 storage class 전환을 검토할 수 있습니다. 다만 storage class는 검색 시간, 최소 보관 기간, retrieval 비용 조건이 다르므로 문제에서 “즉시 접근”, “거의 접근하지 않음”, “아카이브” 같은 표현을 구분해야 합니다.
시험에서 볼 단서: long-term retention, rarely accessed, lifecycle, storage class, archive
문제 5. 비용만 보고 NAT Gateway를 없애도 될까?
한 팀이 NAT Gateway 비용을 줄이기 위해 NAT Gateway를 삭제하려고 합니다. 그러나 private subnet의 애플리케이션은 외부 보안 업데이트 서버와 서드파티 API를 계속 호출해야 합니다.
가장 적절한 판단은 무엇일까요?
- A. 외부 인터넷 목적지가 남아 있으므로 NAT Gateway 또는 동등한 outbound 경로가 필요하다.
- B. S3 Gateway Endpoint만 있으면 모든 인터넷 목적지에 접근할 수 있다.
- C. CloudFront를 만들면 private subnet에서 외부 API를 호출할 수 있다.
- D. S3 storage class를 변경하면 네트워크 outbound 문제가 해결된다.
정답: A
해설: 비용 최적화는 요구사항을 만족하는 범위에서 해야 합니다. 외부 인터넷 목적지가 있으면 NAT Gateway를 단순히 제거할 수 없습니다. 대신 S3/DynamoDB 같은 AWS 서비스 트래픽은 endpoint로 분리하고, 꼭 필요한 외부 outbound만 NAT 경로를 쓰는 식으로 비용 요인을 나눠야 합니다.
시험에서 볼 단서: must continue, external update server, third-party, outbound
빠른 구분표
| 문제 조건 | 비용 최적화 방향 |
|---|---|
| private subnet에서 S3/DynamoDB로 많은 트래픽 | Gateway VPC Endpoint 검토 |
| private subnet에서 AWS API 서비스 접근 | Interface VPC Endpoint 검토 |
| 외부 인터넷 API 호출 | NAT Gateway 등 outbound 경로 필요 |
| 전 세계 사용자에게 정적 파일 제공 | CloudFront 캐싱 검토 |
| 장기 보관, 낮은 접근 빈도 | S3 lifecycle/storage class 검토 |
결론
SAA-C03 비용 최적화 문제는 숫자를 외워서 푸는 문제가 아닙니다. 먼저 트래픽 경로와 데이터 접근 패턴을 봐야 합니다.
NAT Gateway는 private subnet outbound에 필요할 수 있지만, S3/DynamoDB 같은 AWS 서비스 트래픽까지 무조건 NAT로 보낼 필요는 없습니다. CloudFront는 반복 조회되는 정적 콘텐츠에서 origin 부하와 지연 시간을 줄이는 선택지가 될 수 있습니다. S3는 저장 기간과 접근 빈도에 맞춰 storage class와 lifecycle을 고르는 문제가 자주 나옵니다.
시험에서는 “가장 비용 효율적”이라는 말만 보지 말고, 비용을 줄이면서도 보안, 성능, 운영 부담 조건을 지키는 선택지를 고르세요.
참고한 공식 자료
- AWS Certified Solutions Architect - Associate (SAA-C03) Exam Guide: https://docs.aws.amazon.com/aws-certification/latest/solutions-architect-associate-03/solutions-architect-associate-03.html
- Pricing for NAT gateways - Amazon VPC: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-pricing.html
- Amazon CloudFront pricing: https://aws.amazon.com/cloudfront/pricing/
- Amazon S3 pricing: https://aws.amazon.com/s3/pricing/