AWS SAA 합격으로 가는 길 #94
안녕하세요! 넥스트클라우드의 SA 손유림입니다. 😊 혼자 공부하기 막막할 때, 같이 보면 훨씬 쉬워져요
문제는 세 가지 단계를 거치며 풀어 나갈 거예요.
1. 문제의 요구사항 분석하기
2. 관련 AWS 서비스 생각하기
3. 선택지 분석하기
바로 문제 풀이 해볼까요?
문제1
솔루션 아키텍트는 AWS 클라우드에 배포되는 새 애플리케이션의 아키텍처를 설계하고 있습니다. 애플리케이션은 Amazon EC2 온디맨드 인스턴스에서 실행되며 여러 가용 영역에서 자동 으로 확장됩니다. EC2 인스턴스는 하루 종일 자주 확장 및 축소됩니다. Application Load Balancer(ALB)는 부하 분산을 처리합니다. 아키텍처는 분산 세션 데이터 관리를 지원해야 합니 다. 회사는 필요한 경우 기꺼이 코드를 변경할 수 있습니다. 아키텍처가 분산 세션 데이터 관리를 지원하도록 하기 위해 솔루션 설계자는 무엇을 해야 합니까?
선택지
A. Amazon ElastiCache를 사용하여 세션 데이터를 관리하고 저장합니다.
B. ALB의 세션 선호도(스티키 세션)를 사용하여 세션 데이터를 관리합니다.
C. AWS Systems Manager의 Session Manager를 사용하여 세션을 관리합니다.
D. AWS Security Token Service(AWS STS)에서 GetSessionToken API 작업을 사용하여 세션을 관리합니다.
풀이
Amazon ElastiCache는 인메모리 데이터 스토어를 제공하는 웹 서비스입니다. 분산 세션 데이터를 관리하는 데 적합합니다. Redis나 Memcached 엔진을 사용하여 세션 데이터를 캐시에 저장할 수 있습니다. Amazon EC2 인스턴스가 자주 확장 및 축소되더라도 세션 데이터가 ElastiCache에 저장되므로 세션 정보가 유지됩니다. 또한 ElastiCache는 고가용성과 내결함성을 제공합니다.
정답 : A
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- Amazon EC2 온디맨드 인스턴스에서 실행되는 자동 확장 애플리케이션
- 여러 가용 영역에 걸쳐 확장 및 축소
- 분산 세션 데이터 관리 지원 필요
2. 관련 AWS 서비스 생각하기
Amazon ElastiCache는 Redis와 Memcached 엔진을 제공하는 완전관리형 인메모리 데이터 스토어입니다. 애플리케이션의 세션 데이터를 ElastiCache에 저장하면 EC2 인스턴스가 확장 및 축소되더라도 세션 정보가 유지됩니다. 또한 ElastiCache는 클러스터 모드를 통해 고가용성과 내결함성을 제공합니다. 여러 가용 영역에 노드를 배포할 수 있으며, 자동 장애 조치 기능이 있습니다.
3. 선택지 분석하기
A. Amazon ElastiCache를 사용하여 세션 데이터를 관리하고 저장합니다.
→ ElastiCache를 사용하면 여러 EC2 인스턴스 간 세션 데이터를 중앙에서 공유할 수 있어, 자동 확장 및 축소 환경에서 안정적인 분산 세션 관리가 가능합니다.
B. ALB의 세션 선호도(스티키 세션)를 사용하여 세션 데이터를 관리합니다.
→ 세션 고정을 통해 단일 EC2 인스턴스에 세션을 유지할 수 있지만, 인스턴스 확장 및 축소 시 세션 데이터가 손실됩니다.
C. AWS Systems Manager의 Session Manager를 사용하여 세션을 관리합니다.
→ Session Manager는 EC2 인스턴스에 대한 원격 세션 관리를 위한 도구입니다.
D. AWS Security Token Service(AWS STS)에서 GetSessionToken API 작업을 사용하여 세션을 관리합니다.
→ AWS STS는 임시 보안 자격 증명을 관리하는 서비스입니다.
이어서 다음 문제입니다.
문제2
회사는 애플리케이션에서 생성하는 대량의 스트리밍 데이터를 수집하고 처리해야 합니다. 이 애플리케이션은 Amazon EC2 인스턴스에서 실행되며 기본 설정으로 구성된 Amazon Kinesis Data Streams로 데이터를 전송합니다. 격일로 애플리케이션은 데이터를 소비하고 비즈니스 인텔리전스(BI) 처리를 위해 데이터를 Amazon S3 버킷에 기록합니다. 회사는 Amazon S3가 애플리케이션이 Kinesis Data Streams로 보내는 모든 데이터를 수신하지 못하는 것을 관찰합니다. 솔루션 설계자는 이 문제를 해결하기 위해 무엇을 해야 합니까?
선택지
A. 데이터 보존 기간을 수정하여 Kinesis Data Streams 기본 설정을 업데이트합니다.
B. Kinesis Producer Library(KPL)를 사용하여 Kinesis Data Streams로 데이터를 전송하도록 애플리케이션을 업데이트합니다.
C. Kinesis Data Streams로 전송되는 데이터의 처리량을 처리하도록 Kinesis 샤드 수를 업데이트합니다.
D. S3 버킷 내에서 S3 버전 관리를 켜서 S3 버킷에 수집된 모든 객체의 모든 버전을 보존합니다.
풀이
Kinesis Data Streams는 기본적으로 데이터를 24시간 동안만 보존합니다. 이는 비즈니스 요구사항을 충족하지 못하므로 데이터 보존 기간을 수정해야 합니다. 데이터를 격일로 소비하는 경우 보존 기간을 48시간 이상으로 늘리면 모든 데이터를 수신할 수 있습니다. 또한 Kinesis 샤드 수를 입력 데이터의 처리량에 맞게 조정하면 데이터 손실 없이 원활하게 처리할 수 있습니다.
정답 : A
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 애플리케이션에서 생성되는 대량의 스트리밍 데이터 수집 및 처리
- 격일로 데이터 소비 및 Amazon S3에 기록
- 일부 데이터가 S3에 수신되지 않는 문제 발생
2. 관련 AWS 서비스 생각하기
Amazon Kinesis Data Streams는 실시간으로 스트리밍 데이터를 수집 및 처리할 수 있는 완전관리형 서비스입니다. 서버리스 및 확장 가능한 아키텍처를 제공하며, 데이터를 샤드라는 개별 파티션에 저장합니다. 각 샤드는 초당 최대 1MB의 데이터를 읽고 쓸 수 있으며, 더 많은 처리량이 필요한 경우 샤드 수를 늘릴 수 있습니다. 데이터를 지속적으로 캡처하여 저장하고 여러 애플리케이션이 동시에 데이터를 읽을 수 있습니다. Kinesis Data Streams의 데이터 보존 기간은 기본적으로 24시간입니다. 이 기간 동안 데이터를 계속 사용할 수 있으며, 이후에는 삭제됩니다. 데이터 보존 기간을 최대 1년까지 늘릴 수 있으므로, 데이터 소비 주기에 맞게 설정하면 데이터 손실을 방지할 수 있습니다.
3. 선택지 분석하기
A. 데이터 보존 기간을 수정하여 Kinesis Data Streams 기본 설정을 업데이트합니다.
→ Kinesis Data Streams는 기본적으로 데이터를 24시간만 보존하므로, 격일(48시간 간격)로 데이터를 소비하면 손실이 발생할 수 있습니다. 보존 기간을 늘리면 이 문제를 해결할 수 있습니다.
B. Kinesis Producer Library(KPL)를 사용하여 Kinesis Data Streams로 데이터를 전송하도록 애플리케이션을 업데이트합니다.
→ KPL은 데이터 전송과 관련된 라이브러리이므로 데이터 보존 기간 문제를 해결하지 못합니다.
C. Kinesis Data Streams로 전송되는 데이터의 처리량을 처리하도록 Kinesis 샤드 수를 업데이트합니다.
→ 샤드 수를 늘리면 처리량 문제를 해결할 수 있지만, 데이터 보존 기간 부족 문제는 해결되지 않습니다.
D. S3 버킷 내에서 S3 버전 관리를 켜서 S3 버킷에 수집된 모든 객체의 모든 버전을 보존합니다.
→ S3 버전 관리는 S3 버킷 내 데이터 관리에 도움이 되지만, 원본 Kinesis Data Streams의 데이터 보존 기간 문제는 해결되지 않습니다.
마지막 문제 살펴볼게요.
문제3
IAM 사용자는 지난주 프로덕션 배포 중에 회사 계정의 AWS 리소스에 대해 몇 가지 구성을 변경했습니다. 솔루션 설계자는 몇 가지 보안 그룹 규칙이 원하는 대로 구성되지 않았음을 알게 되었습니다. 솔루션 설계자는 어떤 IAM 사용자가 변경을 담당했는지 확인하려고 합니다. 솔루션 설계자는 원하는 정보를 찾기 위해 어떤 서비스를 사용해야 합니까?
선택지
A. Amazon GuardDuty
B. 아마존 인스펙터
C. AWS 클라우드트레일
D. AWS 구성
풀이
AWS CloudTrail은 AWS 계정 활동에 대한 로그를 제공하는 서비스입니다. CloudTrail 로그에는 어떤 IAM 사용자가 AWS 리소스를 수정했는지에 대한 정보가 포함되므로, 이를 활용하면 원하는 정보를 찾을 수 있습니다.
정답 : C
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- IAM 사용자가 프로덕션 배포 중 AWS 리소스 구성 변경
- 보안 그룹 규칙 구성이 원하는 대로 되지 않음
- 변경을 담당한 IAM 사용자 식별 필요
2. 관련 AWS 서비스 생각하기
AWS CloudTrail은 AWS 계정에서 발생한 API 호출 및 관련 이벤트에 대한 로그를 제공하는 서비스입니다. 로그에는 호출을 한 사용자, 역할, IP 주소, 호출 시간, 요청 파라미터, 응답 요소 등의 정보가 포함되므로 활동 추적이 가능합니다. CloudTrail 로그를 분석하면 특정 리소스(예: 보안 그룹)에 대한 변경 사항과 그 변경을 담당한 IAM 사용자를 식별할 수 있습니다.
3. 선택지 분석하기
A. Amazon GuardDuty
→ GuardDuty는 보안 위협 탐지에 사용되며, 과거 활동 로그를 제공하지 않습니다.
B. 아마존 인스펙터
→ Inspector는 EC2 인스턴스에 대한 보안 취약점 검사 서비스입니다.
C. AWS 클라우드트레일
→ API 호출 기록을 확인할 수 있는 AWS CloudTrail을 사용하면 어떤 IAM 사용자가 AWS 리소스(보안 그룹)를 변경했는지를 추적가능합니다.
D. AWS 구성
→ Config는 리소스 구성 변경 내역은 제공하지만, 누가 변경을 수행했는지에 대한 정보는 제공하지 않습니다.
조금씩 꾸준히, 그것만큼 확실한 방법은 없더라고요. 끝까지 파이팅입니다!
감사합니다. 다음 글에서 만나요! 😊