안녕하세요! 넥스트클라우드의 테크니컬 트레이너 김유림입니다.
주말 잘 보내셨나요? 이번주도 새로운 에너지를 가득 담아 활기차게 시작해 봅시다! ☀️
SAA 문제는 세 가지 단계를 거치며 풀어가겠습니다.
1. 문제의 요구사항 분석하기
2. 관련 AWS 서비스 생각하기
3. 선택지 분석하기
바로 문제 풀이 시작합니다!
문제1
회사의 데이터 플랫폼은 Amazon Aurora MySQL 데이터베이스를 사용합니다. 데이터베이스에는 다양한 가용 영역에 걸쳐 여러 읽기 전용 복제본과 여러 DB 인스턴스가 있습니다. 사용자들은 최근 데이터베이스에서 연결이 너무 많다는 오류를 보고했습니다. 회사에서는 읽기 전용 복제본이 기본 작성자로 승격될 때 장애 조치 시간을 20% 단축하려고 합니다.
이 요구 사항을 충족하는 솔루션은 무엇입니까?
선택지
A. 다중 AZ 클러스터 배포를 통해 Aurora에서 Amazon RDS로 전환합니다.
B. Aurora 데이터베이스 앞에 Amazon RDS 프록시를 사용하십시오.
C. 읽기 연결을 위해 DynamoDB Accelerator(DAX)를 사용하여 Amazon DynamoDB로 전환합니다.
D. 재배치 기능이 있는 Amazon Redshift로 전환합니다.
풀이
RDS Proxy는 연결 풀링으로 "too many connections" 오류를 해결하고, 장애 조치 시 자동 재연결로 다운타임을 단축합니다.
정답 : B
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- Amazon Aurora MySQL 사용 중
- 다중 AZ에 걸쳐 여러 읽기 전용 복제본 존재
- "연결이 너무 많다(too many connections)" 오류 발생
2. 관련 AWS 서비스 생각하기
- Amazon RDS Proxy : 데이터베이스 연결을 재사용하여 오버헤드를 줄이기 위해 사용합니다. 여러 애플리케이션 연결을 소수의 데이터베이스 연결로 통합하고, 장애 시 새 인스턴스로 자동 재연결할 수 있어 다운타임이 최대 66% 감소됩니다.
- Amazon Aurora : MySQL과 PostgreSQL이 호환되는 AWS 관리형 데이터베이스입니다. 빠른 장애 조치를 시행하고 읽기 전용 복제본이 최대 15개 지원되며, 자동 스토리지를 확장합니다.
3. 선택지 분석하기
A. 다중 AZ 클러스터 배포를 통해 Aurora에서 Amazon RDS로 전환합니다.
→ Aurora에서 RDS Multi-AZ로 전환하면 오히려 장애 조치 시간이 늘어납니다(Aurora: ~30초, RDS Multi-AZ: 1-2분). 또한 연결 관리 문제도 해결하지 못하여 요구사항을 충족하지 못합니다.
B. Aurora 데이터베이스 앞에 Amazon RDS 프록시를 사용하십시오.
→ RDS Proxy는 연결 풀링(connection pooling)을 제공하여 "too many connections" 오류 해결합니다.
C. 읽기 연결을 위해 DynamoDB Accelerator(DAX)를 사용하여 Amazon DynamoDB로 전환합니다.
→ 완전히 다른 데이터베이스 유형으로의 마이그레이션 필요(관계형 → NoSQL)하기에 대규모 아키텍처 변경 및 애플리케이션 재작성이 필요합니다.
D. 재배치 기능이 있는 Amazon Redshift로 전환합니다.
→ Redshift는 데이터 웨어하우징/분석용 서비스로 연결 관리나 장애 조치 개선과 무관합니다.
이어서 다음 문제입니다.
문제2
회사에는 Oracle 데이터베이스를 사용하여 고객 정보를 처리하고 저장하는 온프레미스 서버가 있습니다. 이 회사는 AWS 데이터베이스 서비스를 사용하여 더 높은 가용성을 달성하고 애플리케이션 성능을 개선하고자 합니다. 또한, 회사는 기본 데이터베이스 시스템에서 보고를 오프로드하려고 합니다.
운영상 가장 효율적인 방식으로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
선택지
A. AWS Database Migration Service(AWS DMS)를 사용하여 여러 AWS 리전에서 Amazon RDS DB 인스턴스를 생성합니다. 보고 기능은 기본 DB 인스턴스와 별도의 DB 인스턴스를 가리킵니다.
B. 단일 AZ 배포에서 Amazon RDS를 사용하여 Oracle 데이터베이스를 생성합니다. 기본 DB 인스턴스와 동일한 영역에 읽기 전용 복제본을 생성합니다. 보고 기능을 읽기 전용 복제본으로 지정합니다.
C. 다중 AZ 클러스터 배포에 배포된 Amazon RDS를 사용하여 Oracle 데이터베이스를 생성합니다. 클러스터 배포에서 리더 인스턴스를 사용하도록 보고 기능에 지시합니다.
D. 다중 AZ 인스턴스 배포에 배포된 Amazon RDS를 사용하여 Amazon Aurora 데이터베이스를 생성합니다. 보고 기능을 판독기 인스턴스에 지시합니다.
풀이
RDS for Oracle의 Multi-AZ 클러스터 배포는 고가용성을 제공하고, 리더 인스턴스를 통해 보고 작업을 오프로드하여 모든 요구사항을 운영 효율적으로 충족합니다.
정답 : C
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 온프레미스 Oracle 데이터베이스 사용 중
- 더 높은 가용성을 달성해야 하고, 애플리케이션의 성능을 개선해야 함
- 운영 상 가장 효율적인 방식 필요
2. 관련 AWS 서비스 생각하기
- Amazon RDS Multi-AZ 클러스터 배포 : 3개 AZ에 걸쳐 1개의 Writer 인스턴스와 2개의 Reader 인스턴스로 자동 구성합니다. RDS for Oracle, PostgreSQL, MySQL에서 사용 가능합니다.
3. 선택지 분석하기
A. AWS Database Migration Service(AWS DMS)를 사용하여 여러 AWS 리전에서 Amazon RDS DB 인스턴스를 생성합니다. 보고 기능은 기본 DB 인스턴스와 별도의 DB 인스턴스를 가리킵니다.
→ 여러 리전 배포는 글로벌 재해 복구용으로 이 문제의 요구사항을 초과합니다. 리전 간 데이터 전송 비용과 여러 인스턴스 운영으로 비용이 발생하며, 리전 간 데이터 동기화 관리도 필요합니다. 단순 고가용성과 보고 오프로드만 고려할 때 멀티 리전은 과잉 설계입니다.
B. 단일 AZ 배포에서 Amazon RDS를 사용하여 Oracle 데이터베이스를 생성합니다. 기본 DB 인스턴스와 동일한 영역에 읽기 전용 복제본을 생성합니다. 보고 기능을 읽기 전용 복제본으로 지정합니다.
→ 단일 AZ 배포는 AZ 장애 시 서비스가 중단될 수 있습니다. 가용성 요구사항을 충족하지 못하고 있습니다.
C. 다중 AZ 클러스터 배포에 배포된 Amazon RDS를 사용하여 Oracle 데이터베이스를 생성합니다. 클러스터 배포에서 리더 인스턴스를 사용하도록 보고 기능에 지시합니다.
→ Multi-AZ 클러스터 배포로 높은 고가용성을 달성할 수 있습니다. 쓰기는 Writer, 읽기는 Reader로 부하를 분산할 수 있으며, AWS가 자동으로 복제 및 장애 조치를 관리합니다.
D. 다중 AZ 인스턴스 배포에 배포된 Amazon RDS를 사용하여 Amazon Aurora 데이터베이스를 생성합니다. 보고 기능을 판독기 인스턴스에 지시합니다.
→ Aurora는 Oracle을 미지원하며, 애플리케이션 스키마 변환 시 대규모 전환과 수정이 필요합니다. 데이터베이스 엔진 변경은 운영 상 가장 비효율적입니다.
마지막 문제 살펴보겠습니다.
문제3
회사는 Amazon EC2 인스턴스에서 마이크로서비스 애플리케이션을 실행하고 있습니다. 이 회사는 확장성을 위해 애플리케이션을 Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터로 마이그레이션하려고 합니다. 회사는 보안 규정 준수를 유지하기 위해 엔드포인트 프라이빗 액세스를 true로 설정하고 엔드포인트 퍼블릭 액세스를 false로 설정하여 Amazon EKS 제어 플레인을 구성해야 합니다. 회사는 또한 사설 서브넷에 데이터 플레인을 배치해야 합니다. 그러나 회사는 노드가 클러스터에 가입할 수 없기 때문에 오류 알림을 받았습니다.
노드가 클러스터에 가입하도록 허용하는 솔루션은 무엇입니까?
선택지
A. AWS Identity and Access Management(IAM)에서 필요한 권한을 AmazonEKSNodeRole IAM 역할에 부여합니다.
B. 노드가 컨트롤 플레인에 액세스할 수 있도록 인터페이스 VPC 엔드포인트를 생성합니다.
C. 퍼블릭 서브넷에서 노드를 재생성합니다. EC2 노드에 대한 보안 그룹을 제한합니다.
D. 노드의 보안 그룹에서 아웃바운드 트래픽을 허용합니다.
풀이
프라이빗 서브넷의 노드가 퍼블릭 액세스 없이 EKS 제어 플레인 및 AWS 서비스에 접근하려면 VPC 엔드포인트(AWS PrivateLink)를 생성해야 합니다.
정답 : B
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 마이크로서비스 애플리케이션을 EC2에서 Amazon EKS로 마이그레이션 중
- 보안 요구사항을 유지하면서 노드가 클러스터에 가입하도록 허용해야 함
2. 관련 AWS 서비스 생각하기
- Amazon EKS (Elastic Kubernetes Service) : AWS에서 Kubernetes를 쉽게 실행할 수 있도록 하는 완전관리형 Kubernetes 서비스입니다. EKS 서비스는 제어 플레인과 데이터 플레인으로 구성되어 있습니다. 제어플레인(Control Plane)은 AWS가 관리하는 Kubernetes 마스터 노드이며, 데이터 플레인(Data Plane)은 사용자가 관리하는 워커 노드로 EC2 혹은 Fargate로 구성됩니다.
3. 선택지 분석하기
A. AWS Identity and Access Management(IAM)에서 필요한 권한을 AmazonEKSNodeRole IAM 역할에 부여합니다.
→ IAM 역할은 노드가 클러스터와 통신하는 데 확실히 필요합니다. 다만, IAM 권한만으로는 프라이빗 서브넷의 노드가 제어 플레인에 연결할 수 없습니다. 노드가 제어 플레인에 도달하지 못한 것은 네트워크 연결 문제이기 때문에 확실한 정답이 아닙니다.
B. 노드가 컨트롤 플레인에 액세스할 수 있도록 인터페이스 VPC 엔드포인트를 생성합니다.
→ VPC 엔드포인트를 통해 프라이빗 서브넷의 노드가 AWS 서비스에 접근할 수 있는 경로를 제공하고 있습니다. 인터넷 게이트웨이나 NAT 없이 AWS 서비스와 통신할 수 있으며, 퍼블릭 액세스를 차단한 상태에서도 작동합니다.
C. 퍼블릭 서브넷에서 노드를 재생성합니다. EC2 노드에 대한 보안 그룹을 제한합니다.
→ 데이터 플레인을 프라이빗 서브넷에 배치해야 하는 요구사항을 위반하는 선택지 입니다. 보안 규정을 준수할 수 없습니다.
D. 노드의 보안 그룹에서 아웃바운드 트래픽을 허용합니다.
→ EKS 노드 보안 그룹은 기본적으로 모든 아웃바운드 트래픽을 허용합니다. 근본적으로 프라이빗 서브넷에서 AWS 서비스에 도달할 수 있는 경로 설정이 필요하기 때문에 이것만으로는 문제를 해결할 수 없습니다.
이번 주도 행복하고 의미 있는 시간으로 가득 채우시길 응원합니다.
금요일에 뵙겠습니다 😊
'AWS > SAA 준비' 카테고리의 다른 글
| AWS SAA 합격으로 가는 길 #143 (0) | 2025.12.22 |
|---|---|
| AWS SAA 합격으로 가는 길 #142 (0) | 2025.12.19 |
| AWS SAA 합격으로 가는 길 #140 (0) | 2025.12.12 |
| AWS SAA 합격으로 가는 길 #139 (1) | 2025.12.08 |
| AWS SAA 합격으로 가는 길 #138 (1) | 2025.12.05 |