본문 바로가기
AWS/SAA 준비

AWS SAA 합격으로 가는 길 #13

by Pacloud 2024. 9. 6.
반응형

안녕하세요, AWS SAA(Solution Architect Associate) 자격증을 준비하시는 여러분!

저는 넥스트클라우드에서 SA로 활동하고 있는 강준우라고 합니다. 😊

 

오늘은 다음 3개의 단계로 글을 포스팅 해봤습니다.

 

1. 문제의 요구사항 및 관련 AWS 서비스 생각하기

2. 위를 토대로 선택지 분석

3. 자세한 용어 설명 

 

자, 그럼 첫 번째 문제부터 살펴볼까요?


문제

솔루션 설계자가 3계층 웹 애플리케이션을 설계하고 있습니다. 아키텍쳐는 인터넷 연결 ALB(Applcation Load Balancer)와 프라이빗 서브넷의 Amazon EC2 인스턴스에서 호스팅되는 웹 계층으로 구성됩니다. 비즈니스 로직이 포함된 애플리케이션 계층은 프라이빗 서브넷의 EC2 인스턴스에서 실행됩니다. 데이터베이스 계층은 프라이빗 서브넷의 EC2 인스턴스에서 실행되는 Microsoft SQL Server로 구성됩니다. 보안은 회사의 최우선 과제입니다. 솔루션 아키텍트는 어떤 보안 그룹 구성 조합을 사용해야 합니까? (3개를 선택하세요.)

선택지

A. ALB에 대한 보안 그룹의 인바운드 HTTPS 트래픽을 허용하도록 웹 계층에 대한 보안 그룹을 구성합니다.

B. 0.0.0.010에 대한 아웃바운드 HTTPS 트래픽을 허용하도록 웹 계층에 대한 보안 그룹을 구성합니다.

C. 애플리케이션 계층에 대한 보안 그룹의 인바운드 Microsoft SQL Server 트래픽을 허용하도록 데이터베이스 계층에 대한 보안 그룹을 구성합니다.

D. 웹 계층의 보안 그룹에 대한 아웃바운드 HTTPS 트래픽과 Microsoft SQL Server 트래픽을 허용하도록 데이터베이스 계층의 보안 그룹을 구성합니다.

E. 웹 계층에 대한 보안 그룹의 인바운드 HTTPS 트래픽을 허용하도록 애플리케이션 계층에 대한 보안 그룹을 구성합니다.

F. 웹 계층의 보안 그룹에 대한 아웃바운드 HTTPS 트래픽과 Microsoft SQL Server 트래픽을 허용하도록 애플리케이션 계층의 보안 그룹을 구성합니다.


첫 번째 과정은 “문제의 요구사항 분석하기”입니다.

이 문제에서는 4가지의 요구사항이 존재해요. 

 

1. 인터넷 연결 ALB와 EC2 간 보안 통신

2. 웹 계층과 애플리케이션 계층 간 통신 허용

3. 애플리케이션과 데이터베이스 계층 간 통신 허용

4. 외부 접근 차단 및 내부 통신 보호 

 

두 번째 과정은 “요구사항과 관련된 AWS 서비스 생각하기”입니다.

  • 인터넷 연결 ALB와 EC2 간 보안 통신
    • Amazon Application Load Balancer (ALB): HTTP와 HTTPS 트래픽을 관리하는 로드 밸런서로, 웹 애플리케이션의 트래픽을 EC2 인스턴스로 분배합니다. ALB는 TLS(SSL) 인증서를 사용하여 보안 연결을 제공하며, 웹 애플리케이션의 성능과 보안을 모두 만족시킵니다.

  • 웹 계층과 애플리케이션 계층 간 통신 허용
      • Amazon EC2: 프라이빗 서브넷에 위치한 EC2 인스턴스는 웹 계층에서 들어오는 트래픽을 처리하고 애플리케이션 계층으로 전달합니다. 보안 그룹을 통해 웹 계층과 애플리케이션 계층 간의 트래픽을 허용하는 규칙을 설정해야 합니다.
  • 애플리케이션과 데이터베이스 계층 간 통신 허용
      • Amazon EC2 (Microsoft SQL Server): 데이터베이스 계층에 설치된 Microsoft SQL Server는 애플리케이션 계층과 통신하며 데이터를 처리합니다. 애플리케이션 계층의 EC2 인스턴스가 데이터베이스로 접근할 수 있도록 보안 그룹을 통해 포트 1433(SQL Server 포트)을 허용해야 합니다.
  • 외부 접근 차단 및 내부 통신 보호
      • Amazon VPC (Virtual Private Cloud): VPC는 EC2 인스턴스와 다른 리소스들이 포함된 네트워크 환경을 제공합니다. 퍼블릭 및 프라이빗 서브넷을 구성하여 외부 트래픽은 ALB를 통해 허용하고, 내부 트래픽은 보안 그룹을 통해 제어하여 보호할 수 있습니다.

마지막 과정은 “위의 정보들을 토대로 정답 선택하기”입니다.

선택지 A

ALB에 대한 보안 그룹의 인바운드 HTTPS 트래픽을 허용하도록 웹 계층에 대한 보안 그룹을 구성합니다.

  • Amazon ALB (Application Load Balancer): 계층 7의 트래픽 분산 로드 밸런서로, HTTP와 HTTPS 트래픽을 다룹니다. ALB는 외부 사용자 요청을 처리하고 이를 웹 계층으로 전달합니다.
  • HTTPS 트래픽: SSL/TLS 암호화된 웹 트래픽으로, 보안을 유지하며 클라이언트와 서버 간의 데이터를 주고받습니다.
  • 웹 계층 보안 그룹: ALB로부터 들어오는 트래픽을 처리하며, HTTPS(포트 443)를 인바운드로 허용해야 ALB에서 웹 서버로의 트래픽을 처리할 수 있습니다.

정답인 이유: ALB는 인터넷과 연결되어 외부 요청을 받기 때문에, 웹 계층에 대한 보안 그룹에서 HTTPS 인바운드 트래픽을 허용하는 것은 필수입니다. 이를 통해 사용자의 요청을 안전하게 웹 계층으로 전달할 수 있습니다.

 

선택지 B

0.0.0.0/0에 대한 아웃바운드 HTTPS 트래픽을 허용하도록 웹 계층에 대한 보안 그룹을 구성합니다.

  • 0.0.0.0/0: 모든 IP 주소를 의미하며, 아웃바운드 트래픽을 어디로든 허용하는 설정입니다.
  • 아웃바운드 HTTPS 트래픽: 웹 계층에서 외부로 나가는 HTTPS 트래픽을 허용하는 것.

정답이 아닌 이유: 웹 계층에서 외부로 나가는 HTTPS 트래픽이 문제에서 언급되지 않았습니다. 웹 계층은 주로 ALB로부터 트래픽을 받아 애플리케이션 계층과 상호작용하며, 외부로 나가는 트래픽은 중요하지 않기 때문에 필수적인 설정이 아닙니다.

 

선택지 C

애플리케이션 계층에 대한 보안 그룹의 인바운드 Microsoft SQL Server 트래픽을 허용하도록 데이터베이스 계층에 대한 보안 그룹을 구성합니다.

  • Microsoft SQL Server: 데이터베이스 계층에 있는 SQL Server는 애플리케이션 계층과 통신하기 위해 인바운드 트래픽을 허용해야 합니다.
  • 인바운드 트래픽: 데이터베이스가 애플리케이션 계층으로부터 쿼리나 데이터를 받을 때 필요합니다.
  • SQL Server 트래픽: 보통 포트 1433을 사용하며, 이를 허용해야 애플리케이션 계층이 데이터베이스에 접근할 수 있습니다.

정답인 이유: 데이터베이스 계층은 애플리케이션 계층으로부터의 요청을 받아야 하므로, 인바운드 SQL Server 트래픽을 허용하는 설정은 필수입니다. 이를 통해 애플리케이션 계층이 데이터베이스와 통신할 수 있습니다.

 

선택지 D

웹 계층의 보안 그룹에 대한 아웃바운드 HTTPS 트래픽과 Microsoft SQL Server 트래픽을 허용하도록 데이터베이스 계층의 보안 그룹을 구성합니다.

  • 아웃바운드 HTTPS 트래픽: 웹 계층이 외부로 나가는 HTTPS 트래픽을 의미하며, 데이터베이스 계층에서는 불필요한 설정입니다.
  • Microsoft SQL Server 트래픽: 데이터베이스 계층에서 웹 계층으로 아웃바운드 트래픽을 허용할 필요는 없습니다.

정답이 아닌 이유: 데이터베이스 계층이 웹 계층과 직접 통신할 필요가 없으며, 이 설정은 잘못된 트래픽 경로를 설정하게 됩니다. 웹 계층과 데이터베이스 계층이 직접 상호작용하는 구조는 보안상 적절하지 않으며, 계층화된 아키텍처를 위배합니다.

 

선택지 E

웹 계층에 대한 보안 그룹의 인바운드 HTTPS 트래픽을 허용하도록 애플리케이션 계층에 대한 보안 그룹을 구성합니다.

  • 애플리케이션 계층 보안 그룹: 웹 계층에서 애플리케이션 계층으로 전달되는 트래픽을 처리합니다. 웹 계층이 애플리케이션 계층에 데이터를 전달할 때 인바운드 트래픽을 허용해야 합니다.

정답인 이유: 웹 계층에서 애플리케이션 계층으로의 통신을 허용하는 설정이 필요합니다. 이를 통해 애플리케이션 계층은 웹 계층에서 받은 요청을 처리하고 데이터베이스 계층으로 전달할 수 있습니다. 이 보안 그룹 설정은 계층 간의 통신을 안전하게 관리하는 데 필수적입니다.

 

선택지 F

웹 계층의 보안 그룹에 대한 아웃바운드 HTTPS 트래픽과 Microsoft SQL Server 트래픽을 허용하도록 애플리케이션 계층의 보안 그룹을 구성합니다.

  • 아웃바운드 HTTPS 트래픽: 애플리케이션 계층에서 외부로 나가는 HTTPS 트래픽을 허용하는 것은 이 아키텍처에서 불필요합니다.
  • Microsoft SQL Server 트래픽: 애플리케이션 계층이 데이터베이스 계층과 통신할 때 사용되므로, 이를 위한 인바운드 트래픽은 중요하지만, 아웃바운드 트래픽을 설정하는 것은 적절하지 않습니다.

정답이 아닌 이유: 아웃바운드 트래픽 설정은 애플리케이션 계층에서 외부로의 트래픽을 허용하는 것으로, 이 아키텍처에서는 불필요한 설정입니다. 또한 SQL Server 트래픽은 애플리케이션 계층에서 데이터베이스 계층으로만 흐르며, 웹 계층과는 상관이 없습니다.

 

따라서 정답은 A, C, E  입니다!!!

 

문제에 대한 자세한 용어설명은 더보기를 통해 확인해 주세요!!!

 

더보기
닫기
더보기

용어 설명

1.  Application Load Balancer (ALB):

  • ALB는 AWS의 Elastic Load Balancing 서비스 중 하나로, 계층 7(애플리케이션 계층)에서 작동하여 HTTP 및 HTTPS 트래픽을 다루는 로드 밸런서입니다.
  • 역할 및 의미: ALB는 사용자의 트래픽을 여러 서버(EC2 인스턴스)로 분산하여 웹 애플리케이션의 성능과 가용성을 최적화합니다. 또한 보안 그룹을 통해 인바운드 및 아웃바운드 트래픽을 제어함으로써 보안도 강화할 수 있습니다. 주로 웹 계층에 위치하여 트래픽을 처리합니다.

2.  보안 그룹 (Security Group):

  • AWS의 보안 그룹은 인스턴스의 네트워크 트래픽을 제어하는 가상 방화벽 역할을 하며, 특정 포트와 프로토콜을 기반으로 인바운드 및 아웃바운드 트래픽을 허용하거나 차단하는 규칙을 설정할 수 있습니다.
  • 역할 및 의미: 보안 그룹은 네트워크 보안을 관리하는 데 중요한 역할을 합니다. 예를 들어, 웹 계층과 애플리케이션 계층, 데이터베이스 계층 간의 트래픽 흐름을 제한하여 각 계층 간의 통신을 보호합니다. 이를 통해 애플리케이션의 보안 요건을 충족하면서도 네트워크 상의 공격을 최소화할 수 있습니다.

3.  프라이빗 서브넷 (Private Subnet):

  • AWS VPC(가상 사설 클라우드) 내에서 외부 인터넷과 연결되지 않은 네트워크 서브넷을 의미합니다. 프라이빗 서브넷에 있는 리소스는 외부에서 직접 접근할 수 없으며, 내부에서만 접근이 가능합니다.
  • 역할 및 의미: 중요한 데이터를 처리하는 애플리케이션 서버나 데이터베이스 서버를 보호하기 위해 프라이빗 서브넷에 배치됩니다. 외부에서 접근할 수 없기 때문에 보안이 강화되며, 인터넷과의 연결이 필요한 경우 NAT 게이트웨이나 VPC 피어링을 통해 트래픽을 라우팅합니다.

4.  Amazon EC2 (Elastic Compute Cloud):

  • Amazon EC2는 AWS에서 제공하는 확장 가능한 가상 서버입니다. 사용자는 필요에 따라 EC2 인스턴스를 생성하고, 원하는 운영 체제와 애플리케이션을 설치하여 사용할 수 있습니다.
  • 역할 및 의미: EC2 인스턴스는 웹 서버, 애플리케이션 서버, 데이터베이스 서버 등 다양한 역할을 수행할 수 있습니다. 각 EC2 인스턴스에는 보안 그룹을 설정하여 인바운드 및 아웃바운드 트래픽을 제어할 수 있습니다. AWS의 핵심 컴퓨팅 서비스로, 유연한 스케일링과 고성능 컴퓨팅 환경을 제공합니다.

5.  Microsoft SQL Server:

  • Microsoft SQL Server는 관계형 데이터베이스 관리 시스템(RDBMS)으로, AWS EC2 인스턴스에 설치하여 사용할 수 있습니다. 데이터베이스 계층에서 주로 사용됩니다.
  • 역할 및 의미: Microsoft SQL Server는 비즈니스 애플리케이션에서 사용하는 데이터를 저장, 관리 및 처리하는 역할을 합니다. AWS 환경에서는 EC2 인스턴스에 설치하여 프라이빗 서브넷 내에서 안전하게 운영되며, 애플리케이션 계층과의 데이터 전송은 보안 그룹을 통해 관리됩니다. 보통 TCP 포트 1433을 사용하여 통신합니다.

6.  인바운드/아웃바운드 트래픽 (Inbound/Outbound Traffic):

  • 인바운드 트래픽은 네트워크 외부에서 AWS 리소스로 들어오는 트래픽을 의미하고, 아웃바운드 트래픽은 AWS 리소스에서 외부로 나가는 트래픽을 의미합니다.
  • 역할 및 의미: 보안 그룹을 통해 인바운드 및 아웃바운드 트래픽을 관리할 수 있습니다. 예를 들어, 웹 계층의 인스턴스는 외부 사용자의 요청(인바운드 트래픽)을 수신하고, 애플리케이션 계층으로 데이터를 전송합니다(아웃바운드 트래픽). 각 계층 간의 트래픽 흐름을 정확히 관리하여 보안을 유지할 수 있습니다.

7.  TCP 포트 1433:

  • Microsoft SQL Server가 데이터베이스 연결을 위해 기본적으로 사용하는 네트워크 포트입니다.
  • 역할 및 의미: 애플리케이션 계층이 데이터베이스 계층과 통신할 때 사용됩니다. 이 포트를 통해 데이터베이스 서버에 연결하여 SQL 쿼리를 실행할 수 있습니다. AWS 보안 그룹에서 이 포트를 명시적으로 열어두어야 애플리케이션이 데이터베이스에 접근할 수 있습니다.

8.  HTTPS 트래픽 (HTTPS Traffic):

  • HTTPS는 HTTP의 보안 버전으로, SSL/TLS 암호화를 통해 안전한 데이터 전송을 보장하는 프로토콜입니다.
  • 역할 및 의미: 애플리케이션의 웹 계층이 HTTPS 트래픽을 수신하려면 보안 그룹에서 443번 포트를 허용해야 합니다. HTTPS를 사용하면 웹 브라우저와 서버 간의 데이터가 안전하게 전송되므로, 특히 민감한 정보가 오가는 환경에서 필수적인 보안 조치입니다.

 

 

 

이어서 두 번째 문제 살펴볼게요.


 

문제

전자상거래 회사는 실시간 분석을 위해 회사 웹사이트에서 사용자 클릭스트림 데이터를 수집하려고 합니다. 웹사이트는 하루 종일 변동하는 트래픽 패턴을 경험합니다. 회사에는 다양한 수준의 트래픽에 적응할 수 있는 확장 가능한 솔루션이 필요합니다.

이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

선택지

1. 온디맨드 모드에서 Amazon Kinesis Data Streams의 데이터 스트림을 사용하여 클릭스트림 데이터를 캡처합니다. AWS Lambda를 사용하여 실시간으로 데이터를 처리합니다.

2. Amazon Kinesis Data Firehose를 사용하여 클릭스트림 데이터를 캡처합니다. Aws Glue를 사용하여 실시간으로 데이터를 처리합니다.

3. Amazon Kinesis Video Streams를 사용하여 클릭스트림 데이터를 캡처합니다. AWS Glue를 사용하여 실시간으로 데이터를 처리합니다.

4. Apache Flink용 Amazon Managed Service(이전의 Amazon Kinesis Data Analytics)를 사용하여 클릭스트림 데이터를 캡처합니다. AWS Lambda를 사용하여 실시간으로 데이터를 처리합니다.


첫 번째 과정은 “문제의 요구사항 분석하기”입니다.

이 문제에서는 2가지의 요구사항이 존재해요. 

 

1. 실시간 클릭스트림 데이터 수집

2. 변동하는 트래픽 패턴 대응

3. 확장 가능한 솔루션

 

두 번째 과정은 “요구사항과 관련된 AWS 서비스 생각하기”입니다.

  • 실시간 클릭스트림 데이터 수집실시간 데이터 스트리밍
    • Amazon Kinesis Data Streams: 실시간 데이터 스트리밍을 위한 서비스로, 대량의 데이터 스트림을 수집하고 처리하는 데 사용됩니다. 클릭스트림 데이터와 같은 실시간 이벤트를 캡처하고 분석하는 데 적합합니다. 
    • Amazon Kinesis Data Firehose: 데이터 스트림을 실시간으로 수집하고 AWS 서비스에 전송하는 서비스입니다. 데이터의 변환 및 로딩을 자동으로 수행하여 실시간 분석을 지원합니다. 

  • 변동하는 트래픽 패턴 대응자동 확장 및 처리
    • Amazon Kinesis Data Streams: 데이터 수집량에 따라 자동으로 확장할 수 있어, 변동하는 트래픽 패턴에 유연하게 대응할 수 있습니다.
    • AWS Lambda: 서버리스 컴퓨팅 서비스를 제공하여, 트래픽 패턴에 따라 자동으로 확장 가능합니다. 이벤트 기반으로 데이터를 처리하고 분석할 수 있습니다. 
    • Amazon EC2 Auto Scaling: 서버 인스턴스의 수를 자동으로 조정하여 변동하는 트래픽을 처리할 수 있습니다.

  • 확장 가능한 솔루션자동 확장 및 관리
    • Amazon Kinesis Data Firehose: 데이터 수집, 변환 및 전송을 자동으로 수행하여 운영 오버헤드를 줄이고 확장 가능한 솔루션을 제공합니다. 
    • AWS Lambda: 서버리스 컴퓨팅 환경에서 코드 실행을 제공하며, 자동으로 확장되므로 높은 트래픽에 대응할 수 있습니다.
    • Amazon S3: 확장 가능한 객체 스토리지 서비스로, 대량의 데이터를 저장할 수 있으며, 수요에 따라 자동으로 확장됩니다.

마지막 과정은 “위의 정보들을 토대로 정답 선택하기”입니다.

선택지 1

온디맨드 모드에서 Amazon Kinesis Data Streams의 데이터 스트림을 사용하여 클릭스트림 데이터를 캡처합니다. AWS Lambda를 사용하여 실시간으로 데이터를 처리합니다.

  • Amazon Kinesis Data Streams: 실시간으로 대규모 데이터 스트림을 처리할 수 있는 확장 가능한 서비스입니다. 특히 온디맨드 모드에서는 트래픽 변동에 따라 자동으로 용량이 조절되므로 사용량에 따라 비용이 효율적으로 관리됩니다.
  • AWS Lambda: 서버리스 컴퓨팅 서비스로, 데이터 이벤트가 발생할 때 자동으로 실행됩니다. Kinesis Data Streams에서 데이터를 받아 실시간으로 처리하는 데 적합합니다.

정답인 이유:

  1. 온디맨드 모드의 Kinesis Data Streams는 트래픽이 변동할 때 자동으로 확장할 수 있어, 일일 트래픽 변동이 있는 웹사이트에 이상적입니다.
  2. AWS Lambda는 서버를 관리할 필요 없이 실시간으로 데이터를 처리할 수 있으므로, 클릭스트림 데이터를 빠르게 분석하고 처리하는 데 적합합니다.
  3. 이 솔루션은 실시간 데이터 처리를 제공하며, 트래픽 변동에도 쉽게 적응할 수 있습니다.

 

선택지 2

Amazon Kinesis Data Firehose를 사용하여 클릭스트림 데이터를 캡처합니다. AWS Glue를 사용하여 실시간으로 데이터를 처리합니다.

  • Amazon Kinesis Data Firehose: 실시간 스트리밍 데이터를 다양한 대상(S3, Redshift, Elasticsearch 등)으로 전달하는 관리형 서비스입니다. 그러나 데이터 처리보다는 데이터를 저장하는 데 주로 사용됩니다.
  • AWS Glue: 관리형 ETL(Extract, Transform, Load) 서비스로, 주로 배치 처리에 적합하며, 실시간 처리에는 적합하지 않습니다.

정답이 아닌 이유:

  1. Kinesis Data Firehose는 데이터를 실시간으로 캡처하고 저장하는 데는 적합하지만, 실시간 데이터 처리에는 적합하지 않습니다.
  2. AWS Glue는 배치 데이터 처리에 적합하며, 실시간 데이터를 처리하기에는 적합하지 않습니다. 따라서 실시간 분석을 요구하는 이 문제에 적합하지 않은 선택입니다.

선택지 3

Amazon Kinesis Video Streams를 사용하여 클릭스트림 데이터를 캡처합니다. AWS Glue를 사용하여 실시간으로 데이터를 처리합니다.

  • Amazon Kinesis Video Streams: 주로 비디오 스트림 데이터를 캡처하고 처리하는 데 사용되는 서비스입니다. 비디오 데이터를 전송 및 분석하는 용도로 설계되었습니다.
  • AWS Glue: 배치 처리용 ETL 서비스로, 실시간 데이터 처리를 수행하지 않습니다.

정답이 아닌 이유:

  1. Kinesis Video Streams비디오 스트리밍에 특화된 서비스로, 클릭스트림 데이터를 수집하는 데 적합하지 않습니다.
  2. AWS Glue는 실시간 처리 대신 배치 처리를 위한 서비스입니다. 이 조합은 실시간 클릭스트림 데이터 처리를 요구하는 문제의 요구사항에 맞지 않습니다.

 

선택지 4

Apache Flink용 Amazon Managed Service(이전의 Amazon Kinesis Data Analytics)를 사용하여 클릭스트림 데이터를 캡처합니다. AWS Lambda를 사용하여 실시간으로 데이터를 처리합니다.

  • Amazon Kinesis Data Analytics (for Apache Flink): 실시간 스트리밍 데이터를 분석하는 데 적합한 서비스로, Apache Flink를 사용하여 복잡한 스트리밍 분석을 처리할 수 있습니다.
  • AWS Lambda: 서버리스 컴퓨팅 서비스로, 실시간 데이터를 처리하는 데 적합합니다.

정답이 아닌 이유:

  1. **Kinesis Data Analytics (Apache Flink)**는 고급 스트리밍 분석을 수행하는 데 적합하지만, 데이터 스트림 자체를 캡처하는 데 사용되지 않습니다. 클릭스트림 데이터를 캡처하는 작업은 Kinesis Data Streams 또는 Kinesis Data Firehose 같은 서비스가 더 적합합니다.
  2. 클릭스트림 데이터 캡처실시간 처리 모두를 해결하는 데 있어 Kinesis Data StreamsLambda가 더 효율적인 조합입니다.



따라서 정답은 1번 입니다!!!

 

문제에 대한 자세한 용어설명은 더보기를 통해 확인해 주세요!!!

더보기
닫기
더보기

용어 설명 

1.  Amazon Kinesis Data Streams

  • Amazon Kinesis Data Streams는 실시간으로 대량의 데이터를 수집하고 처리할 수 있는 관리형 데이터 스트리밍 서비스입니다.
  • 역할 및 의미: 이 서비스는 실시간 분석을 위해 클릭스트림 데이터와 같은 대규모 데이터를 캡처하는 데 사용됩니다. 특히 수집된 데이터를 실시간으로 처리하여, 사용자의 행동 패턴을 분석할 수 있습니다. 

2.  AWS Lambda

  • AWS Lambda는 서버리스 컴퓨팅 서비스로, 사용자가 서버를 프로비저닝하거나 관리하지 않고 코드를 실행할 수 있도록 해줍니다.
  • 역할 및 의미: 실시간으로 클릭스트림 데이터를 처리하는 데 사용됩니다. 데이터가 Kinesis에 의해 캡처되면, Lambda는 자동으로 확장되어 수집된 데이터를 처리하거나 분석할 수 있습니다. 

3.  Amazon Kinesis Data Firehose

  • Amazon Kinesis Data Firehose는 실시간 데이터를 AWS 서비스로 직접 스트리밍하는 완전 관리형 서비스입니다.
  • 역할 및 의미: 클릭스트림 데이터를 실시간으로 수집하고 변환하며, Amazon S3, Redshift와 같은 데이터 스토리지 서비스로 자동으로 전송할 수 있습니다. 최소한의 관리 오버헤드로 실시간 분석을 위한 데이터를 쉽게 처리할 수 있습니다. 

4.  AWS Glue

  • AWS Glue는 완전 관리형 데이터 통합 서비스로, ETL(Extract, Transform, Load) 작업을 자동화하고 관리할 수 있습니다.
  • 역할 및 의미: 실시간으로 수집된 클릭스트림 데이터를 변환하여 분석할 수 있도록 AWS Glue가 데이터 처리 작업을 수행합니다. 이는 데이터 수집부터 처리까지의 파이프라인을 자동화할 수 있는 중요한 도구입니다.


5.  Amazon Kinesis Video Streams

  • Amazon Kinesis Video Streams는 비디오 데이터 스트림을 실시간으로 캡처, 처리, 저장하는 관리형 서비스입니다.
  • 역할 및 의미: 비디오 및 이미지 기반의 데이터 스트리밍에 사용되며, 실시간 분석을 위해 클릭스트림 데이터에는 주로 적합하지 않지만, 영상 데이터 처리에 유용합니다.

6.  Apache Flink용 Amazon Managed Service

  • Apache Flink는 오픈소스 프레임워크로, 실시간 데이터 스트리밍을 분석하고 처리할 수 있습니다. Amazon Managed Service는 Apache Flink를 AWS에서 관리형 서비스로 제공합니다.
  • 역할 및 의미: 클릭스트림 데이터를 실시간으로 분석하고 처리하는 데 사용할 수 있으며, 복잡한 이벤트 처리나 상태 기반 분석 작업에 적합합니다. 

7.  Amazon Kinesis Data Analytics

  • Kinesis Data Analytics는 실시간 스트리밍 데이터를 처리하고 SQL을 사용하여 실시간 분석을 수행할 수 있는 AWS 서비스입니다.
  • 역할 및 의미: 클릭스트림 데이터를 실시간으로 분석하고 실시간으로 통찰력을 도출하는 데 사용됩니다. 

 

 

 

마지막 문제 살펴볼게요!!


문제

한 글로벌 기업이 AWS에서 워크로드를 실행하고 있습니다. 이 회사의 애플리케이션은 민감한 데이터 저장 및 분석을 위해 AWS 리전 전체에서 Amazon S3 버킷을 사용합니다. 회사는 매 일 수백만 개의 객체를 여러 S3 버킷에 저장합니다. 회사는 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별하려고 합니다.

이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

선택지

1. 여러 지역에서 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별하는 규칙이 있는 AWS CloudTrail 이벤트를 설정합니다.

2. Amazon s3 Storage Lens를 사용하여 여러 지역에서 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별합니다.

3. S3용 IAM 액세스 분석기를 활성화하여 여러 지역에서 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별합니다.

4. S3 다중 지역 액세스 포인트를 생성하여 지역 전체에 걸쳐 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별합니다.


첫 번째 과정은 “문제의 요구사항 분석하기”입니다.

이 문제에서는 5가지의 요구사항이 존재해요. 

 

1. 민감한 데이터 저장 및 분석

2. AWS 리전 전체에서 S3 버킷 사용

3. 매일 수백만 개 객체 저장

4. 버전 관리가 비활성화된 S3 버킷 식별

5. 여러 S3 버킷 관리

 

 

 

 

두 번째 과정은 “요구사항과 관련된 AWS 서비스 생각하기”입니다.

  • 민감한 데이터 저장 및 분석
    • Amazon S3
      Amazon S3는 안전하고 확장 가능한 객체 스토리지 서비스로, 민감한 데이터를 저장하기 위한 암호화 기능과 데이터 보호 기능을 제공합니다. 기본적으로 저장된 데이터는 AES-256 암호화로 보호되며, 버전 관리와 다중 리전 저장 기능으로 데이터 보안을 강화할 수 있습니다.
    • AWS Key Management Service (KMS)
      KMS는 S3와 통합되어 민감한 데이터를 보호하기 위한 암호화 키 관리를 제공합니다. S3 버킷의 데이터는 KMS를 통해 암호화되어 보호되며, 데이터 접근 권한을 세밀하게 제어할 수 있습니다.

  • AWS 리전 전체에서 S3 버킷 사용
    • Amazon S3 Cross-Region Replication
      Amazon S3의 교차 리전 복제 기능을 사용하면 여러 리전에서 데이터를 복제 및 관리할 수 있습니다. 이를 통해 리전 간 데이터 가용성을 보장하고, 애플리케이션이 리전 전반에서 데이터를 사용할 수 있습니다.
  • 매일 수백만 개 객체 저장
    • Amazon S3 Standard
      Amazon S3 Standard는 대규모 데이터 저장을 위해 설계된 스토리지 클래스입니다. 수백만 개의 객체를 효율적으로 저장하고, 고성능을 제공하며, 높은 내구성과 가용성을 보장합니다.
    • Amazon S3 Transfer Acceleration
      Transfer Acceleration은 S3로 전송되는 데이터를 가속화하는 기능으로, 전 세계에서 수백만 개의 객체를 빠르게 업로드할 수 있게 도와줍니다.
  • 버전 관리가 비활성화된 S3 버킷 식별
    • Amazon S3 Storage Lens
      S3 Storage Lens는 여러 S3 버킷에 대한 사용 패턴과 보안 설정을 분석하는 서비스입니다. 이를 통해 버전 관리가 활성화되지 않은 버킷을 식별할 수 있습니다.

  • 여러 S3 버킷 관리
    • AWS Config
      AWS Config는 여러 AWS 리소스의 구성을 추적하고 규칙을 설정하여 변경 사항을 모니터링하는 서비스입니다. 이를 통해 S3 버킷의 설정 상태(버전 관리 포함)를 추적하고, 규정 준수를 위한 감사를 수행할 수 있습니다.

마지막 과정은 “위의 정보들을 토대로 정답 선택하기”입니다.

선택지 1

여러 지역에서 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별하는 규칙이 있는 AWS CloudTrail 이벤트를 설정합니다.

  • AWS CloudTrail
    CloudTrail은 AWS 계정의 API 호출과 관련된 로그를 기록하는 서비스입니다. 이를 통해 누가 어떤 API를 호출했는지 추적할 수 있습니다. CloudTrail은 보안 및 감사 목적으로 유용하지만, S3 버킷의 버전 관리 상태를 직접적으로 확인하거나 식별하는 데는 적합하지 않습니다.
  • 정답이 아닌 이유: CloudTrail은 버전 관리가 활성화되지 않은 버킷을 식별하는 데 직접적인 기능을 제공하지 않으며, API 호출을 추적하는 용도로 사용되므로 이 문제의 요구 사항을 충족하지 않습니다.

 

선택지 2

Amazon S3 Storage Lens를 사용하여 여러 지역에서 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별합니다.

  • Amazon S3 Storage Lens
    S3 Storage Lens는 S3 사용 패턴을 시각화하고 분석하는 도구로, 모든 S3 버킷의 상태를 한눈에 파악할 수 있습니다. 이를 통해 여러 리전에 걸친 S3 버킷의 버전 관리 상태를 확인하고, 버전 관리가 활성화되지 않은 버킷을 쉽게 식별할 수 있습니다. 또한, Storage Lens는 여러 S3 버킷에 대한 통계와 지표를 제공하여 사용자가 버킷의 보안 및 설정 상태를 효율적으로 모니터링할 수 있게 해줍니다.
  • 정답인 이유: S3 Storage Lens는 버전 관리 상태를 분석하고 보고할 수 있는 기능을 제공하므로, 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별하는 데 가장 적합한 도구입니다.

 

선택지 3

S3용 IAM 액세스 분석기를 활성화하여 여러 지역에서 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별합니다.

  • IAM 액세스 분석기
    IAM 액세스 분석기는 AWS 리소스에 대한 액세스 권한을 분석하는 도구로, S3 버킷의 액세스 정책과 권한을 모니터링할 수 있습니다. 이는 보안 설정을 관리하고 적절한 권한이 있는지 확인하는 데 유용하지만, S3 버킷의 버전 관리 상태를 직접적으로 식별하는 기능은 없습니다.
  • 정답이 아닌 이유: IAM 액세스 분석기는 권한과 정책을 분석하는 도구이며, S3 버킷의 버전 관리 상태를 식별하는 기능을 제공하지 않습니다.

 

선택지 4

 

S3 다중 지역 액세스 포인트를 생성하여 지역 전체에 걸쳐 버전 관리가 활성화되지 않은 모든 S3 버킷을 식별합니다.

  • S3 다중 지역 액세스 포인트
    다중 지역 액세스 포인트는 여러 리전에 걸쳐 있는 S3 버킷에 대해 글로벌적으로 접근할 수 있는 단일 액세스 포인트를 제공하는 서비스입니다. 이를 통해 전 세계에서 데이터를 보다 효율적으로 사용할 수 있지만, 버킷의 버전 관리 상태를 식별하는 데에는 직접적인 역할을 하지 않습니다.
  • 정답이 아닌 이유: 다중 지역 액세스 포인트는 데이터 액세스에 중점을 두고 있으며, 버전 관리가 활성화되지 않은 버킷을 식별하는 기능을 제공하지 않으므로 이 문제의 요구 사항과는 맞지 않습니다.

 

따라서 정답은 2번 입니다!!!

 

문제에 대한 자세한 용어설명은 더보기를 통해 확인해 주세요!!!

더보기
닫기
더보기

용어 설명

 

1. Amazon S3 (Simple Storage Service)

  • Amazon S3는 AWS에서 제공하는 객체 스토리지 서비스로, 대규모 데이터를 안정적으로 저장하고 관리할 수 있는 솔루션입니다. S3는 데이터를 객체 단위로 저장하며, 각 객체는 키와 버킷에 의해 관리됩니다.
  • 역할 및 의미: 이 서비스는 민감한 데이터를 포함한 다양한 데이터를 저장할 수 있으며, 글로벌 스케일에서 확장성과 내구성을 제공합니다. 회사는 여러 S3 버킷에 수백만 개의 객체를 저장하며 이를 안전하게 관리할 수 있습니다. 

2. 버전 관리 (Versioning)

  • Amazon S3의 버전 관리 기능은 버킷에 저장된 객체의 여러 버전을 유지하는 기능입니다. 버전 관리가 활성화되면 객체가 덮어쓰여도 이전 버전이 보존됩니다.
  • 역할 및 의미: 민감한 데이터 보호를 위해 버전 관리가 중요한 역할을 합니다. 실수로 객체를 삭제하거나 덮어쓸 경우, 이전 버전으로 복구할 수 있기 때문에 데이터 보호와 무결성 유지에 유리합니다. 

3. AWS CloudTrail

  • AWS CloudTrail은 AWS 계정 내에서 수행된 모든 API 호출을 기록하는 서비스로, 이벤트 로그를 통해 사용자와 서비스의 활동을 추적할 수 있습니다.
  • 역할 및 의미: CloudTrail은 S3와 같은 리소스에서 발생하는 모든 작업을 추적하고 기록하며, 버전 관리가 활성화되지 않은 버킷을 식별하는 규칙을 설정하는 데 활용될 수 있습니다. 이를 통해 보안 감사와 규정 준수 요구 사항을 충족할 수 있습니다. 

4. Amazon S3 Storage Lens

  • S3 Storage Lens는 S3 사용량과 활동에 대한 분석 및 시각화를 제공하는 도구입니다. 이 서비스는 S3 버킷과 객체 스토리지를 모니터링하고, 저장 데이터에 대한 다양한 인사이트를 제공합니다.
  • 역할 및 의미: Storage Lens는 버킷의 버전 관리 상태를 포함한 다양한 스토리지 데이터를 시각화하고 분석할 수 있습니다. 이를 통해 여러 AWS 리전에서 버전 관리가 활성화되지 않은 버킷을 쉽게 식별할 수 있습니다. 

5. IAM 액세스 분석기 (IAM Access Analyzer)

  • IAM Access Analyzer는 AWS 리소스에 대한 액세스 정책을 분석하고, 의도치 않은 공개 접근을 식별하여 보안을 강화하는 도구입니다.
  • 역할 및 의미: IAM Access Analyzer는 주로 리소스의 권한 및 액세스 관련 문제를 식별하는 데 사용되며, 버전 관리가 활성화되지 않은 S3 버킷을 직접적으로 식별하는 데는 적합하지 않지만, 접근 제어와 관련된 보안 상태를 점검할 수 있습니다.

6. S3 다중 지역 액세스 포인트 (S3 Multi-Region Access Points)

  • S3 Multi-Region Access Points는 여러 리전에 걸친 S3 버킷에 단일 엔드포인트로 접근할 수 있도록 지원하는 기능입니다. 이를 통해 전 세계 사용자와 애플리케이션이 더 빠르고 안정적으로 데이터에 접근할 수 있습니다.
  • 역할 및 의미: 여러 지역에 있는 S3 버킷에 대한 접근을 단순화하지만, 버전 관리 상태를 직접적으로 모니터링하거나 식별하는 데 적합하지 않습니다. 

 

 

 

9월의 첫 번째 금요일입니다! 다들 새로운 달을 맞이한 만큼 새로운 마음을 가지셨을텐데요!

여러분 모두 새로운 마음을 가지고 열심히 노력하면 모든 일이 계획한대로 이루어 질 것입니다!!

노력은 자신뿐만아니라 주변에도 힘을낼 수 있는 연료와 같은 힘을 가지고 있습니다!! 🚀

오늘 글이 유익하셨길 바라며, 다음에는 또 다른 문제로 찾아뵙겠습니다.

'AWS > SAA 준비' 카테고리의 다른 글

AWS SAA 합격으로 가는 길 #15  (0) 2024.09.10
AWS SAA 합격으로 가는 길 #14  (0) 2024.09.09
AWS SAA 합격으로 가는 길 #12  (1) 2024.09.05
AWS SAA 합격으로 가는 길 #11  (2) 2024.09.04
AWS SAA 합격으로 가는 길 #10  (5) 2024.09.03