AWS SAA 덤프 문제 풀이 1
최근 인프라와 클라우드에 관심이 생기면서 AWS를 공부하기 시작했다.
그러던 중 AWS 공인 자격증인 SAA(Solutions Architect Associate)를 알게 되었고,
체계적으로 공부해 보고자 덤프문제를 풀이해보고 정리하여 기록해 보려 한다.
문제 1
한 회사에서 300개 이상의 글로벌 웹사이트와 애플리케이션을 호스팅 합니다.
이 회사는 매일 30TB 이상의 클릭스트림 데이터를 분석할 플랫폼이 필요합니다.
솔루션 설계자는 클릭스트림 데이터를 전송하고 처리하기 위해 무엇을 해야 합니까?
선택지
- 데이터를 Amazon S3 버킷에 보관하고 데이터로 Amazon EMR 클러스터를 실행하여 분석을 생성하도록 AWS Data Pipeline을 설계합니다.
- Amazon EC2 인스턴스의 Auto Scaling 그룹을 생성하여 데이터를 처리하고 Amazon Redshift가 분석에 사용할 수 있도록 Amazon S3 데이터 레이크로 보냅니다.
- 데이터를 Amazon CloudFront에 캐시합니다. 데이터를 Amazon S3 버킷에 저장합니다. 객체가 S3 버킷에 추가될 때. AWS Lambda 함수를 실행하여 분석을 위해 데이터를 처리합니다.
- Amazon Kinesis Data Streams에서 데이터를 수집합니다. Amazon Kinesis Data Firehose를 사용하여 데이터를 Amazon S3 데이터 레이크로 전송합니다. 분석을 위해 Amazon Redshift에 데이터를 로드합니다.
정답 : 4
용어 및 개념 정리
Amazon EC2 (Elastic Compute Cloud) :
- 확장 가능한 온디맨드 컴퓨팅 용량을 제공하는 서비스이다.
- EC2를 사용하면 필요한 만큼 가상 서버를 프로비저닝하여, 보안 및 네트워킹을 구성하고, 스토리지를 관리할 수 있다.
On-Demand(온디맨드)
- 기본적으로 사용하는 과금 방식으로, 사용한 시간 만큼 비용을 지불하는 형태
가상 서버 프로비저닝
- IT자원을 미리 준비해두어 필요시 즉시 사용할 수 있도록 한다.
Elastic Load Balancing
- 하나 이상의 가용 영역에 있는 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 수신 트래픽을 자동으로 분산시키는 서비스이다.
- 트래픽을 여러 EC2 인스턴스로 분산시켜 가용성 및 안정성을 보장해준다.
Amazon Redshift
대규모 데이터 집합에 대한 분석을 위한 데이터 웨어하우스 서비스이다.
대규모 데이터를 빠르게 쿼리 및 분석할 수 있다.
- Amazon Redshift Spectrum: 데이터를 Amazon Redshift 테이블에 로드하지 않고도 S3의 파일에서 정형 및 비정형 데이터를 효율적으로 쿼리하고 가져올 수 있다.
데이터를 옮기는 데 드는 시간과 비용이 발생 -> 해결 -> Amazon Redshift Spectrum (더 유연하고 효율적으로 다룰 수 있음)
Amazon Athena (아테나) :
- S3에 저장된 데이터를 SQL을 사용하여 직접 쿼리 할 수 있는 서버리스 서비스이다.
- 매일 30TB 이상의 데이터를 즉시 분석할 수 있어 클릭스트림 데이터 분석에 매우 유용
Amazon QuickSight:
대화형 대시보드와 시각화 기능을 제공 클릭스트림 데이터의 분석 결과를 시각적으로 표현하여 비즈니스 의사 결정을 지원한다.
Amazon Kinesis (키니시스 / 키네이시스):
- 비디오 및 데이터 스트림을 실시간으로 수집, 처리, 분석할 수 있는 서비스이다.
AWS Lamda: 이벤트 기반으로 코드를 실행하여 실시간 데이터를 처리할 수 있는 서버리스 컴퓨티 서비스
오답 이유
데이터를 Amazon S3 버킷에 보관하고 데이터로 Amazon EMR 클러스터를 실행하여 분석을 생성하도록 AWS Data Pipeline을 설계합니다.
- Amazon EMR: 대규모 데이터를 처리하는 관리형 클러스터 서비스
- 대규모 배치 데이터 처리에 적합하지만 스트리밍 데이터 처리를 위한 낮은 지연 시간과 즉시성을 제공하지 않음
- Amazon EMR: 대규모 데이터를 처리하는 관리형 클러스터 서비스
Amazon EC2 인스턴스의 Auto Scaling 그룹을 생성하여 데이터를 처리하고 Amazon Redshift가 분석에 사용할 수 있도록 Amazon S3 데이터 레이크로 보냅니다.
- Amazon EC2와 Auto Scaling은 실시간 데이터 스트리밍을 효과적으로 처리하지 못함.
데이터를 Amazon CloudFront에 캐시합니다. 데이터를 Amazon S3 버킷에 저장합니다.
객체가 S3 버킷에 추가될 때. AWS Lambda 함수를 실행하여 분석을 위해 데이터를 처리합니다.Amazon CloudFront: 웹 콘텐츠를 캐싱 하여 사용자에게 빠르고 안전하게 전달하는 서비스 - ( 네트워크(CDN) 서비스 )
CDN: 세계에 분산된 서버(엣지 서버)에 웹 콘텐츠(이미지, 영상, HTML 등)를 복사해 저장하고, 사용자와 가장 가까운 서버에서 콘텐츠를 빠르게 전달하는 기술클릭스트림 데이터의 실시간 수집 및 처리에는 적절하지 않다. 데이터 수집 및 처리를 위한 기능은 없다.
문제 2
한 로봇 회사가 의료 수술을 위한 솔루션을 설계하고 있습니다.
로봇은 고급 센서, 카메라 및 AI 알고리즘을 사용하여 환경을 인식하고 수술을 완료합니다.
회사에는 백엔드 서비스와의 원활한 통신을 보장할 AWS 클라우드의 공용 로드 밸런서가 필요합니다.
로드 밸런서는 쿼리 문자열을 기반으로 트래픽을 다른 대상 그룹으로 라우팅할 수 있어야 합니다.
트래픽도 암호화되어야 합니다.
어떤 솔루션이 이러한 요구 사항을 충족합니까?
선택지
- ACM(AWS Certificate Manager)에서 첨부된 인증서와 함께 Application Load Balancer를 사용합니다. 쿼리 매개변수 기반 라우팅을 사용합니다.
- Network Load Balancer를 사용하십시오. AWS Identity and Access Management(IAM)에서 생성된 인증서를 가져옵니다. 인증서를 로드 밸런서에 연결합니다. 쿼리 매개변수 기반 라우팅을 사용합니다.
- 게이트웨이 로드 밸런서를 사용합니다. AWS Identity and Access Management(IAM)에서 생성된 인증서를 가져옵니다. 인증서를 로드 밸런서에 연결합니다. HTTP 경로 기반 라우팅을 사용합니다.
- ACM(AWS Certificate Manager)에서 첨부된 인증서와 함께 Network Load Balancer를 사용하십시오. 쿼리 매개변수 기반 라우팅을 사용합니다.
정답: 1번
용어 및 개념 정리
AWS 클라우드의 공용 로드 밸런서
Application Load Balancer (ALB): 7계층 애플리케이션 계층에서 작동, http및 https 트래픽을 처리하는 로드 밸런서- 고가용성과 자동확장 기능을 제공
- HTTP/HTTPS 요청의 쿼리 문자열, 경로, 헤더 등을 기반으로 세밀한 라우팅규칙을 설정할 수 있음 ( 중요 )
Network Load Balancer (NLB): 4계층 전송 계층에서 작동, TCP 및 UDP 트래픽을 처리하는 로드 밸런서- TCP 및 UDP 트래픽을 처리하여 매우 낮은 지연 시간을 제공
- 초당 수백만 개의 요청을 처리할 수 있으며, 높은 성능과 안정성을 요구하는 애플리케이션에 적합
Gateway Load Balancer (GWLB): 3계층 네트워크 계층에서 작동, 주로 네트워크를 보호하는 특별한 도구들을 설치하고 관리하는데 사용하는 AWS 관리형 서비스- GWLB는 트래픽 중계 및 네트워크 보안 기능을 손쉽게 통합할 수 있게 해준다.
Classic Load Balancer (CLB): AWS에서 제공하는 초기 로드 밸런서로, 4계층(TCP)과 7계층(http/https) 로드밸런싱을 모두 지원
로드 밸런서 트래픽 암호화
AWS Certificate Manager (ACM): SSL/TLS 인증서를 쉽게 생성, 관리 및 배포할 수 있도록 도와주는 서비스
문제 3
솔루션 설계자는 Amazon EC2 인스턴스를 호스팅하는 VPC 네트워크를 보호해야 합니다.
EC2 인스턴스는 매우 민감한 데이터를 포함하고 프라이빗 서브넷에서 실행됩니다.
회사 정책에 따라 VPC에서 실행되는 EC2 인스턴스는 타사 URL을 사용하는 소프트웨어 제품 업데이트를 위해 인터넷에서 승인된 타사 소프트웨어 리포지토리에만 액세스할 수 있습니다.
다른 인터넷 트래픽은 차단되어야 합니다.
어떤 솔루션이 이러한 요구 사항을 충족합니까?
선택지
- 아웃바운드 트래픽을 AWS 네트워크 방화벽으로 라우팅하도록 프라이빗 서브넷의 라우팅 테이블을 업데이트합니다. 도메인 목록 규칙 그룹을 구성합니다.
- AWS WAF 웹 ACL을 설정합니다. 소스 및 대상 IP주소 범위 집합을 기반으로 트래픽 요청을 필터링하는 사용자 지정 규칙 집합을 만듭니다.
- 엄격한 인바운드 보안 그룹 규칙을 구현합니다. URL을 지정하여 인터넷에서 승인된 소프트웨어 리포지토리에 대한 트래픽만 허용하는 아웃바운드 규칙을 구성합니다.
- EC2 인스턴스 앞에 Application Load Balancer(ALB)를 구성합니다. 모든 아웃바운드 트래픽을 ALB로 보냅니다. 인터넷에 대한 아웃바운드 액세스를 위해 ALB의 대상 그룹에서 URL 기반 규칙 리스너를 사용합니다.
선택지 분석
- 아웃바운드 트래픽을 AWS 네트워크 방화벽으로 라우팅하도록 프라이빗 서브넷의 라우팅 테이블을 업데이트합니다. 도메인 목록 규칙 그룹을 구성한다.
- 네트워크 레벨에서 트래픽을 검사하고 제어하는 관리형 방확벽 서비스 - #### 라우팅 테이블:
- VPC 내에서 네트워크 트래픽이 라우팅되는 방식을 정의한다.
- 라우팅 테이블을 사용하여 프라이빗 서브넷의 모든 아웃바운드 트래픽이 AWS 네트워크 방화벽을 통하도록 설정한다. - #### 도메인 목록 규칙 그룹:
- 특정 도메인 목록을 기반으로 트래픽을 필터링한다.
- 승인된 도메인에만 접근을 허용하고, 나머지 도메인은 차단할 수 있다.
프라이빗 서브넷에서 나가는 모든 아웃바운드 트래픽을 AWS 네트워크 방화벽을 통해 라우팅하고,
도메인 목록 규칙 그룹을 사용하여 승인된 소프트웨어 리포지토리에 대한 트래픽만 허용하는 효과적인 방법
정답 : 1번
- AWS WAF 웹 ACL을 설정합니다.
소스 및 대상 IP주소 범위 집합을 기반으로 트래픽 요청을 필터링하는 사용자 지정 규칙 집합을 만듭니다.- AWS WAF (Web Application Firewall): 웹 애플리케이션을 악성 트래픽으로부터 보호하는 서비스
- (sql 인젝션, XSS 등). 애플리케이션 레벨의 공격을 방어 한다.
- 웹 ACL: AWS WAF를 사용하여 웹 애플리케이션에 대한 접근 제어를 설정한다. 사용자가 지정 규칙 집합을 통해 소스 및 대상 IP주소 범위를 기반으로 트래픽 요청을 필터링할 수 있다.
AWS WAF는 주로 웹 애플리케이션에 대한 보호를 제공, 네트워크 레벨의 트리팩 필터링에는 적합하지 않는다
- AWS WAF (Web Application Firewall): 웹 애플리케이션을 악성 트래픽으로부터 보호하는 서비스
- 엄격한 인바운드 보안 그룹 규칙을 구현합니다. URL을 지정하여 인터넷에서 승인된 소프트웨어 리포지토리에 대한 트래픽만 허용하는 아웃바운드 규칙을 구성합니다.
- AWS Security Groups: VPC 내에서 인스턴스 수준의 트래픽을 제어하는 방화벽 역할을 합니다.
- 인바운드 및 아웃바운드 트래픽 제어가 가능합니다.
- 아웃바운드 규칙 구성: 보안 그룹의 아웃바운드 규칙을 사용하여 승인된 소프트웨어 리포지토리에 대한 트래픽만 허용하고, 나머지 트래픽을 차단할 수 있다.
선택지가 정답이 아닌 이유는 보안 그룹은 인스턴스 수준에서 트래픽을 제어하는 데 적합하지만, 도메인 이름으로 아웃바운드 트래픽을 필터링할 수 없으며, URL 기반 필터링에는 한계가 있다.
- AWS Security Groups: VPC 내에서 인스턴스 수준의 트래픽을 제어하는 방화벽 역할을 합니다.
- EC2 인스턴스 앞에 Application Load Balancer(ALB)를 구성합니다.
모든 아웃바운드 트래픽을 ALB로 보냅니다.
인터넷에 대한 아웃바운드 액세스를 위해 ALB의 대상 그룹에서 URL 기반 규칙 리스너를 사용합니다.- Application Load Balancer (ALB): HTTP/HTTPS 트래픽을 처리하기 위해 설계된 로드 밸런서로, URL 기반 라우팅, SSL 종료, 웹소켓 및 HTTP/2 지원 등의 기능을 제공한다.
- URL 기반 규칙 리스너: ALB의 리스너 규칙을 사용하여 특정 URL에 대한 트래픽을 대상 그룹으로 라우팅할 수 있다.
선택지가 정답이 아닌 이유는 ALB는 주로 인바운드 트래픽을 처리하는 데 사용되며, 아웃바운드 트래픽을 제어하는 데는 적합하지 않기 때문입니다. 또한, URL 기반 아웃바운드 필터링을 직접 지원하지 않는다.