다음 글: AWS SAA-C03 공부법, 알아야할 기본 지식
https://rb-cloud.tistory.com/33
이번 AWS 2, 3월 시험 할인을 받기 위해 2월 14일에 AWS SAA-C03을 시험쳤다. 결과는 602점, 커트라인은 720점이다!
공부를 안 했는데 생각보다 잘 나와서 놀랐다. 오늘부터 공부를 시작하려고 한다~~
시험 문제는 65문제, 4지선다가 대부분이고 답 2개인 5지선다가 가끔 나온다.
한 번 풀어보니 덤프보다는 문장 이해가 쉬웠고, 문제에 상황이 주어지고 이걸 위해 어떤 솔루션이 필요한지 나열하는 방식이었다.
그래서 어떤 상황의 조합이냐에 따라 정답의 조합 또한 달라진다.
EX) 문제
회사는 여러 대륙에 걸쳐 도시의 온도, 습도 및 대기압에 대한 데이터를 수집합니다.
회사가 매일 각 사이트에서 수집하는 데이터의 평균 볼륨은 500GB 입니다.
각 사이트에는 고속 인터넷 연결이 있습니다.
이 회사는 이러한 모든 글로벌 사이트의 데이터를 단일 Amazon S3 버킷에 최대한 빨리 집계하려고 합니다.
솔루션은 운영 복잡성을 최소화해야 합니다.
어떤 솔루션이 이러한 요구 사항을 충족합니까?
A. 대상 S3 버킷에서 S3 Transfer Acceleration을 켭니다. 멀티파트 업로드를 사용하여 사이트 데이터를 대상 S3 버킷에 직접 업로드합니다.
B. 각 사이트의 데이터를 가장 가까운 리전의 S3 버킷(중간 버킷)에 업로드합니다. S3 교차 리전 복제(CRR)를 사용하여 대상 S3 버킷에 객체를 복사합니다. 그런 다음 원본 S3 버킷에서 데이터를 제거합니다.
C. AWS Snowball Edge Storage Optimized 디바이스 작업을 매일 예약하여 각 사이트에서 가장 가까운 리전으로 데이터를 전송합니다. S3 교차 리전 복제를 사용하여 대상 S3 버킷에 객체를 복사합니다.
D. 각 사이트의 데이터를 가장 가까운 리전의 Amazon EC2 인스턴스로 업로드합니다. Amazon Elastic Block Store(Amazon EBS) 볼륨에 데이터를 저장합니다. 정기적으로 EBS 스냅샷을 만들어 대상 S3 버킷이 포함된 리전에 복사합니다. 해당 리전에서 EBS 볼륨을 복원합니다. (오버 엔지니어링)
문제에 하이라이트한 단어의 솔루션은 아래처럼 매핑된다.
| 500GB | Multipart Upload |
| 고속 인터넷 연결 | Snowball 배제 |
| 모든 글로벌 사이트 | S3 Transfer Acceleration |
| 단일 Amazon S3 버킷 집계 | 중간 버킷/CRR 배제 |
| 운영 복잡성을 최소화 | EC2/EBS 배제 데이터 제거하지 않기 Snowball을 자주 예약하면 복잡성 증가 |
이 포스팅에서는 몇 개의 문제를 풀면서 어떻게 매핑되는지 정리해보려고 한다.
1번 문제
Q. 회사는 독점 애플리케이션의 로그 파일을 분석할 수 있는 능력이 필요합니다.
로그는 Amazon S3 버킷에 JSON 형식으로 저장됩니다.
쿼리는 간단하고 주문형으로 실행됩니다.
솔루션 설계자는 기존 아키텍처에 대한 최소한의 변경으로 분석을 수행해야 합니다.
솔루션 설계자는 최소한의 운영 오버헤드로 이러한 요구 사항을 충족하기 위해 무엇을 해야 합니까?
A. Amazon Redshift 를 사용하여 모든 콘텐츠를 한 곳에 로드하고 필요에 따라 SQL 쿼리를 실행합니다.
B. Amazon CloudWatch Logs 를 사용하여 로그를 저장합니다. Amazon CloudWatch 콘솔에서 필요에 따라 SQL 쿼리를 실행합니다.
C. Amazon S3 와 함께 Amazon Athena 를 직접 사용하여 필요에 따라 쿼리를 실행합니다.
D. AWS Glue 를 사용하여 로그를 분류합니다. Amazon EMR 에서 임시 Apache Spark 클러스터를 사용하여 필요에 따라 SQL 쿼리를 실행합니다.
→ 매핑
| Amazon S3 버킷 저장 | S3 직접 쿼리 가능 서비스 → Athena |
| JSON 형식 | JSON 네이티브 지원 → Athena |
| 기존 아키텍처에 대한 최소한의 변경 | 데이터 이동 금지 → Redshift / CloudWatch 배제 |
| 쿼리는 간단 | Redshift / EMR 과함 → 배제 |
| 주문형(Ad-hoc) | 상시 클러스터 불필요 → 서버리스 → Athena |
| 최소한의 운영 오버헤드 | 클러스터 관리 불가 → Redshift / EMR 배제 |
❤️🔥 개념 정리
1. Athena
S3에 저장된 데이터를 서버리스 표준 SQL로 직접 조회할 수 있는 대화형 쿼리 서비스.
서버나 클러스터를 만들지 않고도 사용할 수 있다.

다음과 같은 상황에서 쓰기 좋다.
- 애플리케이션 로그가 S3에 쌓임
- 가끔 SQL로 조회하고 싶음
- 인프라 운영 인력이 없음
- 프로비저닝 없이 즉시 사용 가능해야 함
반대로 복잡한 트랜잭션 처리나 고성능 조인 중심의 기업 DW에는 적합하지 않다.
핵심 키워드
#서버리스 #S3 직접 조회 #Ad-hoc 분석
2. Redshift
기업 규모의 데이터를 분석하기 위한 완전관리형 데이터 웨어하우스 서비스.
데이터를 적재한 후 고성능 SQL 분석을 수행한다.
클러스터 기반 또는 서버리스 모드로 동작하며, 컬럼 기반 저장과 MPP(병렬) 구조를 사용한다.

다음과 같은 상황에서 쓰기 좋다.
- 여러 시스템의 데이터를 통합 분석해야 함
- 복잡한 JOIN과 대규모 집계가 많음
- BI 대시보드가 상시 연결되어 있음
- 기업 데이터 웨어하우스를 구축하려 함
- 장기적이고 구조화된 분석 환경이 필요함
반대로 단순히 S3 데이터를 가끔 조회하는 용도로 쓰기에는 과하다.
데이터 적재와 설계가 필요하기 때문이다.
핵심 키워드
#데이터웨어하우스 #대규모 분석 #복잡한 조인 #MPP
3. CloudWatch
AWS 리소스의 모니터링과 로그 수집을 위한 서비스.
운영 가시성 확보가 목적이다.
CloudWatch Logs Insights를 통해 로그에 대해 쿼리를 수행할 수 있지만, 이는 운영 분석을 위한 기능이다.
데이터 웨어하우스나 비즈니스 분석 플랫폼과는 목적이 다르다.
다음과 같은 상황에서 쓰기 좋다.
- 애플리케이션 오류를 실시간 감지해야 함
- 인프라 상태를 모니터링해야 함
- 경보(Alert)를 자동으로 발송해야 함
- 로그 기반 운영 분석이 필요함
반대로, 비즈니스 분석 플랫폼으로 사용하는 것은 적절치 않다.
핵심 키워드
#모니터링 #로그수집 #알람 #운영가시성
4. EMR
Hadoop, Spark, Hive 등의 오픈소스 빅데이터 프레임워크를 실행하는 관리형 클러스터 서비스.
SQL 조회가 목적이 아니라 대규모 분산 데이터 처리가 목적이다.
클러스터를 생성하여 작업을 실행하고 필요 시 종료한다.
다음과 같은 상황에서 쓰기 좋다.
- 대규모 TB 이상 데이터를 전처리해야 함
- 복잡한 ETL 파이프라인이 필요함
- Spark 기반 분석을 수행해야 함
- 머신러닝 학습 데이터 가공이 필요함
- 분산 병령 처리가 필수임
반대로, 단순 Ad-hoc SQL 조회 용도로 쓰기에는 운영 복잡도가 높다.
핵심 키워드
#Spark #Hadoop #대규모ETL #분산처리
2번 문제
Q. 회사는 AWS Organizations 를 사용하여 여러 부서의 여러 AWS 계정을 관리합니다.
관리 계정에는 프로젝트 보고서가 포함된 Amazon S3 버킷이 있습니다.
회사는 이 S3 버킷에 대한 액세스를 AWS Organizations 의 조직 내 계정 사용자로만 제한하려고 합니다.
최소한의 운영 오버헤드로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
A. 조직 ID 에 대한 참조와 함께 aws PrincipalOrgID 전역 조건 키를 S3 버킷 정책에 추가합니다.
B. 각 부서에 대한 조직 단위(OU)를 만듭니다. aws:PrincipalOrgPaths 전역 조건 키를 S3 버킷 정책에 추가합니다.
C. AWS CloudTrail(자동X) 을 사용하여 CreateAccount, InviteAccountToOrganization, LeaveOrganization 및 RemoveAccountFromOrganization 이벤트를 모니터링합니다. 그에 따라 S3 버킷 정책을 업데이트합니다.
D. S3 버킷에 액세스해야 하는 각 사용자에 태그를 지정합니다. aws:PrincipalTag 전역 조건 키를 S3 버킷 정책에 추가합니다.
→ 매핑
| AWS Organizations 를 사용 | Organization ID 레벨 제어 필요 |
| 조직 내 계정 사용자 | 조직 전체 식별 키 필요 Org ID 단위 제어 |
| 최소한의 운영 오버헤드 | 수동 업데이트 금지 글로벌 조건 키 사용 |
❤️🔥 개념 정리
1. Organizations + S3 정책
S3 버킷 정책은 IAM 정책 평가 로직을 따른다.
IAM:
그리고 AWS는 Organizations와 연동되는 글로벌 조건 키를 제공한다.
글로벌 조건 키
- aws:PrincipalOrgID
- aws:PrincipalOrgPaths
- aws:PrincipalTag
2. aws:PrincipalOrgID
Organization 전체를 식별하는 전역 조건 키.
해당 Organization ID에 속한 계정의 IAM Principal만 접근 허용하게 한다.
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-xxxxxxxx"
}
}
여기서 중요한 점은 조직 상태에 따라 바뀌는 동적 방식이다.
- 계정이 추가돼도 정책 수정 불필요
- 계정이 조직을 떠나면 자동 차단
- 실시간 평가
다음과 같은 상황에서 쓰기 좋다.
- 조직 전체 계정만 접근 허용해야 함
- 계정이 자주 추가/삭제될 수 있음
- 정책을 수동으로 업데이트하고 싶지 않음
- 중앙 통제 구조가 필요함
핵심 키워드
# Organization전체 #자동 적용 #동적 제어 #최소운영 오버헤드
3. aws:PrincipalOrgPaths
OU(Organizational Unit) 경로 기반 제어를 위한 조건 키.
특정 OU에 속한 계정만 허용하고 싶을 때 사용할 수 있다.
즉 범위를 세밀하게 제한할 수 있는 방식이다.
이 문제에서는 특정 OU를 지정하지 않았기 때문에 전체 Organization을 언급한 것으로 이해할 수 있다.
4. aws:PrincipalTag
사용자 단위 태그 기반 접근 제어 방식이다.
- 사용자마다 태그 관리 필요
- 태그 누락 가능성 존재
- 계정 전체 통제가 아님
이 문제에서는 계정 레벨 제어를 원하기 때문에, 사용자 단위 제어인 Tag는 틀렸다.
5. CloudTrail
AWS 계정의 운영 감사, 위험 분석, 거버넌스, compliance를 지원하는 서비스.
누가, 언제, 어떤 API를 호출했는지 기록한다.
사용자, IAM Role, 또는 AWS 서비스가 수행한 모든 작업은 CloudTrail에서 Event 형태로 기록된다.
기록 대상은 다음과 같다.
- AWS Management Console에서 수행한 작업
- AWS CLI를 통한 명령 실행
- AWS SDK 및 API 호출
CloudTrail이 이벤트를 기록하는 3가지 방식
1. Event History
최근 90일간의 관리 이벤트를 조회, 검색, 다운로드하는 기능이다.
단일 속성을 필터링하여 이벤트를 검색할 수 있으며, 무료이다.
2. CloudTrail Lake
감사 및 보안 목적으로 AWS에서 사용자 및 API 활동을 캡쳐, 저장, 접근 및 분석하기 위한 관리형 데이터 레이크이다.
행 기반 JSON 형식의 기존 이벤트를 Apache ORC 형식으로 변환한다. ORC는 데이터를 빠르게 검색하는데 최적화된 컬럼형 저장 형식이다.
보존 기간은 생성 시 선택한 가격 옵션에 따라 달라진다.
1년 연장 가능 보존 옵션 → 최대 3,653일(약 10년) 7년 보존 옵션 → 최대 2,557일(약 7년)
단일 AWS 계정뿐 아니라 AWS Organizations를 사용하여 여러 계정의 이벤트를 통합 저장할 수 있다. 또한 기존에 Amazon S3에 저장된 CloudTrail 로그를 Lake로 가져와 분석할 수도 있다. CloudTrail Lake는 쿼리 기능을 제공하며, Lake 대시보드를 통해 주요 이벤트 추세를 시각화할 수 있다.
3. Trails
AWS 활동 기록을 지속적으로 캡처하여 Amazon S3 버킷에 전달하고 저장하는 기능이다. 선택적으로 CloudWatch Logs 및 Amazon EventBridge로도 전달할 수 있다. Trail을 생성하면 관리 이벤트(Management Events)를 지속적으로 수집하여 S3에 저장할 수 있으며, 저장된 로그는 다음과 같은 방식으로 활용할 수 있다.
▪️ 보안 모니터링 솔루션과 연동
▪️ SIEM 시스템 통합
▪️ Amazon Athena를 이용한 로그 분석
▪️ 장기 감사 및 규정 준수 대응
단일 AWS 계정에 대해 Trail을 생성할 수 있으며, AWS Organizations를 활용하면 여러 계정에 대한 통합 Trail도 구성할 수 있다. 또한 CloudTrail Insights 기능을 활성화하면 API 호출 빈도나 오류율의 비정상적인 증가와 같은 이상 징후를 분석할 수 있다. Trail을 생성하여 진행 중인 관리 이벤트의 사본 한 부를 S3로 전달하는 것은 무료이지만, S3 저장 비용은 별도로 발생한다.
✅ Event History → 최근 90일 관리 이벤트 무료 조회
✅ CloudTrail Lake → 장기 보관 및 고급 분석용 데이터 레이크 (유료)
✅ Trails → 지속적 로그 수집 및 S3 저장
다음은 GPT가 정리해준 단어 정답 매핑이다.
🔥 시험에서 자주 나오는 “단어 → 정답” 매핑
📦 S3 관련
| 글로벌 업로드 가속 | Transfer Acceleration |
| 정적 웹사이트 + HTTPS | CloudFront |
| 버전 복구 | Versioning |
| 실수 삭제 복구 | MFA Delete |
| 데이터 오래 보관 | Glacier |
| 라이프사이클 | Lifecycle Policy |
📊 로그/분석 문제
| S3에 있는 데이터 직접 SQL | Athena |
| 대규모 ETL | Glue |
| 실시간 스트리밍 분석 | Kinesis |
| 데이터 웨어하우스 | Redshift |
🌍 네트워크 문제
| 온프레미스 전용선 | Direct Connect |
| 암호화 VPN | Site-to-Site VPN |
| 여러 VPC 연결 | Transit Gateway |
| 빠른 글로벌 DNS | Route 53 |
🏢 Organizations 문제
| 조직 전체 허용 | aws:PrincipalOrgID |
| OU 단위 제어 | aws:PrincipalOrgPaths |
| 계정 추가 자동 반영 | PrincipalOrgID |
🚚 데이터 이동
| 네트워크 느림 | Snowball |
| 10TB~수백TB | Snowball |
| 매일 온라인 전송 | Transfer Acceleration |
| 지속 동기화 | DataSync |
'자격증 따기 > AWS-SAA C03' 카테고리의 다른 글
| [AWS SAA-C03] 2단원 Storage (0) | 2026.03.25 |
|---|---|
| [AWS SAA-C03] 단원별 예제 풀이 (0) | 2026.03.24 |
| [AWS SAA-C03] 1단원 Compute & Container & Serverless (0) | 2026.03.24 |
| [AWS-SAA03 공부법] 알아야 할 서비스 (0) | 2026.03.24 |
| AWS SAA-C03 공부법 [알아야 할 기본 지식] (0) | 2026.03.20 |