AWS SAA-C03AWS 허브발행일 2025. 10. 27.원본 https://blog.naver.com/jword_/224055918039 ↗

AWS SAA-C03 오답노트

AWS SAA-C03 오답노트 — #개발자의도구들 #SAA오답노트 #AWS솔루션아키텍처 #SAA * AWS SAA 도전기 목록: https://b...

#SAA-C03#Naver Blog

#개발자의도구들 #SAA오답노트 #AWS솔루션아키텍처 #SAA

​

\* AWS SAA 도전기 목록: https://blog.naver.com/jword\_/224028873217

Organizations

출처: Exmptopic

문제 패턴:

  • Organization 내의 Account만 AWS Resource(ex. S3)를 사용하게 하는 방법은?

​

관련 키워드 & 연관키워드

javascript 코드 예제
                                    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에 속한 모든 계정 첩근 가능
javascript 코드 예제
                                    "Condition": {
  "StringEquals": {
    "aws:PrincipalOrgID": "o-a1b2c3d4e5"
  }
}
  • PrincipalOrgPaths

조직 내 특정 경로(OU구조)를 기반으로 식별

-

  • 조직내의 특정 OU만 접근 가능
javascript 코드 예제
                                    "Condition": {
  "ForAnyValue:StringLike": {
    "aws:PrincipalOrgPaths": "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/*"
  }
}

​

​

→ 특정 OU에 대한 언급이 없으면 조직 전체를 S3 Policy에 연관지으면 된다.

​

Resource 접근 패턴 및 권한부여 (without public)

  • 🤔 AWS Resource간의 인터넷 없이 접근하는 솔루션?

​

관련 키워드 & 연관키워드

javascript 코드 예제
                                    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

  1. Gateway Endpoint
  • 지원 서비스: S3, DynamoDB
  • Route Table에 경로 추가
  • 비용: 무료
  • 용동: S3/DynamoDB 프라이빗 접근

​

2. Interface Endpoint (PrivateLink)

  • 지원 서비스: 대부분의 AWS Service
  • 작동방식: ENI(Elastic Network Interface) 생성
  • 비용: 시간당 + 데이터 처리비용
  • 용도: 다양한 AWS 프라이빗 접근

​

🤔 EC2 → S3 버킷에 접근하는 패턴(권한 관점)

  1. Resource-based Policy (S3 Bucket Policy)
javascript 코드 예제
                                    {
  "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)

javascript 코드 예제
                                    {
  "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에 붕하는 느끼으로 해석

대용량 메세지 처리

  • 🤔 애플리케이션 대용량 데이터 처리 패턴

​

javascript 코드 예제
                                    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가지 유형

  1. Cached volumes
  2. 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

​