aws_2025-01-18

AWS Well-Architected Framework의 6가지 핵심 요소에 대해 시험 문제 형식으로 설명하겠습니다.

1. 보안 (Security)

📌 정의: 클라우드상의 데이터, 시스템 및 자산을 보호하고 보안 사고를 예방하는 능력

주요 설계 원칙: - 모든 계층에서의 보안 구현 - 추적 가능성 확보 - 최소 권한의 원칙 적용 - 시스템 보안 자동화 - 전송 및 저장 데이터 보호 - 사람의 직접 접근 최소화

🔍 핵심 질문:

Q: 다음 중 AWS의 공동 책임 모델에서 고객의 책임이 아닌 것은?
a) EC2 인스턴스의 패치 관리
b) AWS 데이터센터의 물리적 보안
c) IAM 사용자 관리
d) 애플리케이션 레벨 보안

A: b) AWS 데이터센터의 물리적 보안
- 설명: AWS의 공동 책임 모델에서 물리적 인프라 보안은 AWS의 책임 영역입니다.

2. 성능 효율성 (Performance Efficiency)

📌 정의: 컴퓨팅 리소스를 효율적으로 사용하여 시스템 요구사항을 충족하고 변화하는 수요에 효과적으로 대응하는 능력

주요 설계 원칙: - 서버리스 아키텍처 채택 - 글로벌 배포 활용 - 기계화된 구성 사용 - 실험을 통한 최적화 - 최신 기술 활용 고려

🔍 핵심 질문:

Q: Auto Scaling을 구현할 때 가장 중요한 고려사항은?
a) 비용 최적화
b) 적절한 메트릭 선정
c) 인스턴스 유형 선택
d) 네트워크 구성

A: b) 적절한 메트릭 선정
- 설명: Auto Scaling의 효과적인 구현을 위해서는 시스템 부하를 정확히 반영하는 
메트릭(CPU 사용률, 메모리 사용률 등)을 선정하는 것이 중요합니다.

3. 운영 우수성 (Operational Excellence)

📌 정의: 시스템을 실행하고 모니터링하며 지속적으로 프로세스와 절차를 개선하는 능력

주요 설계 원칙: - 코드로서의 운영 - 작은 규모의 가역적 변경 - 운영 절차의 정기적 개선 - 실패 예측 - 모든 운영 실패로부터의 학습

🔍 핵심 질문:

Q: Infrastructure as Code(IaC)의 주요 이점이 아닌 것은?
a) 일관성 있는 인프라 배포
b) 버전 관리 가능
c) 실시간 리소스 모니터링
d) 자동화된 배포 프로세스

A: c) 실시간 리소스 모니터링
- 설명: IaC는 인프라 프로비저닝과 관리를 자동화하는 것이 주목적이며, 
모니터링은 별도의 도구나 서비스를 통해 수행됩니다.

4. 비용 최적화 (Cost Optimization)

📌 정의: 최저 가격으로 비즈니스 가치를 제공할 수 있는 시스템을 운영하는 능력

주요 설계 원칙: - 소비 모델 채택 - 전반적 효율성 측정 - 불필요한 비용 제거 - 관리형 서비스 활용

🔍 핵심 질문:

Q: EC2 비용 최적화를 위한 가장 효과적인 방법은?
a) 온디맨드 인스턴스만 사용
b) 예약 인스턴스와 스팟 인스턴스의 적절한 조합
c) 모든 인스턴스를 스팟으로 전환
d) 항상 최신 인스턴스 유형 사용

A: b) 예약 인스턴스와 스팟 인스턴스의 적절한 조합
- 설명: 안정적인 워크로드는 예약 인스턴스로, 유연한 워크로드는 
스팟 인스턴스로 운영하여 최적의 비용 효율을 달성할 수 있습니다.

5. 신뢰성 (Reliability)

📌 정의: 의도한 기능을 정확하고 일관되게 수행할 수 있는 시스템의 능력

주요 설계 원칙: - 자동 복구 기능 테스트 - 복구 절차 테스트 - 수평적 확장 - 용량 추측 지양 - 변경 관리 자동화

🔍 핵심 질문:

Q: 고가용성 설계에서 가장 중요한 요소는?
a) 단일 AZ 배포
b) 다중 AZ 배포
c) 단일 리전 배포
d) 백업 생성

A: b) 다중 AZ 배포
- 설명: 다중 AZ 배포는 시스템의 가용성을 높이고 자연재해나 
하드웨어 실패와 같은 장애에 대한 복원력을 제공합니다.

6. 지속 가능성 (Sustainability)

📌 정의: 환경적 영향을 최소화하면서 비즈니스 요구사항을 충족하는 능력

주요 설계 원칙: - 사용량 이해 및 최적화 - 효율적인 리소스 활용 - 하드웨어 및 소프트웨어의 효율적 사용 - 클라우드 서비스의 지속 가능한 사용

🔍 핵심 질문:

Q: 클라우드 지속 가능성을 향상시키는 방법으로 가장 적절한 것은?
a) 모든 리소스를 24/7 실행
b) 최대 용량으로 리소스 구성
c) 사용하지 않는 리소스 자동 중지
d) 단일 리전 사용

A: c) 사용하지 않는 리소스 자동 중지
- 설명: 불필요한 리소스를 자동으로 중지함으로써 에너지 소비를 
줄이고 환경적 영향을 최소화할 수 있습니다.

개념 구분

  1. IAM 정책 (Policy)
  • 권한을 정의하는 JSON 문서
  • 사용자, 그룹, 역할에 직접 연결 가능
  • 특정 AWS 리소스에 대한 허용/거부 규칙을 정의
  1. IAM 역할 (Role)
  • 특정 권한을 가진 자격 증명
  • 임시 자격 증명을 제공
  • AWS 서비스나 다른 AWS 계정의 사용자가 수임 가능

올바른 개념 설명

IAM 사용자 → IAM 정책 할당
- 사용자에게 직접 권한 부여
- 영구적인 자격 증명 사용
- 정책이 직접 적용됨

IAM 역할 수임 (Role Assume)
- 임시 자격 증명 발급
- STS (Security Token Service) 사용
- AssumeRole API 호출 필요

예시

// IAM 정책 예시
{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": ["s3:ListBucket"],
        "Resource": "arn:aws:s3:::example-bucket"
    }]
}

// 역할 수임을 위한 정책 예시
{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME"
    }]
}

정확한 작동 방식

  1. 정책 할당
  • IAM 사용자 생성
  • 정책을 직접 연결하거나 그룹을 통해 정책 상속
  • 해당 정책의 권한으로 AWS 리소스 접근
  1. 역할 수임
  • 사용자가 AssumeRole API 호출
  • STS에서 임시 보안 자격 증명 발급
  • 발급받은 자격 증명으로 역할의 권한 사용

이렇게 정책 할당과 역할 수임은 서로 다른 메커니즘으로 작동하며, 정책을 할당받았다고 해서 자동으로 역할이 수임되는 것은 아닙니다.

IAM 정책 평가 과정을 방화벽 규칙과 유사한 흐름으로 설명하겠습니다.

flowchart TD
    A[요청 시작] --> B[묵시적 거부]
    B --> C{SCPs 평가}
    C -->|Deny| D[요청 거부]
    C -->|Allow| E{리소스 기반 정책}
    E -->|Deny| D
    E -->|Allow| F{ID 기반 정책}
    F -->|Deny| D
    F -->|Allow| G{권한 경계}
    G -->|Deny| D
    G -->|Allow| H{세션 정책}
    H -->|Deny| D
    H -->|Allow| I[요청 허용]

정책 평가 순서 (Flow)

  1. 기본 상태 (Default State)
    • 모든 요청은 기본적으로 ‘묵시적 거부’ (Implicit Deny)
    • 방화벽의 기본 정책 “모든 트래픽 차단”과 유사
  2. SCPs (Service Control Policies) 평가
    • Organizations 수준의 정책 검사
    • Deny가 있으면 즉시 요청 거부
    • 방화벽의 최상위 규칙과 유사
  3. 리소스 기반 정책 평가
    • S3 버킷 정책, Lambda 리소스 정책 등
    • Deny가 있으면 즉시 요청 거부
    • 방화벽의 목적지 기반 규칙과 유사
  4. 자격 증명 기반 정책 평가
    • 사용자/그룹/역할에 연결된 정책
    • Deny가 있으면 즉시 요청 거부
    • 방화벽의 소스 기반 규칙과 유사
  5. 권한 경계 평가
    • 사용자/역할의 최대 권한 범위 검사
    • Deny가 있으면 즉시 요청 거부
    • 방화벽의 정책 그룹과 유사
  6. 세션 정책 평가
    • 임시 자격 증명의 권한 검사
    • 최종 Allow/Deny 결정
    • 방화벽의 최종 규칙과 유사

주요 특징

  1. Deny 우선 원칙

    명시적 Deny > 명시적 Allow > 묵시적 Deny
  2. 계층적 평가

    상위 정책(SCP) -> 리소스 정책 -> ID 정책 -> 권한 경계 -> 세션 정책
  3. 정책 조합

    • 모든 적용 가능한 정책이 평가됨
    • 하나의 Deny라도 있으면 최종 Deny
  4. 평가 중단

    • Deny 발생 시 즉시 평가 중단
    • 추가 정책 확인하지 않음

방화벽 규칙과의 유사성

  1. 기본 거부 (Default Deny)

    방화벽: DROP ALL
    IAM: 묵시적 거부
  2. 규칙 우선순위

    방화벽: 첫 매칭 규칙 적용
    IAM: 가장 제한적인 정책 우선
  3. 정책 계층 ``` 방화벽: Zone -> Policy -> Rule IAM: Organization -> Account -> User