안녕하세요! 넥스트클라우드의 SA 손유림입니다. 😊
오늘도 3문제로 가볍게 시작해요!
문제는 세 가지 단계를 거치며 풀어 나갈 거예요.
1. 문제의 요구사항 분석하기
2. 관련 AWS 서비스 생각하기
3. 선택지 분석하기
바로 문제 풀이 해볼까요?
문제1
서버리스 애플리케이션은 Amazon API Gateway, AWS Lambda 및 Amazon DynamoDB를 사용합니다. Lambda 함수에는 DynamoDB 테이블을 읽고 쓸 수 있는 권한이 필요합 니다. DynamoDB 테이블에 대한 Lambda 함수 액세스를 가장 안전하게 제공하는 솔루션은 무엇입니까?
선택지
A. Lambda 함수에 프로그래밍 방식으로 액세스할 수 있는 IAM 사용자를 생성합니다. DynamoDB 테이블에 대한 읽기 및 쓰기 액세스를 허용하는 정책을 사용자에게 연결합니다. access_key_id 및 secret_access_key 파라미터를 Lambda 환경 변수의 일부로 저장합니다. 다른 AWS 사용자에게 Lambda 함수 구성에 대한 읽기 및 쓰기 액세스 권한이 없는 지 확인하십시오.
B. Lambda를 신뢰할 수 있는 서비스로 포함하는 IAM 역할을 생성합니다. DynamoDB 테이블에 대한 읽기 및 쓰기 액세스를 허용하는 역할에 정책을 연결합니다. 새 역할을 실행 역할로 사용하도록 Lambda 함수의 구성을 업데이트합니다.
C. Lambda 함수에 프로그래밍 방식으로 액세스할 수 있는 IAM 사용자를 생성합니다. DynamoDB 테이블에 대한 읽기 및 쓰기 액세스를 허용하는 정책을 사용자에게 연결합니다. AWS Systems Manager Parameter Store에 access_key_id 및 secret_access_key 파라미터를 보안 문자열 파라미터로 저장합니다. DynamoDB 테이블에 연결하기 전에 보안 문자열 파라미터를 검색하도록 Lambda 함수 코드를 업데이트합니다.
D. DynamoDB를 신뢰할 수 있는 서비스로 포함하는 IAM 역할을 생성합니다. Lambda 함수에서 읽기 및 쓰기 액세스를 허용하는 역할에 정책을 연결합니다. 새 역할에 실행 역할로 연결 되도록 Lambda 함수의 코드를 업데이트합니다.
풀이
Lambda 함수에 DynamoDB 테이블에 대한 읽기 및 쓰기 액세스 권한을 가장 안전하게 제공하는 방법은 IAM 역할을 사용하는 것입니다. IAM 역할은 임시 보안 자격 증명을 제공하므로 최소 권한 원칙을 따르고, 액세스 키를 애플리케이션 코드에 포함할 필요가 없어 보안성이 높습니다.
정답 : B
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- DynamoDB 테이블에 대한 Lambda 함수의 안전한 액세스 권한 부여
- 보안성과 최소 권한 원칙 준수
2. 관련 AWS 서비스 생각하기
AWS Identity and Access Management(IAM)는 AWS 리소스에 대한 안전한 액세스 제어를 제공하는 웹 서비스입니다. IAM 역할은 AWS 계정에 속한 리소스를 크로스 계정 방식으로 액세스할 수 있도록 하는 보안 주체입니다. IAM 역할은 최소 권한 원칙에 따라 필요한 최소한의 권한만 부여하고, 임시 보안 자격 증명을 제공하여 장기 액세스 키와 관련된 보안 위험을 줄일 수 있습니다. Lambda 함수에 IAM 역할을 연결하면 보안 자격 증명을 애플리케이션 코드에 포함할 필요가 없어 보안성이 향상됩니다.
3. 선택지 분석하기
A. Lambda 함수에 프로그래밍 방식으로 액세스할 수 있는 IAM 사용자를 생성합니다. DynamoDB 테이블에 대한 읽기 및 쓰기 액세스를 허용하는 정책을 사용자에게 연결합니다. access_key_id 및 secret_access_key 파라미터를 Lambda 환경 변수의 일부로 저장합니다. 다른 AWS 사용자에게 Lambda 함수 구성에 대한 읽기 및 쓰기 액세스 권한이 없는 지 확인하십시오.
→ IAM 사용자의 액세스 키를 Lambda 환경 변수에 저장하는 것은 보안상 취약할 수 있습니다.
B. Lambda를 신뢰할 수 있는 서비스로 포함하는 IAM 역할을 생성합니다. DynamoDB 테이블에 대한 읽기 및 쓰기 액세스를 허용하는 역할에 정책을 연결합니다. 새 역할을 실행 역할로 사용하도록 Lambda 함수의 구성을 업데이트합니다.
→ Lambda를 신뢰할 수 있는 서비스로 포함하는 IAM 역할을 생성하고, 이 역할을 Lambda 함수의 실행 역할로 사용하는 것이 가장 안전한 방법입니다.
C. Lambda 함수에 프로그래밍 방식으로 액세스할 수 있는 IAM 사용자를 생성합니다. DynamoDB 테이블에 대한 읽기 및 쓰기 액세스를 허용하는 정책을 사용자에게 연결합니다. AWS Systems Manager Parameter Store에 access_key_id 및 secret_access_key 파라미터를 보안 문자열 파라미터로 저장합니다. DynamoDB 테이블에 연결하기 전에 보안 문자열 파라미터를 검색하도록 Lambda 함수 코드를 업데이트합니다.
→ IAM 사용자의 액세스 키를 Parameter Store에 저장하는 것은 역할 기반 액세스보다 보안성이 낮습니다.
D. DynamoDB를 신뢰할 수 있는 서비스로 포함하는 IAM 역할을 생성합니다. Lambda 함수에서 읽기 및 쓰기 액세스를 허용하는 역할에 정책을 연결합니다. 새 역할에 실행 역할로 연결 되도록 Lambda 함수의 코드를 업데이트합니다.
→ DynamoDB를 신뢰할 수 있는 서비스로 포함하여 IAM 역할을 생성하는 것은 부적절합니다. Lambda 함수가 DynamoDB에 액세스할 수 있도록 해야 합니다.
이어서 다음 문제입니다.
문제2
회사에는 동일한 AWS 리전의 Amazon S3 버킷에서 대량의 데이터를 읽고 쓰는 서비스가 있습니다. 이 서비스는 VPC의 프라이빗 서브넷 내 Amazon EC2 인스턴스에 배포됩니다. 이 서비스는 퍼블릭 서브넷의 NAT 게이트웨이를 통해 Amazon S3와 통신합니다. 그러나 회사는 데이터 출력 비용을 줄일 수 있는 솔루션을 원합니다. 이러한 요구 사항을 가장 비용 효율적으로 충족하는 솔루션은 무엇입니까?
선택지
A. 퍼블릭 서브넷에서 전용 EC2 NAT 인스턴스를 프로비저닝합니다. 이 인스턴스의 탄력적 네트워크 인터페이스를 모든 S3 트래픽의 대상으로 사용하도록 프라이빗 서브넷에 대한 라우팅 테이블을 구성합니다.
B. 프라이빗 서브넷에서 전용 EC2 NAT 인스턴스를 프로비저닝합니다. 이 인스턴스의 탄력적 네트워크 인터페이스를 모든 S3 트래픽의 대상으로 사용하도록 퍼블릭 서브넷에 대한 라우팅 테이블을 구성합니다.
C. VPC 게이트웨이 엔드포인트를 프로비저닝합니다. 게이트웨이 엔드포인트를 모든 S3 트래픽의 경로로 사용하도록 프라이빗 서브넷에 대한 경로 테이블을 구성합니다.
D. 두 번째 NAT 게이트웨이를 프로비저닝합니다. 이 NAT 게이트웨이를 모든 S3 트래픽의 대상으로 사용하도록 프라이빗 서브넷에 대한 라우팅 테이블을 구성합니다.
풀이
Amazon S3 버킷으로의 데이터 전송 비용을 없애기 위해서는 VPC 게이트웨이 엔드포인트를 프로비저닝하고, 이 엔드포인트를 모든 S3 트래픽의 대상으로 사용하도록 프라이빗 서브넷의 라우팅 테이블을 구성해야 합니다.
정답 : C
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- S3 버킷으로의 데이터 전송 비용 최소화
- 프라이빗 서브넷에서 NAT 게이트웨이를 통과하지 않고 S3에 직접 액세스
2. 관련 AWS 서비스 생각하기
VPC 엔드포인트는 AWS PrivateLink를 통해 Amazon S3, DynamoDB 등 AWS 서비스로의 트래픽을 프라이빗 네트워크에서 직접 라우팅할 수 있게 해주는 가상 디바이스입니다. 게이트웨이 엔드포인트는 인터넷 게이트웨이나 NAT 게이트웨이를 통과하지 않고도 AWS 서비스에 액세스할 수 있게 합니다. 따라서 데이터 전송 비용이 발생하지 않습니다. 게이트웨이 엔드포인트를 프로비저닝한 후 프라이빗 서브넷의 라우팅 테이블을 구성하여 AWS 서비스로의 트래픽을 엔드포인트로 전송하면 됩니다.
3. 선택지 분석하기
A. 퍼블릭 서브넷에서 전용 EC2 NAT 인스턴스를 프로비저닝합니다. 이 인스턴스의 탄력적 네트워크 인터페이스를 모든 S3 트래픽의 대상으로 사용하도록 프라이빗 서브넷에 대한 라우팅 테이블을 구성합니다.
→ 퍼블릭 서브넷에 NAT 인스턴스를 프로비저닝하는 것은 인터넷 게이트웨이를 통과하므로 데이터 전송 비용이 발생합니다.
B. 프라이빗 서브넷에서 전용 EC2 NAT 인스턴스를 프로비저닝합니다. 이 인스턴스의 탄력적 네트워크 인터페이스를 모든 S3 트래픽의 대상으로 사용하도록 퍼블릭 서브넷에 대한 라우팅 테이블을 구성합니다.
→ 프라이빗 서브넷에 NAT 인스턴스를 프로비저닝하는 것 역시 인터넷 게이트웨이를 통과하므로 데이터 전송 비용이 발생합니다.
C. VPC 게이트웨이 엔드포인트를 프로비저닝합니다. 게이트웨이 엔드포인트를 모든 S3 트래픽의 경로로 사용하도록 프라이빗 서브넷에 대한 경로 테이블을 구성합니다.
→ VPC 게이트웨이 엔드포인트를 프로비저닝하고 라우팅 테이블을 구성하면 NAT 게이트웨이 없이 AWS 서비스에 직접 액세스할 수 있어 데이터 전송 비용이 발생하지 않습니다.
D. 두 번째 NAT 게이트웨이를 프로비저닝합니다. 이 NAT 게이트웨이를 모든 S3 트래픽의 대상으로 사용하도록 프라이빗 서브넷에 대한 라우팅 테이블을 구성합니다.
→ 추가적인 NAT 게이트웨이를 프로비저닝해도 데이터 전송 비용 발생 문제를 해결하지 못합니다.
마지막 문제 살펴볼게요.
문제3
회사는 Auto Scaling 그룹의 Application Load Balancer(ALB) 뒤에 있는 Amazon EC2 인스턴스에서 전자상거래 웹 사이트를 운영합니다. 사이트에서 IP 주소가 변경되는 불법 외부 시스템의 높은 요청 비율과 관련된 성능 문제가 발생하고 있습니다. 보안 팀은 웹 사이트에 대한 잠재적인 DDoS 공격에 대해 걱정하고 있습니다. 회사는 합법적인 사용자에게 최소한의 영향을 미치는 방식으로 불법적으로 들어오는 요청을 차단해야 합니다.
선택지
A. Amazon Inspector를 배포하고 ALB와 연결합니다.
B. AWS WAF를 배포하고 ALB와 연결하고 속도 제한 규칙을 구성합니다.
C. 들어오는 트래픽을 차단하기 위해 ALB와 연결된 네트워크 ACL에 규칙을 배포합니다.
D. Amazon GuardDuty를 배포하고 GuardDuty를 구성할 때 속도 제한 보호를 활성화합니다.
풀이
AWS WAF(Web Application Firewall)를 ALB와 연결하고 속도 제한 규칙을 구성하면 웹 애플리케이션에 대한 잠재적 DDoS 공격을 효과적으로 방어할 수 있습니다. WAF는 사용자 지정 가능한 웹 트래픽 필터링 규칙을 제공하여 악의적인 트래픽을 차단하고, 속도 제한 규칙을 통해 특정 IP 주소에서 과도한 요청이 들어올 경우 이를 차단할 수 있습니다. 이를 통해 합법적인 사용자에게 미치는 영향을 최소화할 수 있습니다.
정답 : B
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 웹 애플리케이션에 대한 DDoS 공격 방어
- 합법적인 사용자에 미치는 영향 최소화
2. 관련 AWS 서비스 생각하기
AWS WAF(Web Application Firewall)는 웹 애플리케이션 방화벽 서비스로, 애플리케이션 로드 밸런서(ALB), API Gateway 등 클라우드 리소스에 배포하여 웹 애플리케이션을 보호할 수 있습니다. WAF는 사용자 지정 가능한 웹 트래픽 필터링 규칙을 제공하여 악의적인 트래픽을 차단하고 합법적인 트래픽만 허용합니다. 속도 제한 규칙은 특정 IP 주소나 IP 범위에서 일정 시간 동안 허용되는 요청 수를 제한하여 DDoS 공격을 방어할 수 있습니다. 또한 지리적 위치 및 HTTP 헤더, 쿼리 문자열 등 다양한 조건을 기반으로 트래픽을 필터링할 수 있습니다.
Amazon GuardDuty는 위협 탐지 서비스로, AWS 계정 및 워크로드 모니터링을 통해 잠재적인 보안 위협을 감지하고 알려줍니다.
Amazon Inspector는 EC2 인스턴스에 대한 보안 취약점 평가 및 검사 서비스로, DDoS 공격 방어에는 적합하지 않습니다.
3. 선택지 분석하기
A. Amazon Inspector를 배포하고 ALB와 연결합니다.
→ Amazon Inspector는 EC2 인스턴스의 보안 취약점을 검사하므로 웹 애플리케이션에 대한 DDoS 공격 방어에 적합하지 않습니다.
B. AWS WAF를 배포하고 ALB와 연결하고 속도 제한 규칙을 구성합니다.
→ AWS WAF를 ALB와 연결하고 속도 제한 규칙을 구성하면 과도한 요청을 효과적으로 필터링하여 DDoS 공격을 방어할 수 있으며, 합법적인 사용자에게 미치는 영향을 최소화할 수 있습니다.
C. 들어오는 트래픽을 차단하기 위해 ALB와 연결된 네트워크 ACL에 규칙을 배포합니다.
→ 네트워크 ACL 규칙은 전체 IP 주소를 차단하므로 합법적인 사용자에게도 영향을 미칠 수 있습니다.
D. Amazon GuardDuty를 배포하고 GuardDuty를 구성할 때 속도 제한 보호를 활성화합니다.
→ Amazon GuardDuty는 위협 탐지 서비스이며 DDoS 공격 방어 기능이 없습니다.
감사합니다. 다음 글에서 만나요! 😊
'AWS > SAA 준비' 카테고리의 다른 글
AWS SAA 합격으로 가는 길 #121 (1) | 2025.10.03 |
---|---|
AWS SAA 합격으로 가는 길 #120 (0) | 2025.09.29 |
AWS SAA 합격으로 가는 길 #119 (0) | 2025.09.26 |
AWS SAA 합격으로 가는 길 #118 (0) | 2025.09.22 |
AWS SAA 합격으로 가는 길 #117 (0) | 2025.09.19 |