시작하며
AWS Solution Architect Associate(SAA-C03) 시험을 준비하면서 공부한 핵심 내용을 서비스 영역별로 정리한 글이다.

AWS 서비스별 핵심 개념
IAM (Identity and Access Management)
- IP 대역 문제에서, 예를 들어 10.100.100.0/24 라면 처음 4개와 마지막 IP는 AWS에서 사용하므로 사용할 수 없다.
- 0, 1, 2, 3, 255 는 AWS에서 예약해 두었다.
- DB 플러그인을 통한 데이터베이스 인증(단기 토큰)을 사용하여 DB 액세스 보안을 구성하기도 한다.
- RAM (Resource Access Manager) : AWS 조직 내에서 AWS 리소스를 쉽고 안전하게 공유할 수 있는 서비스다.
- AWS Config : AWS 리소스의
구성을 평가, 감사할 수 있는 서비스다.- AWS 리소스 구성을 지속적으로 모니터링 및 기록하고, 원하는 구성에 대해 기록된 구성을 자동으로 식별한다.
Storage
- instance store
- 최대 I/O 성능을 제공한다.
- ebs (elastic block storage) : EC2에 연결하여 사용하는 인스턴스 독립적인 block storage다.
- AMI가 설치되는 EBS 루트 볼륨이 생성된다.
단일 가용영역(AZ)에 있어야 연결 가능하다.- snap-shot 기능을 통해 EBS 볼륨 백업이 가능하다.
- 수명주기 관리자 정책을 통해 스냅샷 생성 일정을 자동화할 수 있다.
- KMS (AWS Key Management Service) 를 통해 EBS 볼륨 암호화가 가능하다.
- 여러 EC2에 동시 연결(Multi-Attach) 가능하다 (단, 프로비저닝된 IOPS SSD만 가능).
- 인스턴스 수명과 독립적이며 서비스 중단 없이 볼륨 유형, 크기, IOPS 용량을 수정할 수 있다.
- efs (elastic file system) : 리눅스 환경의 EC2 인스턴스에서 연결하기 위한 NFS다.
- NFS 프로토콜을 지원하며
여러 가용영역에 있는 수십~수백 대의 EC2 연결이 가능하다.
- NFS 프로토콜을 지원하며
- S3 (Amazon Simple Storage Service)
- 내구성 99.999999999%
- 멀티파트 업로드 : 대용량 파일을 분할하여 병렬로 S3에 업로드한다. 완료 전까지 계속 남아 있으므로 수명주기 정책으로 관리해야 한다.
- Amazon S3 Transfer Acceleration 을 통해 장거리 파일을 빠르고 쉽게 전송할 수 있다 (Global Accelerator는 TCP, UDP 트래픽을 빠르게 전송한다).
- S3 Storage Class
- S3 Standard
- S3 Intelligent-Tiering
- S3 Standard-IA
- S3 One Zone-IA
- Glacier Instant Retrieval
- S3 Glacier / Glacier Flexible Retrieval : 신속 검색을 통해 15분 이내로 데이터 접근이 가능하다.
- S3 Glacier Deep Archive
- Storage Gateway :
데이터 복제 후 통합솔루션이다.- on-premise ←> AWS cloud storage 간 연결. local cache 기능을 통해 AWS storage와 짧은 지연시간 액세스를 유지한다 (실시간 전송 및 저장 가능).
- S3 File Gateway : NFS, SMB 프로토콜을 이용해서 S3에서 객체를 저장하고 검색한다.
- FSx File Gateway : SMB 프로토콜을 이용해서 Windows File Server 내의 파일을 저장하고 검색한다 (Lustre는 고성능).
- Volume Gateway : ISCSI 연결을 이용해 볼륨을 EBS 스냅샷으로 저장 및 백업 가능 → on-premise block storage를 대체할 수 있다.
- Tape Gateway : S3 Glacier 또는 Deep Archive 로 백업하여 저장 비용을 최소화한다.
- Hardware Appliance : on-premise에 서버 등 인프라가 부족한 데이터 센터의 경우, Storage Gateway Software가 미리 설치된 기기를 구매하여 운용할 수 있다.
- Cached Volume : 데이터를 S3에 저장하고, on-premise 네트워크에서 로컬로 자주 액세스하는 데이터 하위 세트 사본을 보유한다.
- AWS DataSync :
마이그레이션솔루션이다.- on-premise ←> AWS cloud storage 간 데이터 전송 및 복제(데이터 마이그레이션)를 자동화한다.
- NFS, SMB 프로토콜을 지원하며, on-premise 데이터를 S3, EFS, FSx 등으로 마이그레이션하거나 S3 Glacier로 아카이빙한다.
- Snow Family
- Snowball 사용 시, S3 Glacier 볼트를 대상으로 바로 선택할 수 없으며, S3 수명주기 정책을 생성하여 S3 Glacier로 전환해야 한다.
DataBase
- RDS (Relational Database Service) : 여러 RDBMS 엔진을 AWS에서 제공하며, 백업은 S3에 저장된다.
- DB 다운타임 없이 스토리지 용량에 맞게 자동으로 확장 가능하다 (Storage Auto Scaling).
- FailOver가 동작하는 경우 : 기본 스토리지 오류, 가용성 문제
- Too many Connection 시 RDS Proxy를 사용한다.
- 3가지 스토리지 유형 → 범용(일반), 프로비저닝 IOPS(빠른 I/O), 마그네틱(가장 낮은 액세스 빈도)
- RDS Replica는 읽기 성능 향상에 도움이 된다.
- 자동 백업 (Automated backup)
- 5분마다 백업하므로 5분 전까지 복구 가능 / 35일 보관 가능
- 스냅샷 (DB Snapshots) / 보존 기간 없음
- 복구하면 새로운 엔드포인트를 가지는 신규 DB 인스턴스가 생성된다.
- SSL, TLS 사용. KMS (AWS Key Management Service) 를 통해 모든 DB 엔진에 대한 암호화가 가능하다.
- RDS Audit Logs를 통해 보안 감사에 활용할 수 있다.
- 향상된 모니터링 지표는 OS 프로세스, RDS 자식 프로세스다.
- ElastiCache : DB 응답 성능 개선을 위한 인메모리 데이터 스토어다 (1ms 미만의 응답 시간).
- Memcached → 멀티쓰레드 지원
- Redis → 싱글쓰레드만 지원, 스냅샷 백업, 복제, 고가용성 가능
- DynamoDB : key-value 기반 NoSQL DB 서비스이며, 서버리스다. 짧은 지연시간으로 수백만 개 요청에 빠른 응답을 제공한다.
- 용량에 맞게 자동으로 Auto-Scaling 가능하다.
- DAX (DynamoDB Accelerator) 를 통해 인메모리 캐싱 가능하다 : 밀리초 단위로 줄어든다.
- TTL 설정으로 일정 시간이 지나면 삭제할 수 있다.
- DynamoDB Streams : 변경 항목을 캡처할 수 있고, Kinesis DataStream으로 보낼 수 있다.
- 트래픽이 예측 가능한 경우 Auto-Scaling을, 예측 불가능한 경우 On-Demand를 사용한다.
- Amazon Athena : 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 분석할 수 있는 쿼리 서비스다. 데이터 로드 없이 S3 원본에 저장된 데이터에 대해 SQL 쿼리를 수행한다.
- JSON → Apache Parquet 로 변환 시 월등한 속도를 보인다.
- Amazon Aurora : RDS 호환형 관계형 데이터베이스다.
- 1초 RPO(복구 시점 목표), 1분 RTO(복구 시간 목표)
- RDS에서 제공하는 읽기 전용 복제본, KMS 암호화, 스냅샷 백업, Auto-Scaling 등을 제공한다.
- AWS에서 만든 서비스로, 다른 RDS보다 저렴한 비용에 성능이 더 뛰어나다.
- 클러스터 기반 구성이며, 연결을 추상화하기 위한 내장 리더 엔드포인트를 사용한다.
- Aurora Replicas의 경우, 마스터 DB 장애 발생 시 최대 30초 이내에 복제본 중 하나가 기본 인스턴스로 Failover된다.
- Amazon Aurora Serverless : 예측할 수 없는 워크로드에 자동 스케일링하는 솔루션이다.
- Amazon QLDB (Quantum Ledger DataBase) : 암호적으로 검증 가능한 트랜잭션 로그를 제공하는 완전 관리형 레저 데이터베이스다.
- Amazon RedShift : 빅데이터 분석용이다. RedShift Spectrum의 경우, Amazon S3의 구조화되지 않은 데이터에 대해 SQL 쿼리를 직접 실행할 수 있다.
Network
- Route53 : AWS에서 제공하는 DNS 서비스이며 라우팅 정책 생성, VPC 생성 등이 가능하다.
- 단순 라우팅, 가중치 기반, 지리적 위치, 지연 시간 등
- 레코드 유형
- A : 도메인 to IPv4
- AAAA : 도메인 to IPv6
- CNAME : 도메인 to 도메인
- ALIAS : 도메인 to AWS 리소스
- 기타 : MX(메일) NS(DNS 식별) SOA(도메인 정보 및 권한)
- Lambda + API Gateway 조합을 주로 사용한다.
Application - 통합
- SQS (Simple Queue Service) : poll 방식으로 메시지를 전송한다.
- 일정 횟수 이상 시도 후 처리되지 못한 메시지는 DLQ로 이동하여 보관된다.
- 중복이 발생할 수 있다. 이런 경우 Amazon Simple Workflow 또는 SQS FIFO Queue를 사용한다.
- API Gateway : 개발자가 API를 생성, 게시, 모니터링, 보안 유지를 할 수 있게 해주는 서비스다.
- RESTful API, WebSocket API를 지원한다.
- Kinesis : 실시간 데이터를 손쉽게 수집, 처리, 분석하는 서비스다.
- Kinesis Data Streams : 데이터 스트림을 다른 AWS 서비스로 전송한다.
- 실시간(Realtime)이며 추가된 시점부터 최대 24시간 동안 접근할 수 있고, 한도는 7일까지다.
- 최대 1년 보관의 데이터 스토리지가 있다.
- 중복되지 않는다.
- Kinesis Data Firehose : 데이터 스트림을 AWS 데이터 스토어로 ETL한다.
- 준실시간(Near Realtime), DynamoDB로는 전송 불가하다.
- 데이터 스토리지 없음
- Kinesis Data Analytics : SQL, Apache Flink로 데이터 스트림을 분석한다.
- Kinesis Video Streams : 비디오 스트림을 수집, 저장 및 처리한다.
- Kinesis Data Streams : 데이터 스트림을 다른 AWS 서비스로 전송한다.
ELB (Elastic Load Balancer)
- NLB (Network Load Balancer) : TCP, UDP, TLS 요청을 로드 밸런싱해야 하는 경우 사용한다.
Static IP는 NLB에서만 할당 가능하다 (예: 고정 IP를 허용하는 방화벽 IP 해제의 경우 NLB를 사용해야 한다).
- ALB (Application Load Balancer) : HTTP, HTTPS, gRPC 등 요청을 로드 밸런싱해야 하는 경우 사용한다.
- 리스너 규칙, 경로 기반으로 라우팅 설정이 가능하다.
- 도메인이 SSL 트래픽을 제공하도록 허용하는 것은 SNI(서버 이름 표시)를 사용해서 클라이언트에 대한 최적의 TLS 인증서를 자동으로 선택하게 한다.
- Gateway LB : 경로 기반 라우팅을 지원하지 않는다.
CloudFront
- CDN (Contents Delivery Network)
- edge location의 콘텐츠 캐싱을 통해 콘텐츠를 사용자에게 더 빨리 배포하도록 지원한다.
- origin → CloudFront 간의 전송 비용은 부과되지 않는다.
- OAI (Origin Access Identity) 를 통해 S3 Bucket의 액세스를 CloudFront를 통해서만 할 수 있게 강제한다.
- HTTP 프로토콜 처리에 적합하다 (TCP의 경우 Global Accelerator).
- Origin Group : CloudFront에 대한 고가용성
- origin 장애 조치를 사용해 CloudFront를 설정 → 기존의 origin을 사용할 수 없게 되면 자동으로 보조 origin으로 전환한다.
보안 및 자격증명
- AWS Cognito
- application에 대한 로그인 및 인증을 제공한다 (계정과 통합 가능).
- AWS Secret Manager : 데이터베이스 자격증명, 암호 등을 중앙에서 제어할 수 있다.
- 코드의 하드코딩된 내용을 프로그래밍(API) 방식으로 가져올 수 있다.
- GuardDuty
- AWS 계정 및 워크로드에서 악의적 활동을 모니터링하고 위협을 탐지한다.
- Macie
- 머신러닝을 통해 AWS에서 민감 데이터를 보호한다.
- Inspector
- 컨테이너, EC2에서 SW 취약성을 검증한다.
- WAF (Web Application Firewall)
- HTTP에서 동작하며, ALB, API Gateway, CloudFront에 적용 가능하다.
- WAF ACL (Access Control List) 를 통해 악성 IP, 국가 차단, SQL injection 방어, DDoS 방어 등이 가능하다 (더 안전한 것은 AWS Shield).
- CloudTrail : AWS 계정이 수행하는 작업에 대해 로그를 기록한다.
- 관리 콘솔 및 API 호출 기록
- 로그는 CloudWatch Logs 또는 S3 버킷에 저장 가능하다.
- KMS를 사용해서 암호화 가능하다 → AWS Config 규칙을 통해 리소스 구성이 규정 준수를 하고 있는지 규칙을 생성할 수 있다.
- CloudTrail Insight를 사용해서 비정상적인 활동을 감지할 수 있다.
- S3로 올린 이후에도 CloudTrail 로그 파일에 대한 CRUD 확인이 가능하므로 AWS 계정의 거버넌스, 규정, 감사 등에 활용한다.
- AWS STS (Security Token Service) : 임시 토큰 서비스(단기 자격증명)다.
- LDAP(Lightweight Directory Access Protocol) 디렉토리 통합 시, ID 스토어가 SAML과 호환되지 않은 경우 등에 사용한다.
관리 및 거버넌스
- CloudWatch : AWS Cloud 리소스와 AWS에서 실행되는 애플리케이션 모니터링 서비스다. 지표를 수집, 추적, 사용률 확인이 가능하다.
- EC2 인스턴스에 대한 중지, 종료, 재부팅 등의 알람을 생성해 동작하게 할 수 있다.
- CloudWatch Agent를 통해 CloudWatch Logs Insight로 로그 데이터를 분석한다.
- 기본적으로는 메모리 사용량을 모니터링하지 않으므로 EC2 인스턴스에 CloudWatch agent를 설치해야 한다.
Computing - Container
- ECS : 도커 기반 컨테이너 오케스트레이션 서비스다.
- 서비스의 평균 메모리 사용률이 너무 높을 때 클러스터를 확장할 수 있다.
- 클러스터의 CPU 사용률이 너무 높을 때 클러스터를 확장할 수 있다.
- EKS : 관리형 Kubernetes 서비스다.
- AWS Fargate : 서버리스 컨테이너 서비스다.
- 서버 프로비저닝, 패치 적용, 클러스터 용량 관리 & 인프라 관리를 AWS에서 자동으로 수행한다.
- ECS 및 EKS와 연동된다.
- Amazon ECS가 컴퓨팅에 Fargate를 사용하면 애플리케이션이 유휴 상태일 때 비용이 발생하지 않는다.
ETC
- AWS Glue : 클릭스트림 ETL 서비스다.
- Amazon Workspaces : 가상 데스크탑이다.
- AWS X-Ray : Amazon API GW 분석 모니터링이다.
- AWS CloudFormation 종속성 확인 : CloudFormation 템플릿의 CreationPolicy를 사용한다.
- OpenID Connect : WebId Federation에 사용한다.
- HPC (고성능 컴퓨팅) : EC2에 EFA (Elastic Fabric Adapter) 를 연결한다.
- EC2 휴지 기간은 300초다.
- AWS Step Functions : 서버리스 워크플로우다.
- ACL : Local → EC2 인스턴스로 SSH 연결을 하려면?
-
- Security Group에서 인바운드 규칙 허용 (stateful)
-
- NACL에서 in, out 트래픽 허용 (stateless)
-
- RDP, SSH 연결을 하지 않고도 RUN(명령 실행)으로 EC2를 구성할 수 있다.
- AutoScaling 축소 정책
-
- 가장 많은 가용 영역 인스턴스
-
- 가장 오래된 구성
-
- 다음 청구 시간에 가장 가까운 것
-
- AutoScaling Group에 EC2를 추가하려면?
- 인스턴스를 시작하는 AMI가 여전히 유효한가?
- AutoScaling Group에서 정의된 가용 영역 중 하나에서 시작되었는가?
- EC2를 중지할 필요는 없다.
- Lambda@Edge는 CloudFront 기능이며, 지리적으로 더 가까운 코드를 실행하게 한다.
- 인도 북부 등 지역 전체는 지리 근접 라우팅을 사용한다.
- Site To Site VPN 구성요소 : 고객 게이트웨이, 가상 프라이빗 게이트웨이
- 메타데이터 검색하는 curl에서 localhost는 사용 불가하며, 169.254.169.254가 맞다.
- DR 파일럿 라이트 전략은 미리 리소스를 세팅해 중지해두고, 상황 발생 시 가동한다.
- Active Directory를 사용 중이라면, AWS Directory Service AD Connector를 사용하는 것이 좋다.
- S3 업로드 문제없는지 여부는 HTTP 200 결과코드 및 MD5 체크섬으로 확인한다.
- 서브넷이 인터넷과 연결되려면 NAT gateway 또는 NAT instance가 필요하다.
- 다중 AZ RDS가 실패하면 기본 인스턴스 → 대기 인스턴스로 CNAME이 변경된다.
- Storage Gateway - Cached Volume : 데이터를 S3에 저장하고, on-premise 네트워크에서 로컬로 자주 액세스하는 데이터 하위 세트 사본을 보유한다.
- Anycast 고정 IP면 CloudFront가 아니고 Global Accelerator다.
정리하며
AWS SAA-C03 시험은 다양한 서비스의 특성과 use case를 정확히 이해하는 것이 핵심이다. 단순 암기보다는 각 서비스의 목적과 다른 서비스와의 차이점을 파악하는 방식으로 공부하면 실제 시험 문제에서도 유연하게 대응할 수 있다.