AWS 미드레벨 종합 기술면접
새 면접Q. VPC Peering과 Transit Gateway의 차이점을 설명하고, 10개 이상의 VPC를 연결해야 하는 멀티 리전 환경에서 각각의 네트워크 토폴로지와 라우팅 복잡도를 비교하여 어떤 솔루션을 선택해야 하는지 설명해주세요.
VPC Peering은 두 VPC 간 1:1 연결로 N개 VPC 연결 시 N(N-1)/2개의 Peering이 필요하여 관리가 복잡해집니다. Transit Gateway는 허브-스포크 방식으로 중앙 라우팅 허브를 통해 모든 VPC를 연결하므로 10개 VPC도 10개 연결만 필요합니다. Transit Gateway는 리전 간 피어링을 지원하고 중앙 집중식 라우팅 정책 관리가 가능하여 대규모 멀티 VPC 환경에 적합합니다. 비용은 Transit Gateway가 더 높지만 운영 복잡도 감소와 확장성 측면에서 10개 이상 VPC 환경에서는 Transit Gateway가 권장됩니다.
- • VPC Peering은 1:1 연결로 N개 연결 시 O(N²) 복잡도, Transit Gateway는 허브-스포크로 O(N) 복잡도
- • Transit Gateway는 중앙 집중식 라우팅 테이블 관리와 리전 간 피어링 지원
- • 대규모 환경에서는 운영 복잡도와 확장성 측면에서 Transit Gateway가 유리
- • 비용은 Transit Gateway가 높지만 관리 오버헤드 감소로 TCO 측면에서 이점
Transit Gateway의 라우팅 테이블에서 Blackhole 라우트를 사용하는 이유와 보안 격리를 구현하는 방법을 설명해주세요.
Q. S3에 저장된 수백만 개의 로그 파일에 대해 특정 기간의 데이터만 자주 조회하는 분석 워크로드가 있습니다. S3 Select와 Athena의 동작 원리 차이를 설명하고, 각각의 비용 구조와 성능 특성을 비교하여 어떤 상황에서 어떤 서비스를 선택해야 하는지 설명해주세요.
S3 Select는 단일 객체 내에서 SQL 쿼리를 실행하여 필요한 데이터만 필터링해 반환하므로 네트워크 전송량을 최대 80% 감소시킵니다. Athena는 여러 S3 객체를 스캔하는 서버리스 쿼리 엔진으로 복잡한 조인과 집계를 지원하며 스캔된 데이터량 기준으로 과금됩니다. S3 Select는 단순 필터링과 프로젝션에 적합하고 객체당 요청 비용이 저렴하지만, Athena는 파티션 프루닝과 컬럼나 포맷(Parquet)을 활용한 대규모 분석에 유리합니다. 로그 파일이 시간별로 파티셔닝되고 복잡한 집계가 필요하면 Athena를, 개별 파일에서 특정 레코드만 추출하는 단순 작업이면 S3 Select가 비용 효율적입니다.
- • S3 Select는 단일 객체 내 필터링으로 네트워크 비용 절감, Athena는 다중 객체 복잡 쿼리 지원
- • Athena는 파티션 프루닝과 컬럼나 포맷으로 스캔량 최소화 가능
- • S3 Select는 요청당 과금, Athena는 스캔된 데이터량 기준 과금
- • 워크로드 패턴(단순 필터 vs 복잡 분석)과 데이터 구조에 따라 선택
Athena 쿼리 성능을 최적화하기 위해 데이터를 Parquet 포맷으로 변환하고 파티셔닝할 때, 파티션 키 선택 전략과 파티션 수가 너무 많을 때 발생하는 문제점을 설명해주세요.
Q. Application Load Balancer에서 Connection Draining(Deregistration Delay) 시간을 설정할 때 고려해야 할 요소들을 설명하고, 롱 폴링이나 WebSocket 같은 장시간 연결을 처리하는 애플리케이션에서 무중단 배포를 구현하는 방법을 제시해주세요.
Connection Draining은 타겟 인스턴스가 등록 해제될 때 기존 연결을 유지하면서 새 요청을 받지 않는 시간으로 기본 300초입니다. 설정 시 애플리케이션의 평균 요청 처리 시간, 최대 세션 타임아웃, 배포 속도 요구사항을 고려해야 합니다. WebSocket이나 롱 폴링의 경우 연결이 수분에서 수시간 지속되므로 긴 Draining 시간 설정이 필요하지만 배포 시간이 길어지는 트레이드오프가 있습니다. 무중단 배포를 위해서는 애플리케이션 레벨에서 Graceful Shutdown 구현, 클라이언트 재연결 로직 구현, Blue-Green 배포로 새 환경 준비 후 DNS 전환, 또는 ALB의 타겟 그룹 가중치 기반 점진적 트래픽 이동을 활용할 수 있습니다.
- • Connection Draining은 기존 연결 유지하며 새 요청 차단하는 시간으로 요청 처리 시간 고려 필요
- • 장시간 연결은 긴 Draining 시간 필요하지만 배포 시간 증가 트레이드오프 존재
- • 애플리케이션 레벨 Graceful Shutdown과 클라이언트 재연결 로직 필수
- • Blue-Green 배포나 가중치 기반 점진적 트래픽 이동으로 무중단 배포 구현
ALB의 타겟 그룹 Health Check에서 Healthy Threshold와 Unhealthy Threshold 값을 설정할 때, 간헐적 네트워크 지연이 있는 환경에서 False Positive를 최소화하는 전략을 설명해주세요.
Q. 복잡한 데이터 처리 파이프라인을 Step Functions로 구현할 때, Map State를 사용한 병렬 처리와 Lambda 함수 내부에서 비동기 처리를 하는 방식의 차이점을 설명하고, 각각의 오류 처리, 재시도 전략, 비용 효율성을 비교해주세요.
Step Functions의 Map State는 입력 배열의 각 항목을 독립적인 실행으로 병렬 처리하며 최대 동시 실행 수 제어와 항목별 재시도/오류 처리가 가능합니다. Lambda 내부 비동기 처리는 단일 Lambda 실행 내에서 Promise.all 등으로 병렬화하므로 Lambda 실행 시간과 메모리 제약을 받습니다. Map State는 각 반복의 상태를 Step Functions가 추적하여 특정 항목 실패 시 해당 항목만 재시도 가능하고 실행 이력이 시각화되지만, 상태 전환 비용이 발생합니다. Lambda 비동기는 구현이 복잡하고 일부 실패 시 전체 재시도가 필요하지만 상태 전환 비용이 없어 항목 수가 적고 빠른 처리가 필요할 때 유리합니다. 수천 개 이상 항목 처리나 복잡한 오류 복구가 필요하면 Map State가, 수십 개 이하 빠른 처리는 Lambda 내부 처리가 비용 효율적입니다.
- • Map State는 항목별 독립 실행과 세밀한 오류 처리 가능하지만 상태 전환 비용 발생
- • Lambda 내부 비동기는 실행 시간/메모리 제약 있고 부분 실패 처리 복잡
- • Map State는 실행 추적과 시각화 제공하여 디버깅 용이
- • 항목 수, 처리 시간, 오류 복구 복잡도에 따라 선택
Step Functions의 Express Workflow와 Standard Workflow의 차이점을 설명하고, 각각 어떤 유스케이스에 적합한지 실행 시간, 비용, 내구성 측면에서 비교해주세요.
Q. 수백 대의 EC2 인스턴스에서 보안 패치를 적용해야 하는 상황입니다. Systems Manager Patch Manager와 Run Command의 차이점을 설명하고, 패치 적용 중 일부 인스턴스가 실패했을 때의 롤백 전략과 패치 컴플라이언스를 지속적으로 모니터링하는 방법을 제시해주세요.
Run Command는 일회성 명령 실행 도구로 즉시 스크립트나 명령을 실행하지만, Patch Manager는 패치 베이스라인 정의, 유지관리 기간 스케줄링, 컴플라이언스 추적을 포함한 종합 패치 관리 솔루션입니다. Patch Manager는 패치 그룹별로 단계적 배포가 가능하고 패치 설치 전후 스냅샷 생성을 자동화할 수 있습니다. 실패 시 롤백 전략으로는 사전에 AMI나 EBS 스냅샷 생성, 패치 그룹을 Canary-Dev-Prod 단계로 나누어 점진적 적용, CloudWatch 알람 기반 자동 롤백 트리거 설정이 있습니다. 컴플라이언스 모니터링은 Patch Manager의 Compliance 대시보드와 Systems Manager Inventory를 활용하고, EventBridge로 패치 실패 이벤트를 SNS나 Lambda로 전달하여 자동 대응 체계를 구축할 수 있습니다.
- • Patch Manager는 베이스라인, 스케줄링, 컴플라이언스 추적 포함한 종합 솔루션
- • 패치 그룹별 단계적 배포와 사전 스냅샷 생성으로 리스크 최소화
- • Canary 배포와 CloudWatch 알람 기반 자동 롤백 구현
- • Compliance 대시보드와 EventBridge 통합으로 지속적 모니터링
Systems Manager Session Manager를 사용할 때 SSH 키 관리 없이 인스턴스에 접근하는 원리를 설명하고, 감사 로깅과 세션 기록을 S3와 CloudWatch Logs에 저장하는 방법을 설명해주세요.
아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!