1-2. 안전한 워크로드 및 애플리케이션을 설계

이재영·2025년 4월 10일

✅ 태스크 설명 2: 안전한 워크로드 및 애플리케이션을 설계합니다.

1. 애플리케이션 구성 및 인증 정보 보호

핵심 개념:

  • 환경 변수에 인증 정보를 하드코딩 ❌
  • IAM 역할을 통한 접근 권한 부여 ✅
  • AWS Secrets Manager / AWS Systems Manager Parameter Store 를 사용해 자격 증명 저장 ✅

시험에 나오는 방식:

  • Lambda, EC2 등에서 IAM 역할로 자격 증명 보호
  • Secrets Manager vs Parameter Store 용도 구분

예상 문제:

Q. EC2 인스턴스에서 S3 버킷에 접근해야 한다. 가장 안전한 방법은 무엇인가?
A. IAM 역할을 EC2 인스턴스에 할당하여 액세스 권한을 부여한다.
❌ 옵션 예시: 자격 정보를 인스턴스에 환경 변수로 저장


2. AWS 서비스 엔드포인트와 프라이빗 연결

핵심 개념:

  • 퍼블릭 인터넷을 거치지 않고 AWS 서비스에 연결
  • VPC 엔드포인트 (Interface, Gateway) 사용

시험에 나오는 방식:

  • S3나 DynamoDB에 프라이빗하게 접근하는 법?
  • VPC 엔드포인트 (Gateway for S3/DynamoDB, Interface for others)

예상 문제:

Q. 프라이빗 서브넷에서 인터넷을 거치지 않고 S3에 안전하게 접근하는 방법은?
A. Gateway VPC 엔드포인트를 설정한다.


3. VPC 보안 구성요소 (보안 그룹, NACL, NAT 등)

핵심 개념:

  • 보안 그룹: stateful, 인스턴스 레벨
  • NACL: stateless, 서브넷 레벨
  • NAT Gateway: 프라이빗 인스턴스에서 인터넷 접속 허용

시험에 나오는 방식:

  • 인바운드/아웃바운드 규칙 설정 문제
  • 퍼블릭 ↔ 프라이빗 서브넷 분리 설계
  • 인터넷 게이트웨이 vs NAT 게이트웨이 구분

예상 문제:

Q. 프라이빗 서브넷의 인스턴스가 S3에 접속해야 한다. 퍼블릭 IP는 없어야 한다. 해결 방법은?
A. NAT Gateway를 퍼블릭 서브넷에 설정하고, 라우팅 테이블을 통해 연결한다.


4. 보안 서비스 선택 (WAF, Shield, Macie, Cognito 등)

핵심 개념 및 상황별 용도:

  • Amazon WAF: SQL Injection, XSS 차단
  • AWS Shield: DDoS 방어 (Standard 기본 제공, Advanced 선택)
  • Amazon Macie: S3 내 민감한 정보 자동 탐지
  • Amazon Cognito: 사용자 인증/로그인 서비스

예상 문제:

Q. 웹 애플리케이션에서 사용자가 입력하는 필드에 SQL Injection 공격이 발생할 수 있다. 어떤 서비스를 활용해야 하는가?
A. Amazon WAF


5. 외부 연결 보호 (VPN, Direct Connect)

핵심 개념:

  • VPN: 암호화된 인터넷 터널
  • AWS Direct Connect: 전용 네트워크 연결 (저지연, 안정성↑)

시험에 나오는 방식:

  • 온프레미스 ↔ AWS 간 보안 연결 구성 선택 문제

예상 문제:

Q. 금융 회사가 온프레미스 데이터 센터와 AWS 간 고속, 안정적인 연결이 필요하다. 가장 적절한 옵션은?
A. AWS Direct Connect


✅ 예상문제 1 – IAM 역할 & 자격 증명 보호

Q1. 한 개발자가 Lambda 함수에서 RDS에 접근하려고 한다. 자격 증명을 안전하게 저장하고 주기적으로 교체하는 것이 요구된다. 가장 적절한 방식은?

A. Lambda 환경 변수에 사용자 이름/비밀번호를 저장
B. Secrets Manager에 자격 증명을 저장하고 Lambda가 참조
C. IAM 사용자로 자격 증명을 발급하고 코드에 하드코딩
D. Parameter Store에 평문으로 저장

✅ 정답: B

해설:

  • Lambda에서 인증 정보를 안전하게 사용하는 최선의 방식은 Secrets Manager 연동.
  • 환경 변수나 코드 하드코딩은 보안상 위험.
  • Parameter Store는 암호화 설정 없으면 평문 저장 가능성 있음.

✅ 예상문제 2 – VPC 엔드포인트

Q2. S3 버킷에 접근해야 하는 EC2 인스턴스가 퍼블릭 인터넷을 거치지 않도록 구성하려고 한다. 어떤 리소스를 사용해야 하는가?

A. NAT Gateway
B. VPC Gateway Endpoint
C. Internet Gateway
D. VPC Peering

✅ 정답: B

해설:

  • S3에 대한 프라이빗 접근에는 Gateway VPC Endpoint 사용
  • NAT Gateway는 인터넷 거치는 방식이므로 ❌
  • VPC Peering은 VPC 간 통신 목적

✅ 예상문제 3 – 보안 그룹 vs NACL

Q3. VPC 내에서 EC2 인스턴스가 특정 포트만 허용되도록 하고자 한다. 상태 기반이며 인스턴스 수준에서 동작하는 보안 계층은?

A. NAT Gateway
B. Network ACL
C. 보안 그룹
D. 라우팅 테이블

✅ 정답: C

해설:

  • 보안 그룹은 stateful, 인스턴스 수준에서 작동
  • NACL은 stateless하며 서브넷 수준, 인바운드/아웃바운드 규칙 분리 필요

✅ 예상문제 4 – Shield vs WAF

Q4. 웹 애플리케이션이 DDoS 공격을 받고 있다. 아래 중 가장 적절한 보호 솔루션은?

A. AWS Macie
B. AWS WAF
C. AWS Shield
D. IAM 정책 강화

✅ 정답: C

해설:

  • AWS Shield는 DDoS 공격 방어에 특화된 서비스
  • WAF는 주로 SQL Injection, XSS 방어용

✅ 예상문제 5 – SQL Injection 방어

Q5. 웹 사이트에 사용자 입력 필드가 있고, SQL Injection 위험이 있다. 어떻게 보호해야 하는가?

A. S3 버킷 암호화
B. AWS WAF 설정
C. IAM 정책 제한
D. CloudTrail 활성화

✅ 정답: B

해설:

  • AWS WAF는 웹 계층 공격(SQL Injection, XSS) 방지
  • IAM 정책은 자격 증명 관리이지, 웹 공격 방지 용도는 아님

✅ 예상문제 6 – Cognito

Q6. 모바일 앱에서 사용자 등록 및 소셜 로그인을 구현하려 한다. 가장 적합한 서비스는?

A. AWS IAM
B. AWS SSO
C. Amazon Cognito
D. AWS KMS

✅ 정답: C

해설:

  • Amazon Cognito는 사용자 인증/권한 관리 플랫폼
  • IAM은 AWS 리소스 접근 제어용이지, 최종 사용자 인증용은 아님

✅ 예상문제 7 – 외부 연결 (VPN)

Q7. 고객의 온프레미스 데이터센터와 AWS VPC를 연결해야 한다. 일시적이며 인터넷을 통한 암호화된 연결이 필요하다. 적절한 옵션은?

A. Direct Connect
B. Site-to-Site VPN
C. NAT Gateway
D. VPC Peering

✅ 정답: B

해설:

  • VPN은 인터넷 기반 암호화 터널 연결
  • Direct Connect는 전용선 기반으로 시간, 비용이 더 많이 듦

✅ 예상문제 8 – NAT Gateway vs IGW

Q8. 프라이빗 서브넷에 있는 인스턴스에서 외부 인터넷에 접근은 가능하지만 외부에서 인바운드 트래픽은 차단하고자 한다. 어떤 구성이 적절한가?

A. 퍼블릭 IP 할당
B. Internet Gateway
C. NAT Gateway
D. VPN 연결

✅ 정답: C

해설:

  • NAT Gateway는 프라이빗 인스턴스가 아웃바운드로 인터넷 접근하도록 허용, 반대 방향은 차단
  • IGW는 퍼블릭 인스턴스를 위한 것

✅ 예상문제 9 – Macie

Q9. 보안 팀이 S3 버킷에 저장된 민감 정보(PII)를 자동으로 식별하고자 한다. 어떤 서비스를 사용해야 하는가?

A. Amazon Inspector
B. AWS Macie
C. AWS Config
D. AWS CloudTrail

✅ 정답: B

해설:

  • Macie는 S3 내의 민감 정보 탐지에 최적화된 서비스
  • Inspector는 EC2 보안 취약점 점검용

✅ 예상문제 10 – 퍼블릭/프라이빗 서브넷 설계

Q10. 보안 설계를 위해 웹 서버는 인터넷과 통신할 수 있어야 하고, DB 서버는 외부 접근이 불가능해야 한다. 가장 적절한 네트워크 아키텍처는?

A. 모두 퍼블릭 서브넷
B. 모든 트래픽 NAT Gateway로 라우팅
C. 웹은 퍼블릭, DB는 프라이빗 서브넷 구성
D. DB 서버에 퍼블릭 IP 할당

✅ 정답: C

해설:

  • 일반적인 안전한 설계: 웹 = 퍼블릭, DB = 프라이빗
  • DB에 퍼블릭 IP 할당은 위험하며 시험에서 항상 피해야 할 선택지

항목설명
IAM 역할을 통한 자격 증명 보호Secrets Manager, 역할 기반 권한
VPC 엔드포인트퍼블릭 트래픽 없이 AWS 서비스 접근
보안 그룹 / NACL / NAT / IGWVPC 보안 아키텍처 설계
WAF / Shield / Macie / Cognito보안 서비스 선택
VPN / Direct Connect온프레미스 연결 시나리오

profile
how to define. how to solve.

0개의 댓글