AWS SAA-C03 오답노트
AWS SAA-C03 오답노트 — #개발자의도구들 #SAA오답노트 #AWS솔루션아키텍처 #SAA * AWS SAA 도전기 목록: https://b...
#개발자의도구들 #SAA오답노트 #AWS솔루션아키텍처 #SAA
\* AWS SAA 도전기 목록: https://blog.naver.com/jword\_/224028873217
Organizations
출처: Exmptopic
문제 패턴:
- Organization 내의 Account만 AWS Resource(ex. S3)를 사용하게 하는 방법은?
관련 키워드 & 연관키워드
AWS Organizations
Management account
Access Control
S3 Bucket Policy: 버킷 레벨 접근 제어
🔑aws:PrincialOrgID: 조직 기반 ID 기반 조건
🔑aws:PrinipalOrgPaths: 조직 경로 기반 조건
SCP(Service Control Pollicies): 조직 레벨 정책
S3 Access Points: 접근 포인트 기반 제어
VPC Endpoint: VPC 내부 접근 제어
🔑 PricipalOrgID vs PrincipaOrgPaths
- PricipalOrgID: 조직 전체를 하나의 ID로 식별 가능
- o-a1b2c3d4e5에 속한 모든 계정 첩근 가능
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-a1b2c3d4e5"
}
}
- PrincipalOrgPaths
조직 내 특정 경로(OU구조)를 기반으로 식별
-
- 조직내의 특정 OU만 접근 가능
"Condition": {
"ForAnyValue:StringLike": {
"aws:PrincipalOrgPaths": "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/*"
}
}
→ 특정 OU에 대한 언급이 없으면 조직 전체를 S3 Policy에 연관지으면 된다.
Resource 접근 패턴 및 권한부여 (without public)
- 🤔 AWS Resource간의 인터넷 없이 접근하는 솔루션?
관련 키워드 & 연관키워드
EC2 instance in VPC
Amazon S3 bucket
private network connectivity
NAT Gateway: private subnet -> internet연결
Internet gateway: 퍼블릭 인터넷 연결
IAM Role/Instance Profile: 권한부여(연결성과는 무관)
- instance profile: EC2인스턴스에 IAM Role을 연결하는 wrapper
권한과 연결성
🔥 VPC endpoint(네트워크 연결 관점)
Types
- Gateway Endpoint
- 지원 서비스: S3, DynamoDB
- Route Table에 경로 추가
- 비용: 무료
- 용동: S3/DynamoDB 프라이빗 접근
2. Interface Endpoint (PrivateLink)
- 지원 서비스: 대부분의 AWS Service
- 작동방식: ENI(Elastic Network Interface) 생성
- 비용: 시간당 + 데이터 처리비용
- 용도: 다양한 AWS 프라이빗 접근
🤔 EC2 → S3 버킷에 접근하는 패턴(권한 관점)
- Resource-based Policy (S3 Bucket Policy)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEC2Access", //📌 EC2 Access!
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567899012:role/EC2Role"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
- 정책 위치: S3
- 관점: 누가 이 버킷에 접근할 수 있는가?
- 관련주체: 리소스 소유자(S3버킷 관리자)
- 접근제어: 버킷 레벨에서 제어
2. Identity-based Policy(Instance Profile)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
- 정책 위치: IAM Role에 설정
- 관점: "이 EC가 무엇을 할 수 있는가?"
- 관리 주체: IAM 관리자
- 접근 제어 EC2 인스턴스 레벨에서 제어
🤔 Resource-based Policy만 사용?
- S3 Bucket의 Resource Based Policy만
❌ EC2에 여전히 권한 필요하다(Instance Profile또는 엑세스 키)
❌ 계정 전체에 열린다.
❌ EC2 세밀한 제어 불가
🎮 Instance Profile 사용
- IAM Role Policy생성
- Instance Profile을 통해 EC2에 부하
✅ EC2별 권한 관리
✅ 자격 증명 자동회전
✅ 코드에 키 불필요
✅ 최소 권한 원칙 적용 용이
📜
- 프라이빗 네트워크 : VPC Endpoint로 연결(S3. DynamoDB=Gateway endpoint, 그외: Instance Endpoint)
- 권한 문제: Instance profile로 해결
- EC2 -> AWS resources 접근시
- Role을 만들고 EC2에 붕하는 느끼으로 해석
대용량 메세지 처리
- 🤔 애플리케이션 대용량 데이터 처리 패턴
Ingest incoming messages
Dozens of applications and microservices
Quickly consume
100,000 msg per sec
varies drastically
decoupling and scalability
❌ Kinesis
- 메세지 처리 도구라기 보다는, 실시간 데이터 🍳분석 도구
- Single Shard
- 1 shard = 1,000 records/sec or 1MB/sec
- 100,000 msgs/sec 처리에는 최소 100개의 shard 필요하다.
✅ SNS + SQS
- 디커플링
- Producer-SNS
- Consumer 추가/제거 독립적
- 확장성
- SNS: 무제한 처리량
- SQS: 거의 무제한 확장
- 탄력성
- Consumer 속도가 달라도 ok
- 각자의 queue에서 처리한다.
- 신뢰성
- 메세지 영속성
- DLQ 적용
- 처리량
- SNS: 100,000 TPS (Transactions per second)
- SQS Standard: 거의 무제한
- 요금
- SNS: 메시지당 과금
- SQS: 요청당 과금
Storage Gateway
- 🤔 DataCenter에서 SMB file server를 운영중이다.
- 이를 AWS 솔루션에 적용시키기 위한 전략?
- low latency
- increase available storage space
AWS Storage Gateway는 온프레미스 환경과 AWS 환경의 스토리지 서비스를 연동시키는 서비스이다.
(주로 온프레미스의 데이터를 백업하여 AWS 환경의 S3로 이동시킬 때 사용한다.)
✅ S3 File Gateway (SMB/NFS)
- SMB/NFS 프로토콜 지원
- on-premise -> file GW (NFS or SMB)
- HTTPS -> AWS 연결
- s3를 파일 스토리지처럼 사용
- 여러 class 사용 가능
- life-cycle policy
- 로컬 캐시 제공
📌 FSx File Gateway
- SMB 프로토콜, 윈도우 지원
- 온프레미스 -> 게이트웨이 -> AWS
- 모두 SMB 프로토콜을 사용한다.
- 낮은 latency 및 높은 퍼포먼스
📜 Tape Gateway
- 온프레미스까지 iSCSI (Internet Small Computer System Interface)
- AWS까지 HTTPS
S3 또는 S3 Glacier에 데이터를 저장한다.
- 물리테이프 대신 사용
📜 Volume Gateway
- iSCSI 지원, Block Storage
- 온프레미스까지 iSCSI, AWS까지 HTTPS
- Volume Storage는 S3, EBS 사용가능
- Backup을 사용해서 백업을 EBS Snapshot으로 저장 가능하다.
2가지 유형
- Cached volumes
- Stored volumes
캐시모드: 온프레미스에 캐시만 저장, AWS에 모든 데이터 저장
- 모든 데이터 S3에 저장, 빈번하게 사용되는 데이터만 온프레미스의 캐시 스토리지에 캐시로
- 캐시에 데이터가 없다면 S3에 엑세스 하므로 지연 발생
Stored volumes (보관 모드) - 온프레미스에 모든 데이터 저장, AWS에 백업만
모든 데이터를 온프레미스의 볼륨 스토리지에 저장하고, S3에 비동기적으로 백업 저장
캐시형과는 달리 모든 데이터에 대한 접근이 온프레미스에서 이뤄져, S3에 접근할 때 발생하는 지연이 없다.
S3 관련
S3 관련 키워드 모두 정리하기
- bucket
- policy
- resource
- class
- standard~
- inteliigent-Tiering vs life cycle
- s3 transfer accelation