문제1
한 회사가 Amazon EC2 인스턴스에서 실행될 새로운 웹 애플리케이션을 설계하고 있습니다. 애플리케이션은 백엔드 데이터 저장을 위해 Amazon DynamoDB를 사용합니다. 애플리케이션 트래픽은 예측할 수 없습니다. T 회사에서는 데이터베이스에 대한 애플리케이션 읽기 및 쓰기 처리량이 보통에서 높을 것으로 예상합니다. 회사는 애플리케이션 트래픽에 대응하여 확장해야 합니다.
이러한 요구 사항을 가장 비용 효율적으로 충족하는 DynamoDB 테이블 구성은 무엇입니까?
A. DynamoDB 표준 테이블 클래스를 사용하여 온디맨드 모드로 DynamoDB를 구성합니다.
B. DynamoDB Standard Infrequent Access(DynamoDB Standard-IA) 테이블 클래스를 사용하여 온디맨드 모드로 DynamoDB를 구성합니다.
C. DynamoDB Standard Infrequent Access(DynamoDB Standard-IA) 테이블 클래스를 사용하여 프로비저닝된 읽기 및 쓰기로 DynamoDB를 구성합니다. DynamoDB Auto Scaling을 정의된 최대 용량으로 설정합니다.
D. DynamoDB 표준 테이블 클래스를 사용하여 프로비저닝된 읽기 및 쓰기로 DynamoDB를 구성합니다. DynamoDB Auto Scaling을 정의된 최대 용량으로 설정합니다.
요구 사항 분석
이 문제는 애플리케이션 트래픽이 예측할 수 없고, 읽기 및 쓰기 처리량이 보통에서 높음을 예상하고 있으며, 애플리케이션 트래픽에 대응하여 확장할 수 있는 DynamoDB 구성이 필요합니다. 따라서 문제에서 요구하는 핵심은 예측 불가능한 트래픽에 대한 대응과 확장성을 고려한 비용 효율적인 DynamoDB 설정입니다.
각 보기 분석
A. DynamoDB 표준 테이블 클래스를 사용하여 온디맨드 모드로 DynamoDB를 구성합니다.
- 장점: 온디맨드 모드는 읽기/쓰기 처리량을 미리 설정하지 않고 애플리케이션의 트래픽에 맞춰 자동으로 확장 및 축소하므로, 트래픽 변동이 심할 때 유리합니다.
- 단점: 트래픽이 꾸준하지 않은 경우에는 온디맨드 모드가 적합하지만, 트래픽이 매우 일관되다면 프로비저닝된 모드가 더 비용 효율적일 수 있습니다.
B. DynamoDB Standard Infrequent Access(DynamoDB Standard-IA) 테이블 클래스를 사용하여 온디맨드 모드로 DynamoDB를 구성합니다.
- 장점: Standard-IA는 자주 액세스되지 않는 데이터에 대해 비용을 절감할 수 있는 옵션입니다. 읽기/쓰기 요청 빈도가 낮을 때 비용 효율적입니다.
- 단점: 문제에서 데이터베이스 읽기/쓰기 처리량이 보통에서 높음으로 예상된다고 했으므로, Standard-IA는 적합하지 않습니다. 이 테이블 클래스는 비용 절감이 목표인 경우에는 좋지만, 높은 빈도의 읽기/쓰기에 비해 비효율적일 수 있습니다.
C. DynamoDB Standard Infrequent Access(DynamoDB Standard-IA) 테이블 클래스를 사용하여 프로비저닝된 읽기 및 쓰기로 DynamoDB를 구성합니다. DynamoDB Auto Scaling을 정의된 최대 용량으로 설정합니다.
- 장점: 프로비저닝된 모드는 처리량을 미리 설정해 둘 수 있어, 트래픽이 일정한 경우 비용 절감 효과가 있을 수 있습니다. Auto Scaling을 사용하면 트래픽 증가 시 자동으로 확장됩니다.
- 단점: 문제에서 트래픽을 예측할 수 없다고 했으므로, 이 옵션은 트래픽이 고정적일 때에만 적합합니다. 게다가 Standard-IA는 자주 액세스되는 데이터에는 적합하지 않습니다.
D. DynamoDB 표준 테이블 클래스를 사용하여 프로비저닝된 읽기 및 쓰기로 DynamoDB를 구성합니다. DynamoDB Auto Scaling을 정의된 최대 용량으로 설정합니다.
- 장점: 프로비저닝된 모드는 트래픽이 일정할 때 효과적이고, Auto Scaling을 통해 트래픽 변화에 맞춰 확장할 수 있습니다.
- 단점: 트래픽이 예측 불가능하고 급증할 수 있다고 언급되었기 때문에, 프로비저닝된 모드보다는 온디맨드 모드가 더 유리할 것입니다
정답 분석
가장 적합한 답은 A. DynamoDB 표준 테이블 클래스를 사용하여 온디맨드 모드로 DynamoDB를 구성하는 것입니다. 이는 예측할 수 없는 트래픽 패턴에 대응하면서도 자동으로 확장할 수 있는 유연성을 제공합니다. 온디맨드 모드는 요청이 있을 때 처리량을 자동으로 조정하기 때문에 비용 효율성을 극대화할 수 있습니다
최종 정답: A
개념
1. Amazon DynamoDB의 기본 개념
먼저, DynamoDB의 기본적인 구조와 동작 방식을 이해하는 것이 중요합니다.
- DynamoDB란?
- NoSQL 데이터베이스 서비스로, 매우 빠른 성능을 제공하며 확장성이 뛰어납니다.
- 트랜잭션, 일관성 모델(강력/최종 일관성), 파티션 키와 정렬 키의 개념을 학습합니다.
- AWS DynamoDB 공식 문서: DynamoDB 개요
- 기본 구성 요소
- 테이블(Table): 데이터를 저장하는 단위.
- 아이템(Item): 각 테이블의 레코드.
- 속성(Attribute): 각 아이템의 필드(열).
- 파티션 키(Partition Key) 및 정렬 키(Sort Key): DynamoDB의 기본 키 구조를 학습합니다.
2. 온디맨드 모드(On-Demand Mode)와 프로비저닝 모드(Provisioned Mode)
DynamoDB의 확장성을 관리하는 두 가지 주요 모드를 심도 있게 이해해야 합니다.
- 온디맨드 모드(On-Demand Mode)
- 처리량을 미리 설정할 필요가 없으며 트래픽에 맞춰 자동으로 확장 및 축소됩니다.
- 특히 예측할 수 없는 트래픽 패턴에 적합합니다.
- 비용은 실제 요청된 읽기/쓰기 작업에 대해 부과되므로 트래픽 변화가 큰 경우 비용 효율적입니다.
- 자세한 내용: DynamoDB 온디맨드 모드
- 프로비저닝 모드(Provisioned Mode)
- 읽기 및 쓰기 처리량을 미리 설정하는 방식으로, 일정한 트래픽을 예상할 때 사용됩니다.
- 필요에 따라 처리량을 자동으로 확장할 수 있는 Auto Scaling을 적용할 수 있습니다.
- 비용은 설정된 용량에 따라 고정적으로 부과되므로 트래픽이 일정할 때 비용 절감에 유리합니다.
- 자세한 내용: DynamoDB 프로비저닝 모드
3. DynamoDB 테이블 클래스
DynamoDB는 두 가지 테이블 클래스를 제공합니다. 각 클래스의 특성을 이해하고 사용 사례를 공부하세요.
- DynamoDB Standard 테이블 클래스
- 기본적으로 모든 데이터에 대해 자주 액세스되는 워크로드에 적합합니다.
- 비용 구조는 데이터의 크기와 액세스 빈도에 따라 다릅니다.
- 자세한 설명: Standard 테이블 클래스
- DynamoDB Standard Infrequent Access (IA) 테이블 클래스
- 자주 액세스되지 않는 데이터(비정기적 읽기/쓰기)를 대상으로 비용을 절감할 수 있습니다.
- 높은 읽기/쓰기 빈도가 예상되는 경우에는 적합하지 않으며, 비용 절감을 위해 잘 고려해야 합니다.
- 자세한 설명: Standard-IA 테이블 클래스
4. DynamoDB Auto Scaling
트래픽 변화에 따라 DynamoDB의 처리량을 자동으로 확장 또는 축소할 수 있는 기능입니다.
- Auto Scaling의 작동 방식
- DynamoDB의 프로비저닝 모드에서 처리량의 최대 및 최소 한도를 설정하고, 이를 바탕으로 트래픽에 맞게 자동으로 확장 및 축소됩니다.
- 학습 리소스: DynamoDB Auto Scaling
- Auto Scaling 설정 및 모니터링
- AWS Management Console, AWS CLI 또는 SDK에서 Auto Scaling 정책을 설정하고 모니터링하는 방법을 익히세요.
- CloudWatch를 통해 자동 확장 설정을 모니터링할 수 있습니다.
5. Amazon EC2와 확장성
문제에서는 애플리케이션이 EC2 인스턴스에서 실행된다고 하였으므로 EC2의 확장성과 인스턴스 관리에 대한 개념도 중요합니다.
- EC2의 확장성 관리
- Auto Scaling 그룹을 활용하여 EC2 인스턴스를 자동으로 확장하거나 축소할 수 있습니다. 트래픽 증가에 대응하는 인프라를 자동으로 조정하는 방법을 학습합니다.
- EC2 인스턴스 유형: t2.micro, m5.large 등 EC2 인스턴스의 유형별 특징을 이해합니다.
- 학습 리소스: EC2 Auto Scaling
6. 비용 효율성 고려 사항
AWS에서 비용 효율성을 극대화하는 것이 중요합니다. DynamoDB와 EC2에서 비용을 절감할 수 있는 여러 가지 방법들을 알아봅니다.
- DynamoDB의 비용 효율성 최적화
- 읽기 및 쓰기 캐패시티를 적절하게 설정하고, Auto Scaling을 활용하여 필요할 때만 확장하도록 하여 비용을 절감할 수 있습니다.
- Standard와 Standard-IA 테이블 클래스의 비용 차이를 학습하여 올바른 선택을 할 수 있어야 합니다.
- 비용 구조: DynamoDB 비용
- EC2의 비용 효율성 최적화
- 온디맨드, 리저브드 인스턴스, 스팟 인스턴스 등 다양한 EC2 인스턴스 구매 옵션을 비교하여 워크로드에 맞는 인스턴스를 선택하는 방법을 학습합니다.
- EC2 비용 최적화 방법: EC2 비용 효율성
7. AWS Well-Architected Framework
문제에서 비용 효율성, 확장성, 그리고 트래픽 대응을 고려한 설계를 요구하고 있으므로 AWS Well-Architected Framework의 주요 개념을 숙지하는 것도 중요합니다.
- Operational Excellence: 운영 모범 사례를 따른다.
- Security: 모든 리소스와 데이터에 대한 보안 고려.
- Reliability: 시스템 장애에도 탄력적으로 운영되도록 설계.
- Performance Efficiency: 자원을 효율적으로 활용.
- Cost Optimization: 불필요한 비용을 줄이고, 적절한 서비스 선택.
- 학습 리소스: AWS Well-Architected Framework
resources: https://www.itdumpskr.com/SAA-C03-KR-practice-test.html#
'스케쥴 > 시험' 카테고리의 다른 글
AWS SAA-C03 한국어 샘플 6번 (0) | 2024.10.19 |
---|---|
AWS SAA-C03 한국어 샘플 5번 (1) | 2024.10.19 |
AWS SAA-C03 한국어 샘플 4번 (0) | 2024.10.19 |
AWS SAA-C03 한국어 샘플 3번 (3) | 2024.10.19 |
AWS SAA-C03 한국어 샘플 2번 (0) | 2024.10.19 |