안녕하세요! 넥스트클라우드의 테크니컬 트레이너 김유림입니다. 😊
3월의 시작은 어떠셨나요? 새롭게 준비하는 에너지에 힘을 얻고 있는 요즘입니다.
문제는 세 가지 단계를 거치며 풀어가겠습니다.
1. 문제의 요구사항 분석하기
2. 관련 AWS 서비스 생각하기
3. 선택지 분석하기
바로 문제 풀이 시작합니다.
문제1
us-east-1 지역에서 사진 호스팅 서비스를 운영하는 회사가 있습니다. 이 서비스를 통해 여러 국가의 사용자가 사진을 업로드하고 볼 수 있습니다. 일부 사진은 몇 달 동안 많이 조회되지만 다른 사진은 일주일 미만 동안 조회됩니다. 이 애플리케이션에서는 각 사진당 최대 20MB까지 업로드할 수 있습니다. 이 서비스는 사진 메타데이터를 사용하여 각 사용자에게 표시할 사진을 결정합니다.
가장 비용 효율적으로 적절한 사용자 액세스를 제공하는 솔루션은 무엇입니까?
선택지
A. Amazon DynamoDB에 사진을 저장합니다. DynamoDB Accelerator(DAX)를 켜서 자주 보는 항목을 캐시합니다.
B. Amazon S3 Intelligent-Tiering 스토리지 클래스에 사진을 저장합니다. 사진 메타데이터와 해당 S3 위치를 DynamoDB에 저장합니다.
C. Amazon S3 Standard 스토리지 클래스에 사진을 저장합니다. 30일이 지난 사진을 S3 Standard-Infrequent Access(S3 Standard-IA) 스토리지 클래스로 이동하도록 S3 수명 주기 정책을 설정합니다. 메타데이터를 추적하려면 객체 태그를 사용하세요.
D. Amazon S3 Glacier 스토리지 클래스에 사진을 저장합니다. 30일이 지난 사진을 S3 Glacier Deep Archive 스토리지 클래스로 이동하도록 S3 수명 주기 정책을 설정합니다. 사진 메타데이터와 해당 S3 위치를 Amazon OpenSearch Service에 저장합니다.
풀이
조회 패턴을 예측하기 어려울 때(어떤 건 길게, 어떤 건 짧게 조회됨) 가장 비용 효율적인 S3 스토리지 클래스는 Intelligent-Tiering입니다. 이 클래스는 액세스 패턴을 모니터링하여 데이터를 자동으로 저렴한 계층으로 이동시킵니다. 또한 20MB 파일은 S3에 저장하고, 파일의 위치와 정보(메타데이터)는 NoSQL인 DynamoDB에 저장하여 빠르게 검색하는 것이 표준 아키텍처입니다.
정답 : B
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 사진 파일(최대 20MB)을 저장할 비용 효율적인 스토리지 필요
- 사진마다 불규칙한 액세스 패턴
- 메타데이터를 활용해 사용자에게 보여줄 사진을 빠르게 결정해야 함
2. 관련 AWS 서비스 생각하기
- Amazon Simple Storage Service(S3) : AWS(Amazon Web Services)에서 제공하는 객체 스토리지 서비스입니다. 저장 용량에 제한이 없으며 사용한 만큼만 과금이되고 99.999999999% (11 nine)의 내구성을 보장합니다. 또한, 여러 AZ(가용 영역)에 데이터를 자동 복제하고, 파일 별 버킷 정책을 통해 세밀한 권한 관리를 할 수 있습니다.
- S3 Standard : 자주 접근하는 데이터를 위한 기본 스토리지 클래스로, 높은 처리량과 낮은 지연 시간을 제공하며 웹 애플리케이션, 콘텐츠 배포, 모바일 앱 등 즉각적인 데이터 접근이 필요한 워크로드에 적합합니다.
- S3 Intelligent-Tiering : 데이터 액세스 패턴이 변경되거나 알 수 없을 때 비용을 최적화하는 스토리지 클래스로, 별도의 검색 수수료 없이 액세스 빈도에 따라 데이터를 자동으로 이동시킵니다.
- S3 Standard-IA : 자주 접근하지는 않지만 필요할 때 즉시 꺼내야 하는 데이터에 적합한 클래스로, Standard보다 저렴한 저장 비용을 제공하되 데이터 검색 시 별도 수수료가 발생하며 재해 복구 백업이나 장기 보관 파일에 주로 사용됩니다.
- S3 Glacier: 수개월에서 수년간 보관해야 하는 아카이브 데이터를 위한 저비용 클래스로, 저장 비용이 매우 저렴한 대신 데이터 복원에 수 분에서 수 시간이 소요되며 규정 준수 기록, 의료 데이터, 오래된 로그 보관에 적합합니다.
- S3 Glacier Deep Archive : AWS에서 가장 저렴한 스토리지 클래스로, 1년에 한두 번 접근할까 말까 한 데이터를 장기 보관할 때 사용하며 데이터 복원에 최대 12시간이 걸리지만 규제 요건상 수년~수십 년간 반드시 보존해야 하는 데이터에 최적화되어 있습니다.
- Amazon DynamoDB: 대규모 트래픽 처리가 가능한 NoSQL 데이터베이스로, 이미지 파일의 경로(URL)나 메타데이터(작성자, 날짜 등)를 저장하고 조회하는 데 최적인 데이터베이스 서비스입니다.
3. 선택지 분석하기
A. Amazon DynamoDB에 사진을 저장합니다. DynamoDB Accelerator(DAX)를 켜서 자주 보는 항목을 캐시합니다.
→ DynamoDB의 항목당 크기 제한은 400KB입니다. 20MB 크기의 사진 파일은 저장할 수 없으며, 대용량 바이너리 데이터를 DB에 넣는 것은 비용 효율적이지 않습니다.
B. Amazon S3 Intelligent-Tiering 스토리지 클래스에 사진을 저장합니다. 사진 메타데이터와 해당 S3 위치를 DynamoDB에 저장합니다.
→ 불규칙한 조회 패턴에 맞춰 자동으로 비용을 줄여주는 Intelligent-Tiering과 메타데이터 관리에 최적화된 DynamoDB를 사용하는 가장 이상적인 조합입니다.
C. Amazon S3 Standard 스토리지 클래스에 사진을 저장합니다. 30일이 지난 사진을 S3 Standard-Infrequent Access(S3 Standard-IA) 스토리지 클래스로 이동하도록 S3 수명 주기 정책을 설정합니다. 메타데이터를 추적하려면 객체 태그를 사용하세요.
→ S3 객체 태그는 메타데이터 검색 기능이 제한적이고 느립니다. 또한 Standard-IA는 데이터를 꺼낼 때 검색 비용이 발생하므로, 나중에 다시 인기가 많아지는 사진이 있다면 비용이 증가할 수 있습니다.
D. Amazon S3 Glacier 스토리지 클래스에 사진을 저장합니다. 30일이 지난 사진을 S3 Glacier Deep Archive 스토리지 클래스로 이동하도록 S3 수명 주기 정책을 설정합니다. 사진 메타데이터와 해당 S3 위치를 Amazon OpenSearch Service에 저장합니다.
→ Glacier 계열은 데이터를 읽는 데 최소 몇 분에서 몇 시간이 걸립니다. 사용자가 사진을 즉시 볼 수 없게 되므로 서비스 요구사항을 충족하지 못합니다.
이어서 다음 문제입니다.
문제2
회사는 여러 가용 영역에 배포된 Amazon RDS 인스턴스에서 실행되는 데이터베이스를 호스팅합니다. 회사는 정기적으로 데이터베이스에 대해 스크립트를 실행하여 데이터베이스에 추가된 새 항목을 보고합니다. 데이터베이스에 대해 실행되는 스크립트는 중요한 애플리케이션의 성능에 부정적인 영향을 미칩니다. 회사는 최소한의 비용으로 애플리케이션 성능을 향상시켜야 합니다.
최소한의 운영 오버헤드로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
선택지
A. 활성 연결이 가장 적은 인스턴스를 식별하는 기능을 스크립트에 추가하십시오. 해당 인스턴스에서 읽어 전체 새 항목을 보고하도록 스크립트를 구성합니다.
B. 데이터베이스의 읽기 전용 복제본을 생성합니다. 총 새 항목을 보고하기 위해 읽기 전용 복제본만 쿼리하도록 스크립트를 구성합니다.
C. 하루가 끝날 때마다 데이터베이스의 해당 날짜의 새 항목을 수동으로 내보내도록 개발 팀에 지시합니다.
D. Amazon ElastiCache를 사용하여 스크립트가 데이터베이스에 대해 실행하는 일반 쿼리를 캐시합니다.
풀이
무거운 보고용 스크립트나 분석 쿼리가 메인 데이터베이스의 성능을 저하시킬 때 가장 표준적인 해결책은 읽기 전용 복제본(Read Replica)을 생성하는 것입니다. 스크립트가 복제본을 바라보도록 연결 엔드포인트만 변경하면, 메인 데이터베이스의 부하를 분리하여 애플리케이션 성능을 보호할 수 있습니다.
정답 : B
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 보고용 스크립트 실행으로 인해 메인 RDS의 성능 저하 발생
- 중요한 애플리케이션의 성능을 보호해야 함
- 최소한의 비용과 운영 오버헤드로 읽기 부하를 분리해야 함
2. 관련 AWS 서비스 생각하기
- Amazon Relational Database Service(RDS) : AWS에서 제공하는 관계형 데이터베이스 관리 서비스로, 데이터베이스의 설치, 운영, 유지보수를 AWS가 대신 처리해주어 개발자가 애플리케이션 개발에만 집중할 수 있도록 도와줍니다. OS 패치, DB 소프트웨어 업데이트, 백업 등을 AWS가 자동으로 처리하고, 최대 35일 보존 기간의 자동 백업을 지원하며, 특정 시점으로 복원(Point-in-Time Recovery)이 가능합니다.
- Amazon RDS 읽기 전용 복제본 (Read Replica): 소스 DB 인스턴스의 데이터를 비동기적으로 복제하여 읽기 전용으로 제공하는 기능입니다. 읽기 트래픽을 분산시키는 데 사용됩니다.
- Amazon RDS Multi-AZ: 고가용성을 위해 예비(Standby) 인스턴스를 두는 기능이지만, 일반적인 RDS에서 예비 인스턴스는 읽기용으로 접근할 수 없습니다.
3. 선택지 분석하기
A. 활성 연결이 가장 적은 인스턴스를 식별하는 기능을 스크립트에 추가하십시오. 해당 인스턴스에서 읽어 전체 새 항목을 보고하도록 스크립트를 구성합니다.
→ 표준 Amazon RDS의 Multi-AZ 구성에서 대기(Standby) 인스턴스는 장애 조치용이며 평소에는 접근할 수 없습니다. 따라서 스크립트가 다른 인스턴스를 골라 접속하는 것은 불가능합니다.
B. 데이터베이스의 읽기 전용 복제본을 생성합니다. 총 새 항목을 보고하기 위해 읽기 전용 복제본만 쿼리하도록 스크립트를 구성합니다.
→ 메인 DB의 부하를 가장 효과적으로 분리하는 방법입니다. 스크립트의 대상 주소만 바꾸면 되므로 운영 오버헤드도 적습니다.
C. 하루가 끝날 때마다 데이터베이스의 해당 날짜의 새 항목을 수동으로 내보내도록 개발 팀에 지시합니다.
→ 매일 수동으로 작업을 수행해야 하므로 운영 오버헤드가 매우 높고 비효율적입니다.
D. Amazon ElastiCache를 사용하여 스크립트가 데이터베이스에 대해 실행하는 일반 쿼리를 캐시합니다.
→ 캐시는 반복되는 동일한 읽기 요청에는 효과적이지만, '새 항목을 보고'하는 스크립트는 매번 새로운 데이터를 조회하거나 전체를 스캔해야 할 수 있으므로 캐시 적중률이 낮을 수 있습니다. 또한 애플리케이션 로직을 수정해야 하는 부담이 있습니다.
마지막 문제 살펴보겠습니다.
문제3
회사는 계정 관리를 위해 AWS Single Sign-On(AWS SSO) 및 AWS Control Tower를 활용하여 AWS Organizations에서 AWS 계정을 관리합니다. 회사는 모든 계정에 걸쳐 권한 관리를 간소화하는 것을 목표로 합니다. 이러한 권한은 각각 고유한 권한이 필요한 개발자 및 관리자 팀에 할당되어야 합니다. 또한 회사는 어느 그룹에든 합류하는 새로운 팀원을 쉽게 수용할 수 있는 솔루션을 원합니다.
이러한 요구 사항을 충족하면서 운영 오버헤드를 최소화하는 솔루션은 무엇입니까?
선택지
A. 각 계정에 대해 AWS Single Sign-On(AWS SSO) 내에서 개별 사용자를 생성합니다. AWS SSO에서 별도의 개발자 및 관리자 그룹을 설정하고 사용자를 해당 그룹에 할당합니다. 각 그룹에 대한 사용자 지정 IAM 정책을 만들어 세분화된 권한을 정의합니다.
B. 각 계정에 대해 AWS Single Sign-On(AWS SSO) 내에서 개별 사용자를 생성합니다. AWS SSO 내에 별도의 개발자 및 관리자 그룹을 설정하고 이에 따라 사용자를 할당합니다. 각 사용자에게 관련 AWS 관리형 IAM 정책을 연결하여 세분화된 권한을 부여합니다.
C. AWS Single Sign-On(AWS SSO) 내에서 개별 사용자를 생성합니다. AWS SSO 내에 새로운 개발자 및 관리자 그룹을 설정합니다. 각 그룹에 필요한 IAM 정책이 포함된 새 권한 세트를 생성합니다. 이러한 새 그룹을 해당 계정에 할당하고 권한 집합을 그룹에 할당합니다. 채용 시 적절한 그룹에 새로운 사용자를 추가합니다.
D. AWS Single Sign-On(AWS SSO) 내에서 개별 사용자를 생성합니다. 각 사용자에게 필요한 IAM 정책을 포함하는 특정 권한 세트를 생성합니다. 사용자를 해당 계정에 할당하고 특정 계정 내에서 직접 추가 IAM 권한을 부여합니다. 신규 사용자를 고용하면 AWS SSO에 추가하고 관련 계정에 할당합니다.
풀이
핵심은 다중 계정 권한을 그룹 기반으로 중앙 관리하고 신규 팀원 온보딩을 쉽게 하는 겁니다. 수많은 계정을 가진 조직에서 직무별 권한을 최소 노력으로 관리하려면 AWS SSO에서 권한 세트를 중앙 정의하고 그룹 단위로 계정에 할당해야 합니다. 신규 팀원은 그룹 추가만으로 연결된 모든 계정의 권한이 자동 부여되어 운영 오버헤드가 획기적으로 줄어듭니다.
정답 : C
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- AWS 조직 내의 모든 계정에 걸쳐 복잡한 권한 관리 프로세스를 단순화하고 통합
- 개발자 팀과 관리자 팀이라는 서로 다른 직무적 특성에 맞춘 세분화된 권한 체계 마련
- 조직에 새로 합류하는 직원이 발생하더라도 추가적인 설정 없이 권한을 즉시 부여할 수 있는 확장성 확보
2. 관련 AWS 서비스 생각하기
- AWS Single Sign-On : 사용자가 단 한 번의 로그인으로 조직 내의 모든 계정과 비즈니스 애플리케이션에 안전하게 접근할 수 있도록 돕는 서비스입니다. 관리자는 개별 계정마다 사용자를 생성할 필요 없이 중앙에서 권한 세트를 정의하고 이를 특정 그룹이나 계정에 연결함으로써 수천 명의 사용자 권한을 일괄적으로 제어할 수 있습니다.
- AWS Control Tower : 복잡한 다중 계정 환경을 AWS의 모범 사례에 맞춰 빠르고 안전하게 구축해주는 오케스트레이션 서비스입니다. 이 서비스는 새로운 계정을 생성할 때 보안 정책이 이미 적용된 상태로 만들어주는 랜딩 존을 구성하며 가드레일이라는 기능을 통해 조직 전체의 보안 규정을 강제하고 모니터링합니다.
- AWS Organizations : 여러 개의 AWS 계정을 하나의 중앙 지점에서 통합하여 관리할 수 있게 해주는 계정 거버넌스의 기초가 되는 서비스입니다. 계정들을 논리적인 그룹인 조직 단위로 묶어서 관리할 수 있으며 서비스 제어 정책을 사용하여 특정 계정 그룹에서 사용할 수 있는 서비스나 기능을 제한하는 강력한 중앙 통제 수단을 제공합니다.
3. 선택지 분석하기
A. 각 계정에 대해 AWS Single Sign-On(AWS SSO) 내에서 개별 사용자를 생성합니다. AWS SSO에서 별도의 개발자 및 관리자 그룹을 설정하고 사용자를 해당 그룹에 할당합니다. 각 그룹에 대한 사용자 지정 IAM 정책을 만들어 세분화된 권한을 정의합니다.
→ 각 계정마다 개별 사용자를 생성하는 방식은 계정 수가 늘어날수록 관리 지점이 기하급수적으로 증가하여 운영 오버헤드가 매우 높습니다.
B. 각 계정에 대해 AWS Single Sign-On(AWS SSO) 내에서 개별 사용자를 생성합니다. AWS SSO 내에 별도의 개발자 및 관리자 그룹을 설정하고 이에 따라 사용자를 할당합니다. 각 사용자에게 관련 AWS 관리형 IAM 정책을 연결하여 세분화된 권한을 부여합니다.
→ 계정별로 사용자를 직접 생성해야 하므로 대규모 조직 환경에서 통합 관리라는 요구 사항을 충족하기 어렵습니다.
C. AWS Single Sign-On(AWS SSO) 내에서 개별 사용자를 생성합니다. AWS SSO 내에 새로운 개발자 및 관리자 그룹을 설정합니다. 각 그룹에 필요한 IAM 정책이 포함된 새 권한 세트를 생성합니다. 이러한 새 그룹을 해당 계정에 할당하고 권한 집합을 그룹에 할당합니다. 채용 시 적절한 그룹에 새로운 사용자를 추가합니다.
→ AWS SSO에서 권한 세트를 정의하고 이를 그룹에 할당한 뒤 계정과 연결하는 방식은 AWS가 권장하는 가장 효율적인 관리 모범 사례입니다.
D. AWS Single Sign-On(AWS SSO) 내에서 개별 사용자를 생성합니다. 각 사용자에게 필요한 IAM 정책을 포함하는 특정 권한 세트를 생성합니다. 사용자를 해당 계정에 할당하고 특정 계정 내에서 직접 추가 IAM 권한을 부여합니다. 신규 사용자를 고용하면 AWS SSO에 추가하고 관련 계정에 할당합니다.
→ 계정 내에서 직접 추가 권한을 부여하게 되면 중앙 관리 체계가 무너지고 각 계정의 보안 상태를 한눈에 파악하기 힘들어집니다.
오늘은 꼭 필요한 개념과 조금 복잡한 문제를 다뤄봤습니다.
따사로운 첫 주말이 되시기 바랍니다. 월요일에 뵐게요!
'AWS > SAA 준비' 카테고리의 다른 글
| AWS SAA 합격으로 가는 길 #164 (0) | 2026.03.13 |
|---|---|
| AWS SAA 합격으로 가는 길 #163 (0) | 2026.03.09 |
| AWS SAA 합격으로 가는 길 #161 (1) | 2026.03.02 |
| AWS SAA 합격으로 가는 길 #160 (0) | 2026.02.27 |
| AWS SAA 합격으로 가는 길 #159 (0) | 2026.02.23 |