Q151 회사가 온프레미스 데이터 센터를 AWS로 마이그레이션하려 합니다. 규정 준수의 이유로 'ap-northeast-3(오사카)' 리전만 사용해야 하며, 결코 VPC를 인터넷에 연결해서는 안 됩니다. 이 까다로운 조건을 만족하는 가장 안전한 방법 두 가지를 고른다면? AWS Control Tower의 가드레일을 사용하여 인터넷 액세스를 차단하고, 지정된 리전 외의 접근을 거부합니다. AWS WAF 규칙을 통해 인터넷 접속을 막고, 계정 설정에서 리전 접근 권한을 제한합니다. AWS Organizations의 서비스 제어 정책(SCP)을 설정하여 인터넷 접속을 차단하고, 타 리전 사용을 금지합니다. VPC 네트워크 ACL에서 모든 아웃바운드 트래픽을 거부하고, 사용자별로 리전 제한 IAM 정책을 부여합니다. AWS Config 규칙을 활성화하여 인터넷 게이트웨이 생성을 감시하고 타 리전 리소스를 탐지합니다. 정답 확인 및 해설 📖 해설 정답은 A와 C입니다. 기업의 전사적인 정책을 강제하고 특정 리전만 사용하도록 '박제'하는 데는 AWS Control Tower와 Organizations의 서비스 제어 정책(SCP)이 가장 강력한 도구입니다. Control Tower의 가드레일은 데이터 상주 요건을 지키기에 최적화되어 있으며, SCP는 루트 수준에서 어떤 서비스나 리전도 쓰지 못하게 딱 막아버릴 수 있어 최고의 보안 컨트롤 타워 역할을 수행합니다. 다른 옵션인 B의 WAF는 웹 공격 방어용이지 인프라 정책 제어용이 아니며, D는 관리가 너무 복잡해져서 실수가 나올 확률이 높습니다. E의 Config는 문제가 터진 후 '알림'을 주는 용도라 선제적인 '차단'이 필요한 이번 요구 사항에는 2% 부족합니다. 💡 이 문제의 핵심 용어 AWS Control Tower: 여러 계정을 안전하게 관리하고 보안 가이드라인(가드레일)을 자동으로 적용해주는 서비스 SCP (Service Control Policy): 조직 내 계정들이 할 수 있는 행동의 최대 한도를 정하는 가장 강력한 보안 정책 ap-northeast-3: 일본 오사카 리전의 고유 코드이름
Q152 신입 사원 교육용 웹 앱이 매일 12시간만 사용됩니다. 회사는 비용을 획기적으로 아끼기 위해 MySQL용 RDS 인스턴스를 사용하지 않는 시간에는 꺼두고 싶어 합니다. 이를 자동화하기 위한 가장 세련된 방법은? Systems Manager를 통해 DB 자동 시작/중지 설정을 구성합니다. DB가 꺼진 동안 캐시 데이터를 보여줄 수 있게 ElastiCache를 도입합니다. EC2 인스턴스를 띄우고 크론탭(Cron) 작업을 설정하여 RDS 상태를 제어합니다. Lambda 함수로 시작/중지 로직을 짜고, EventBridge 예약 규칙으로 특정 시간에 실행되게 합니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. 서버 관리 없이 정해진 시간에만 딱 일을 시키고 싶을 때는 'Lambda + EventBridge' 조합이 진리입니다. EventBridge가 마치 자람종처럼 약속된 시간에 Lambda를 깨우면, Lambda가 RDS를 켜거나 끄는 명령만 날리고 바로 사라지기 때문에 운영 비용이 0원에 수렴할 정도로 매우 경제적입니다. 다른 옵션인 A와 C는 별도의 관리 부담이 생기거나 필요 이상의 권한 설정이 들어가서 비효율적이며, B의 캐시 도입은 DB 비용을 아끼는 근본적인 해결책이 아니라 오히려 추가 비용만 발생시키는 엉뚱한 방향입니다. 💡 이 문제의 핵심 용어 Lambda: 서버를 띄우지 않고 코드만 실행시켜 돈을 아끼는 서버리스 컴퓨팅 서비스 EventBridge: 특정 시간이나 이벤트에 맞춰 다음 동작을 실행시켜주는 클라우드의 스케줄러 RDS (Relational Database Service): AWS가 설치부터 패치까지 다 해주는 관리형 데이터베이스
Q153 벨소리 판매 사이트에서 128KB 이상의 파일 수백만 개를 S3 Standard에 보관 중입니다. 그런데 90일이 지난 파일은 거의 인기가 없네요. 파일 접근성은 유지하면서 돈을 가장 많이 아끼는 방법은? 처음부터 모든 파일을 S3 Standard-IA 등급에 저장합니다. S3 Intelligent-Tiering으로 옮겨서 90일 뒤에 더 싼 계층으로 가게 합니다. S3 인벤토리를 보고 90일 지난 파일을 수동으로 Standard-IA로 옮깁니다. S3 수명 주기 정책을 만들어 90일 뒤에 자동으로 Standard-IA로 등급을 내립니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. 데이터의 나이에 따라 자동으로 저장 공간을 옮겨주는 'S3 수명 주기 정책(Lifecycle Policy)'이 최고의 해결사입니다. 90일까지는 원활한 판매를 위해 성능 좋은 Standard를 쓰고, 그 뒤에는 비용이 저렴하면서도 여전히 즉시 다운로드가 가능한 Standard-IA로 이사 보내는 것이 가장 똑똑한 돈 관리 비법입니다. 다른 옵션인 A는 초반 인기 있는 파일의 접근 비용이 비싸질 수 있고, B의 지능형 계층화는 패턴을 모를 때 쓰는 건데 우리는 이미 90일이라는 명확한 기준을 알고 있습니다. C는 수동으로 관리해야 해서 운영 부담이 너무 큽니다. 💡 이 문제의 핵심 용어 S3 Standard-IA (Infrequent Access): 자주 보지는 않지만 볼 때는 즉시 나와야 하는 데이터를 위한 저렴한 저장소 Lifecycle Policy: 파일의 보관 기간에 따라 자동으로 등급을 조절해주는 자동 이사 규칙
Q154 의료 시험 결과 파일을 S3에 저장해야 합니다. 과학자만 새 파일을 추가할 수 있고 나머지는 읽기만 가능해야 하며, 어떤 누구도 1년 동안은 파일을 수정하거나 지울 수 없게 못 박아두려 합니다. 어떤 기능을 써야 할까요? 거버넌스 모드에서 1년 동안 법적 보존 수준으로 S3 Object Lock을 사용합니다. 규정 준수(Compliance) 모드에서 보존 기간을 365일로 설정한 S3 Object Lock을 사용합니다. IAM 역할과 버킷 정책을 써서 모든 사용자의 삭제 및 수정 권한을 원천 차단합니다. 람다 함수를 써서 객체가 수정될 때마다 이전 해시값을 체크하여 원복시킵니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 한번 기록하면 절대 지울 수 없는 'WORM(Write Once, Read Many)' 기능을 구현하는 표준은 S3 Object Lock입니다. 특히 규정 준수(Compliance) 모드를 선택하면 루트 사용자조차도 정해진 기간 동안은 절대 파일을 건드릴 수 없어 의료 데이터 같은 민감한 정보의 무결성을 지키는 데 가장 완벽한 방패가 됩니다. 다른 옵션인 A의 거버넌스 모드는 특정 권한이 있으면 삭제가 가능해서 보안성이 살짝 낮고, C와 D는 시스템 관리자나 코딩 실수 등으로 인해 구멍이 뚫릴 위험이 있는 하책입니다. 💡 이 문제의 핵심 용어 S3 Object Lock: 한 번 저장한 파일을 일정 기간 동안 절대 수정하거나 지우지 못하게 잠그는 보안 기능 Compliance Mode: 관리자나 루트 계정도 잠금을 해제할 수 없는 가장 강력한 데이터 보호 모드
Q155 대형 미디어사가 전 세계 사용자에게 비밀스러운 파일을 안전하고 빠르게 배달하려 합니다. 파일은 S3 버킷에 있고 사용자의 위치에 상관없이 빛의 속도로 응답해야 한다면, 어떤 서비스를 붙여야 할까요? DataSync를 써서 S3와 앱을 동기화합니다. Global Accelerator를 연결하여 네트워크 속도를 높입니다. CloudFront를 배포하여 S3와 엣지 서버를 연결합니다. SQS 대기열을 써서 S3 파일 요청을 순차적으로 처리합니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. 전 세계 어디서든 똑같은 사진이나 영상을 빠르게 보여주는 데는 'CloudFront(CDN)'가 제격입니다. 사용자와 가장 가까운 엣지 로케이션에 파일을 미리 복사해두고(캐싱) 바로바로 던져주기 때문에, 미국에 있는 S3 파일을 한국에서도 동네 피씨방 속도로 즐길 수 있게 해주는 마법 같은 서비스입니다. 다른 옵션인 A는 서버끼리 자료를 옮길 때 쓰는 장비고, B는 실시간 게임이나 복잡한 경로 최적화에 어울립니다. D는 비동기 처리를 위한 우체통일 뿐 파일 배달 속도와는 거리가 멉니다. 💡 이 문제의 핵심 용어 CloudFront: 전 세계 곳곳에 서버를 두고 콘텐츠를 빠르게 배달하는 서비스(CDN) Edge Location: CloudFront라는 배달부가 손님에게 물건을 빨리 주려고 미기 대기 중인 동네 거점 Caching: 자주 찾는 데이터를 가까운 곳에 임시로 저장해두고 바로 꺼내 쓰는 기술
Q156 회사에서 온갖 실시간 스트림 데이터와 배치 데이터를 한데 모아 분석하려 합니다. S3에 데이터를 준비한 뒤, 나중에 필요할 때마다 일회성 쿼리를 날리고 시각화 도구로 KPI를 보고 싶습니다. 운영 오버헤드가 가장 적은 조합은? (2개 선택) 일회성 쿼리에는 Amazon Athena를 쓰고, 시각화에는 QuickSight를 사용합니다. Kinesis Data Analytics로 쿼리를 날리고, QuickSight로 대시보드를 만듭니다. Lambda 함수를 짜서 데이터를 Redshift 클러스터로 실시간으로 옮깁니다. Glue ETL 작업을 써서 JSON으로 바꾼 뒤 OpenSearch 클러스터에 로드합니다. Lake Formation의 청사진을 써서 데이터 소스를 식별하고, Glue로 S3에 Parquet 형식으로 저장합니다. 정답 확인 및 해설 📖 해설 정답은 A와 E입니다. 가장 편하게 데이터 레이크를 만드는 방법은 Lake Formation과 Glue의 조합으로 데이터를 S3에 예쁘게 쌓아두는 것입니다. 특히 Parquet 같은 똑똑한 형식으로 저장해두면, 서버를 한 대도 안 띄우고도 S3 파일에 바로 SQL을 날려주는 Athena와 시각화 도구인 QuickSight를 통해 가장 적은 돈과 수고로 고급 분석 환경을 구축할 수 있습니다. 다른 옵션인 B는 실시간 흐름 분석에만 특화되어 있고, C와 D는 서버(클러스터)를 직접 띄우고 관리해야 해서 '운영 오버헤드 최소화'라는 목표에서 멀어지게 됩니다. 💡 이 문제의 핵심 용어 Amazon Athena: S3에 있는 파일을 마치 데이터베이스처럼 SQL로 쿼리할 수 있는 서버리스 서비스 AWS Lake Formation: 데이터 레이크를 복잡한 설정 없이 쉽고 안전하게 구축해주는 관리 도구 Apache Parquet: 데이터를 세로(컬럼)로 쌓아 저장 효율과 분석 속도를 극대화한 파일 형식
Q157 Aurora PostgreSQL을 쓰는 회사가 모든 데이터를 5년 동안 보관하고 그 뒤엔 지워야 하며, 기록용 감사 로그는 평생 보관해야 합니다. 이 요구 사항을 가장 깔끔하게 만족하는 조합은? (2개 선택) DB 클러스터의 수동 스냅샷을 매번 직접 생성합니다. 자동 백업에 대한 수명 주기 정책을 별도로 만듭니다. 자동 백업 보존 기간을 5년으로 설정합니다. DB 클러스터의 감사 로그를 CloudWatch Logs로 내보내도록 설정합니다. AWS Backup을 사용하여 5년 보존 정책으로 백업 계획을 수립합니다. 정답 확인 및 해설 📖 해설 정답은 D와 E입니다. '백업'과 '로그'는 따로 관리해야 합니다. 백업은 AWS Backup이라는 전용 비서를 통해 5년 뒤면 알아서 폐기되도록 자동 스케줄을 짜는 것이 가장 확실하며, 감사 로그는 CloudWatch Logs로 쏴준 뒤 거기서 보관 기간을 '무기한'으로 설정하면 평생 잃어버릴 걱정 없이 법규를 준수할 수 있습니다. 다른 옵션인 A는 사람이 하는 일이라 실수가 생기기 마련이고, C의 일반적인 자동 백업은 최대 보존 기간이 35일밖에 안 되어 5년이라는 장기 보존 요건을 채울 수 없습니다. 💡 이 문제의 핵심 용어 AWS Backup: 여러 AWS 서비스의 백업을 한곳에서 중앙 관리하고 보관 기간을 정하는 완전 관리형 서비스 CloudWatch Logs: 애플리케이션이나 시스템의 로그 데이터를 수집하고 저장하는 모니터링 서비스
Q158 콘서트 영상을 전 세계로 실시간 스트림하고, 나중에 다시 보기도 가능하게 만들려고 합니다. 전 세계 관객이 끊김 없이 영상을 즐길 수 있게 성능을 높여주는 일등 공신은? Amazon CloudFront AWS Global Accelerator Amazon Route 53 Amazon S3 Transfer Acceleration 정답 확인 및 해설 📖 해설 정답은 A입니다. 실시간 스트리밍(Live)과 다시 보기(VOD) 모두에서 가장 중요한 것은 관객 근처에 콘텐츠를 복사해두는 것인데, 이를 수행하는 핵심 서비스가 바로 CloudFront입니다. 전 세계 엣지 서버를 통해 영상 데이터를 배달하기 때문에 수백만 명의 관객이 동시에 접속해도 원본 서버에 무리를 주지 않고 쾌적하게 영상을 제공할 수 있습니다. 다른 옵션인 B는 네트워크 통로를 최적화하지만 콘텐츠를 직접 들고 대기하는 '캐싱' 기능이 없고, D는 파일을 올리는(Upload) 속도만 빠르게 해주는 것이라 시청(Download) 위주인 이번 사례엔 정답이 아닙니다. 💡 이 문제의 핵심 용어 CloudFront: 영상이나 사진 같은 무거운 데이터를 전 세계로 빠르게 쏘아주는 배달 네트워크(CDN) Live Streaming: 일어나는 상황을 지연 없이 실시간으로 전 세계에 중계하는 방식
Q159 서버리스 앱이 봇넷(Botnet)의 가짜 요청 공격을 받아 트래픽이 폭발했습니다. 나쁜 놈들의 요청만 쏙 골라내서 차단하고 싶을 때 필요한 조치는? (2개 선택) 진짜 사용자에게만 줄 API 키로 사용량 계획(Usage Plan)을 만듭니다. 람다 함수 코드 안에 특정 IP를 차단하는 로직을 직접 짜 넣습니다. 악성 요청을 걸러내는 AWS WAF 규칙을 만들어서 적용합니다. 공개 API를 비공개 전용(Private)으로 바꿉니다. 사용자마다 IAM 역할을 부여해서 호출할 때 역할을 맡게 만듭니다. 정답 확인 및 해설 📖 해설 정답은 A와 C입니다. 나쁜 트래픽을 막는 가장 정석적인 방법은 입구에 '보안 요원(WAF)'을 세우는 것입니다. WAF 규칙을 통해 봇들의 패턴을 읽어낸 뒤 입구에서 바로 컷 해버리고, 추가로 허락된 사람들만 쓸 수 있는 '초대장(API Key)' 시스템을 도입하면 무분별한 가짜 요청으로부터 소중한 자원을 완벽히 보호할 수 있습니다. 다른 옵션인 B는 이미 공격자가 람다를 실행시킨 뒤라 돈이 계속 나가고, D는 모든 일반 사용자의 접근까지 막아버리는 극단적인 조치라 서비스 운영 자체가 불가능해집니다. 💡 이 문제의 핵심 용어 AWS WAF (Web Application Firewall): 웹사이트로 들어오는 악의적인 요청이나 공격을 골라내서 차단하는 똑똑한 백신 같은 서비스 API Key: 정식 승인된 앱이나 사용자만 API를 호출할 수 있게 해주는 고유 암호값
Q160 매달 300MB 정도의 JSON 로그를 생성하는 분석 앱이 있는데, 사고를 대비해 30일간 백업해두려 합니다. 필요할 땐 0.1초 만에(밀리초 단위) 즉시 꺼내 볼 수 있어야 할 때, 가장 가성비 좋은 저장소는? OpenSearch Service (Elasticsearch) Amazon S3 Glacier Amazon S3 Standard Amazon RDS for PostgreSQL 정답 확인 및 해설 📖 해설 정답은 C입니다. 데이터 양이 300MB로 적고 바로 즉시 꺼내 봐야 한다면 S3 Standard가 최고입니다. 일단 저장 비용도 저렴할뿐더러, 필요한 순간에 딜레이 없이 바로 파일에 접근할 수 있기 때문에 가성비와 성능이라는 두 마리 토끼를 모두 잡을 수 있는 합리적인 선택입니다. 다른 옵션인 A는 분석할 때 좋지만 보관만 하기엔 너무 비싸고, B의 Glacier는 비용은 더 싸지만 데이터를 꺼내는 데 최소 몇 분에서 몇 시간이 걸려 '밀리초 단위 접근'이라는 조건을 절대 만족할 수 없습니다. 💡 이 문제의 핵심 용어 S3 Standard: 언제든 즉시 데이터를 꺼낼 수 있고 안정성도 뛰어난 기본형 저장소 JSON: 데이터를 주고받을 때 쓰는 텍스트 기반의 가벼운 문서 형식
Q161 회사에서 수천 번 실행되는 파이썬 앱을 AWS로 옮기려 합니다. 이 앱은 JSON 문서를 처리해서 DB에 넣는 아주 간단한 일만 합니다. 관리할 것도 없고 확장성은 최강이면서 중단 없이 돌아가게 만들려면 어떤 조합이 좋을까요? S3에 파일을 넣고, 여러 대의 EC2 서버에서 파이썬을 돌려 처리한 뒤 Aurora에 저장합니다. S3에 파일이 들어오면 람다 함수가 자동으로 깨어나서 처리한 뒤 Aurora에 저장합니다. EBS 볼륨에 파일을 담고, 여러 서버에 동시 연결해서 처리한 뒤 RDS에 저장합니다. SQS 대기열에 메시지를 넣고, ECS 클러스터에서 컨테이너로 처리한 뒤 RDS에 저장합니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 서버 관리 걱정(운영 오버헤드)을 아예 없애려면 '서버리스'가 답입니다. S3에 파일이 떨어지는 '사건'이 발생할 때만 람다라는 작은 일꾼을 잠시 고용해서 Aurora DB에 데이터를 넣게 만들면, 평소엔 돈을 한 푼도 안 내면서 요청이 몰릴 땐 수천 명의 일꾼이 동시에 나타나 일을 처리하는 환상적인 시스템이 됩니다. 다른 옵션인 A, C, D는 결국 서버(EC2나 컨테이너)를 관리해야 하는 귀찮음이 남아 있고, 특히 EC2는 사용하지 않을 때도 월세를 내야 해서 비용 효율 면에서도 람다에게 밀립니다. 💡 이 문제의 핵심 용어 Lambda: 서버를 띄우지 않고 코드만 실행시켜 돈을 아끼는 서버리스 컴퓨팅 서비스 Aurora DB: 클라우드 환경에 최적화된 고성능, 자동 관리형 데이터베이스 Serverless: 서버 인프라 관리를 AWS에 전부 맡기고 서비스 개발에만 집중하는 방식
Q162 재무 위험 모델링을 위해 수백 대의 스팟 인스턴스를 굴리는 HPC 인프라를 구축하려 합니다. 수천 개의 고성능 결과 파일을 읽고 써야 하며, 이 파일들을 장기간 보관할 S3와도 찰떡궁합이어야 합니다. 어떤 파일 시스템을 써야 할까요? Amazon S3와 통합된 Amazon FSx for Lustre Amazon S3와 통합된 Windows 파일 서버용 Amazon FSx EBS 볼륨과 통합된 Amazon S3 Glacier EBS gp2 볼륨과 통합된 VPC 엔드포인트 S3 정답 확인 및 해설 📖 해설 정답은 A입니다. 슈퍼컴퓨팅(HPC) 같은 분야에서 엄청나게 빠른 속도로 데이터를 처리해야 할 땐 Lustre라는 전용 고속도로가 필요합니다. FSx for Lustre는 S3와 한 몸처럼 연결되어 데이터를 빠르게 가져와 처리하고 결과를 다시 S3에 슥 던져줄 수 있어, 복선 철도처럼 시원시원한 데이터 처리 속도를 보장합니다. 다른 옵션인 B는 윈도우 환경 전용이라 리눅스 기반 HPC에는 부적절하며, C와 D는 대규모 병렬 I/O 처리가 필요한 HPC 환경의 속도를 감당하기에는 기술적으로 역부족입니다. 💡 이 문제의 핵심 용어 HPC (High Performance Computing): 복잡한 계산을 고속으로 처리하는 슈퍼컴퓨팅 기술 FSx for Lustre: 수백 개의 서버가 동시에 고속으로 데이터를 읽고 써야 하는 연구/분석용 파일 시스템 I/O (Input/Output): 데이터를 읽고 쓰는 입출력 작업
Q163 온프레미스에서 만든 컨테이너 앱을 AWS로 이사시키려 합니다. 서비스 시작하자마자 수천 명이 몰릴 텐데, 서버 한 대 한 대 관리할 자신은 없고 확장은 번개처럼 됐으면 좋겠습니다. 설계자가 알려줄 최상의 비책은? ECR에 이미지를 담고, Fargate 기반의 ECS 클러스터로 실행하며 대상 추적 오토 스케일링을 겁니다. ECR에 이미지를 담고, EC2 기반의 ECS 클러스터로 실행하며 대상 추적 오토 스케일링을 겁니다. EC2에 직접 이미지를 저장하고, 여러 가용 영역에 분산 배치한 뒤 CPU 봐가며 수동으로 늘립니다. 컨테이너가 담긴 AMI 이미지를 구워두고, 오토 스케일링 그룹으로 EC2를 띄웁니다. 정답 확인 및 해설 📖 해설 정답은 A입니다. '운영 수고 제로'와 '무한 확장'을 동시에 잡으려면 Fargate가 최고의 선택입니다. 서버 사양이나 개수를 고민할 필요 없이 컨테이너만 던져주면 Fargate가 알아서 자리를 깔아주고, 사람이 몰리면 '대상 추적 정책'을 통해 알아서 서버 수를 늘려주니 개발자는 발 뻗고 잘 수 있는 구조가 됩니다. 다른 옵션인 B와 D는 결국 서버(EC2)가 몇 대인지, OS는 어떤지 하나하나 신경 써야 해서 운영 수고가 많이 들고, C는 일일이 손으로 관리해야 해서 수천 명이 몰리는 폭발적인 상황에는 절대 대응할 수 없습니다. 💡 이 문제의 핵심 용어 AWS Fargate: 서버 관리 없이 컨테이너를 실행할 수 있는 서버리스 엔진 ECS (Elastic Container Service): 수많은 컨테이너를 효율적으로 배포하고 관리하는 플랫폼 Auto Scaling: 손님 수에 맞춰 서버 대수를 알아서 넣고 빼주는 자동 조절 기능
Q164 보내는 쪽과 받는 쪽 애플리케이션 사이에 메시지를 중계하려 합니다. 한 시간에 1,000개 정도 메시지가 오가는데, 처리하는 데 최대 2일이나 걸릴 수도 있습니다. 혹시나 처리에 실패해도 다른 메시지는 정상적으로 흘러가게 보관해두려면 무엇을 써야 할까요? Redis를 설치한 EC2 서버를 띄워서 중간 저장소로 씁니다. Kinesis Data Streams로 메시지를 받고 클라이언트 라이브러리(KCL)로 연결합니다. SQS 대기열로 연결하고, 처리에 실패한 건 '배달 못한 편지 대기열(DLQ)'로 모이게 합니다. SNS 주제를 만들고 받는 쪽 애플리케이션을 구독자로 등록하여 푸시 알림을 보냅니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. 이렇게 일이 지연되거나 가끔 실패할 수 있는 환경에서는 'SQS(메시지 바구니)'가 가장 든든한 버팀목입니다. 특히 처리가 안 된 메시지들만 따로 모아두는 '배달 못한 편지 대기열(DLQ)' 기능을 쓰면, 나중에 왜 안 됐는지 원인 분석을 하기도 편하고 전체 시스템이 멈추는 일도 막을 수 있어 운영 효율이 매우 높습니다. 다른 옵션인 A는 서버 관리가 너무 힘들고, B는 실시간 흐름 처리에 좋지만 2일이나 기다려야 하는 작업에는 과한 면이 있습니다. D는 실패했을 때 메시지를 안전하게 보관해주는 기능이 약해 부적절합니다. 💡 이 문제의 핵심 용어 SQS (Simple Queue Service): 시스템 사이에서 메시지를 임시로 보관하고 전달해주는 할 일 목록 바구니 DLQ (Dead Letter Queue): 끝내 처리되지 못한 메시지들을 모아놓는 안전 구역(원인 분석용) Decoupling: 시스템끼리 직접 연결하지 않고 중간에 완충 지대를 두어 서로의 장애가 전파되지 않게 하는 설계
Q165 CloudFront와 S3를 써서 정적 사이트를 운영 중인데, 모든 트래픽은 반드시 WAF를 거치게 해서 보안 검사를 하고 싶습니다. 사용자가 S3 주소로 우회해서 직접 들어오는 것도 막으려면 어떤 설정이 필요할까요? S3 버킷 정책에서 WAF의 ARN 주소만 허용하도록 설정합니다. CloudFront 설정에서 모든 요청을 WAF로 강제 리디렉션하도록 로직을 짭니다. CloudFront 전용 보안 그룹을 만들고 S3에 연결한 뒤 WAF를 물리적으로 붙입니다. OAC(또는 OAI)를 써서 S3 접근을 CloudFront로만 제한하고, 배포 설정에서 WAF를 켭니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. S3 창고로 들어오는 우회로를 완전히 봉쇄하려면 '오리진 액세스 제어(OAC)'가 열쇠입니다. 이 설정을 하면 오직 지정된 CloudFront 배달부만 S3에 들어갈 수 있게 되는데, 이 배달부(CloudFront)의 목 줄에 'WAF(보안 요원)'를 달아두면 모든 방문자가 자연스럽게 보안 검사를 마친 뒤 안전한 통로로만 사이트를 이용하게 됩니다. 다른 옵션인 A와 C는 기술적으로 구현이 불가능한 방식이며, B는 복잡한 코딩이 들어가서 관리 오버헤드가 커질 뿐 보안의 근본 원칙인 '접근 제어'를 해결해주지는 못합니다. 💡 이 문제의 핵심 용어 OAC (Origin Access Control): CloudFront만 S3에 접근할 수 있게 신원을 확인하는 최신 보안 기능 WAF (Web Application Firewall): 해커의 공격이나 부적절한 요청을 입구에서 원천 차단하는 웹 방화벽
Q166 글로벌 축제 소식을 전하는 정적 HTML 페이지가 S3에 저장되어 있습니다. 전 세계 수백만 명이 동시에 조회할 텐데, 가장 빠르고 효율적으로 웹서비스를 제공하려면 어떤 설계가 정답일까요? 모든 유저에게 S3 미리 서명된 URL(Presigned URL)을 생성해서 나눠줍니다. 전 세계 모든 리전에 S3 버킷을 만들고 교차 리전 복제를 겁니다. Route 53의 지리적 근접성 기능을 써서 가장 가까운 리전의 S3로 보냅니다. S3 버킷 앞에 CloudFront를 세워서 콘텐츠를 배달합니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. 수백만 명의 전 세계 사용자에게 똑같은 화면을 빠르게 보여주는 데는 'CloudFront(CDN)'만 한 게 없습니다. 사용자가 어디에 있든 가장 가까운 서버에서 HTML 파일을 번개처럼 꺼내줄 뿐만 아니라, S3 원본 서버에 직접 요청이 가지 않게 부하를 막아주기 때문에 가장 싸고 효율적으로 글로벌 서비스를 운영할 수 있습니다. 다른 옵션인 A는 서버가 수백만 번의 URL 요청을 감당하기 힘들고, B와 C는 관리가 너무 복잡해지고 비용만 어마어마하게 나가는 낭비에 가까운 설계입니다. 💡 이 문제의 핵심 용어 CDN (Content Delivery Network): 콘텐츠를 전 세계 서버에 복사해두고 가장 가까운 곳에서 손님에게 전달하는 망 S3 (Simple Storage Service): 사진, 영상, HTML 같은 파일을 안전하게 보존하는 클라우드 바구니
Q167 SQS 대기열에서 메시지를 가져와 처리하는 앱이 있습니다. 트래픽은 가끔씩 몰려 오는데 절대 서비스가 끊겨서는 안 되네요. 돈을 가장 아끼면서도 안정적으로 서버(EC2)를 운영하는 똑똑한 구매 전략은? 가장 싼 스팟 인스턴스만 사용하여 최대 트래픽을 처리합니다. 전부 예약 인스턴스(RI)로 사서 최대 트래픽에 대비합니다. 평소 기본 대수는 예약 인스턴스로 싸게 잡고, 추가로 필요한 분량은 스팟 인스턴스로 해결합니다. 평소 기본 대수는 예약 인스턴스로 잡고, 혹시 모를 추가 트래픽은 온디맨드 인스턴스로 안전하게 처리합니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. '절대 중단 없어야 함'과 '비용 절감'이라는 두 마리 토끼를 잡으려면 정석적인 계층 전략이 필요합니다. 24시간 내내 열려 있어야 하는 가게 본체(기본 용량)는 미리 결제해서 할인을 듬뿍 받는 '예약 인스턴스'로 준비하고, 손님이 몰릴 때 임시로 투입하는 아르바이트생(추가 용량)은 가동이 보장되는 '온디맨드 인스턴스'로 채우는 것이 가장 안전하고 합리적입니다. 다른 옵션인 A와 C의 스팟 인스턴스는 AWS 사정에 따라 언제든 서버가 꺼질 위험이 있어 '중단 없는 서비스'라는 조건에 어긋나며, B는 놀고 있는 서버들까지 선불로 돈을 내는 꼴이라 비용 낭비가 심합니다. 💡 이 문제의 핵심 용어 On-Demand Instance: 약정 없이 쓴 만큼만 정해진 시간당 요금을 내고 쓰는 가장 일반적인 서버 요금제 Reserved Instance (RI): 1년이나 3년 계약을 맺고 큰 폭의 할인을 받는 요금제
Q168 보안팀이 회사의 모든 계정에서 특정 위험한 서비스 사용을 원천 차단하려 합니다. 모든 계정은 AWS Organizations로 묶여 있는데, 어디서든 권한을 한눈에 관리하고 손쉽게 확장할 수 있는 단일 창구는 무엇인가요? 관리용 ACL을 만들어서 특정 서비스 접근을 조절합니다. 통합 보안 그룹을 생성해서 사용자 그룹에 강제로 연결합니다. 계정마다 교차 계정 역할을 만들어서 수동으로 접근을 거부합니다. 루트 조직 단위(OU)에 서비스 제어 정책(SCP)을 걸어서 원천 봉쇄합니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. 수십, 수백 개의 계정을 한꺼번에 통제하는 데는 '서비스 제어 정책(SCP)'이 무조건 1순위입니다. 조직의 뿌리(루트)에 '이 서비스는 절대 금지!'라는 명령을 한 줄만 적어두면, 그 밑에 있는 모든 계정은 무슨 짓을 해도 그 서비스를 열 수 없게 되는 가장 강력하고 일관성 있는 중앙 집권형 관리 도구입니다. 다른 옵션인 A, B, C는 계정 하나하나마다 손수 설정해줘야 해서 계정 수가 늘어나면 관리가 불가능해지며, 실수로 하나라도 놓치면 보안 구멍이 뚫리는 비효율적인 방식입니다. 💡 이 문제의 핵심 용어 SCP (Service Control Policy): 조직 내 모든 계정의 권한을 최상단에서 한꺼번에 제어하는 가장 강력한 가이드라인 Organizations: 여러 계정을 가족처럼 하나로 묶어 요금과 권한을 통합 관리하게 해주는 서비스
Q169 최근 웹 공격 소식을 듣고 회사 서비스의 DDoS 방어력이 걱정됩니다. ALB를 쓰고 있는 이 시점에서, 디도스(DDoS) 공격으로부터 시스템을 지켜줄 수 있는 가장 든든한 유료 방어막 서비스는? Amazon Inspector 에이전트를 모든 서버에 심습니다. Amazon Macie를 설정하여 공격 패턴을 감시합니다. AWS Shield Advanced 기능을 활성화하여 방어력을 높입니다. Amazon GuardDuty를 켜서 ALB를 실시간 감시하게 합니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. AWS에서 디도스 공격을 전문적으로 막아내는 최강의 보디가드는 바로 'AWS Shield'입니다. 모든 계정에 기본으로 들어있는 Standard보다 한 차원 높은 'Advanced'를 사용하면, ALB나 CloudFront 같은 입구를 향해 쏟아지는 대규모 공격을 24시간 감지하고 자동 방어해주며 비상시 전문가의 도움까지 받을 수 있어 가장 확실한 해결책이 됩니다. 다른 옵션인 A는 보안 취약점을 찾는 검진표고, B는 개인정보 유출을 감시하는 서비스라 디도스 방어와는 상관없습니다. D는 수상한 로그를 분석하는 탐정 역할이지 공격을 몸으로 막아내는 방패는 아닙니다. 💡 이 문제의 핵심 용어 DDoS (Distributed Denial of Service): 수많은 좀비 PC를 동원해 사이트에 접속 폭탄을 던져 서버를 마비시키는 공격 AWS Shield: 디도스 공격의 패턴을 분석해 서버가 터지지 않게 보호해주는 실시간 방어 서비스
Q170 보안 정책이 바뀌어서 이제 우리 웹 앱은 '특정 국가'에서만 접속할 수 있어야 합니다. ALB를 사용 중일 때, 지리적 위치를 따져서 출입을 통제하는 가장 쉬운 방법은? EC2 인스턴스의 보안 그룹에서 국가별 IP 대역을 일일이 막습니다. ALB(로드 밸런서)의 보안 그룹 설정을 통해 접근을 제한합니다. ALB에 AWS WAF를 연결하고 지리적 일치(Geo Match) 규칙을 설정합니다. EC2가 속한 서브넷의 네트워크 ACL에서 특정 국가를 차단합니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. 웹서비스의 입구 역할을 하는 ALB에 'WAF(웹 방화벽)'를 딱 붙여주는 것이 가장 영리한 방법입니다. WAF의 기능 중에는 접속자의 IP를 보고 어느 나라인지 자동으로 판단하는 규칙이 있어서, 허가된 국가가 아니면 문 앞(ALB)에서 바로 돌려보내는 지리적 차단 처리를 아주 손쉽게 구현할 수 있습니다. 다른 옵션인 A, B, D에서 쓰이는 보안 그룹이나 ACL은 단순한 숫자(IP 주소)만 따질 뿐 그 주소가 어느 나라인지는 모릅니다. 그래서 수만 개의 IP 주소를 사람이 손수 입력해야 하는 무모한 수고가 따르기 때문에 정답이 될 수 없습니다. 💡 이 문제의 핵심 용어 AWS WAF: 국가, IP, 특정 문자열 등을 따져서 똑똑하게 손님을 가려 받는 웹용 문지기 Geo Match: 접속자의 주소를 분석해 특정 국가에서 온 요청인지 확인하는 기술
Q171 세금 계산 API를 제공 중인데 연휴 기간만 되면 손님이 몰려 응답이 기어갑니다. 확장성이 끝내주면서도 평소엔 돈을 안 내고, 바쁠 때만 탄력적으로 확 늘어나는 구조로 바꾸고 싶을 때 추천하는 설계는? EC2 인스턴스에서 API를 돌리며 계산 로직을 수행합니다. API Gateway로 입구를 만들고, 실제 계산은 람다(Lambda) 함수에게 맡깁니다. 무조건 두 대의 인스턴스를 띄운 로드 밸런서(ALB) 시스템을 구축합니다. API Gateway와 EC2 인스턴스를 연결하여 계산 요청을 전달합니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. '탄력성'과 '확장성'이라는 키워드에 가장 어울리는 짝꿍은 바로 API Gateway와 서버리스 람다입니다. 이 조합은 손님이 없을 땐 서버를 단 한 대도 안 띄워서 돈을 아끼고, 명절처럼 손님이 만 명, 십만 명씩 몰려오면 그 숫자에 맞춰 람다 일꾼들이 번개처럼 늘어나 일을 처리하기 때문에 가장 경제적이고 튼튼한 설계가 됩니다. 다른 옵션인 A, C, D는 결국 서버(EC2)를 직접 운용해야 해서 미리 대수를 정하거나 사량을 조절해야 하는 수고가 들고, 갑자기 몰려오는 손님들을 기민하게 받아내기에는 탄력성이 부족합니다. 💡 이 문제의 핵심 용어 API Gateway: 앱이나 웹의 요청을 받아서 적절한 곳으로 배달해주는 입구 서비스 Lambda: 서버 관리 걱정 없이 쓴 만큼만 돈 내는 최고의 가성비 계산 일꾼
Q172 CloudFront로 정보를 수집할 때 사용자가 입력한 민감한 데이터(신용카드 등)를 아주 강력하게 지키고 싶습니다. HTTPS는 기본이고, 데이터가 서버 끝까지 도달하는 전 과정에서 특정 앱만 열어볼 수 있게 암호화하는 필살기 기능은? CloudFront 서명 URL 기능을 켭니다. CloudFront 서명 쿠키를 설정합니다. CloudFront 필드 수준 암호화(Field-Level Encryption)를 설정합니다. 뷰어와 오리진의 프로토콜 정책을 HTTPS 전용으로만 못 박아둡니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. 단순히 통로만 암호화하는 HTTPS에서 한 걸음 더 나아가, 데이터 '내용물' 자체를 암호화해서 아무도 못 열어보게 만드는 것이 '필드 수준 암호화'입니다. 이렇게 하면 데이터가 AWS 내부 통로를 지나가는 동안에도 암호화가 유지되고, 오직 최종 목적지에 있는 허락된 애플리케이션만 암호를 풀 수 있어 최고 수준의 보안을 달성할 수 있습니다. 다른 옵션인 A와 B는 접근 권한을 확인하는 '열쇠' 역할일 뿐 내용물 암호화와는 상관이 없으며, D는 보안의 기본이긴 하지만 데이터 자체를 보호하는 이 문제의 핵심 필살기는 아닙니다. 💡 이 문제의 핵심 용어 Field-Level Encryption: 데이터의 특정 항목(이름, 번호 등)만 콕 집어 암호화하여 보안을 극대화하는 기술 HTTPS: 데이터를 주고받는 통로를 안전하게 보호하는 전송 규약
Q173 게임 회사가 S3에 저장된 전 세계 공통 이미지와 비디오를 수백만 명에게 뿌려야 합니다. 원본 S3 서버에 가는 부담은 싹 줄이면서, 가장 저렴하고 빠르게 콘텐츠를 전 세계로 배달하는 비법은? 웹 서버 앞단에 Global Accelerator를 설치합니다. S3 버킷 바로 앞에 CloudFront 웹 배포를 연결합니다. 웹 서버 앞에 Redis용 ElastiCache 캐시 서버를 둡니다. 웹 서버 앞에 Memcached용 ElastiCache 캐시 서버를 둡니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 용량이 큰 이미지나 비디오 파일을 전 세계 사용자에게 가장 싸고 빠르게 전달하는 표준 공식은 바로 'S3 + CloudFront' 조합입니다. CloudFront가 원본 대신 파일을 들고 사용자 근처 엣지 서버에서 바로바로 전달해주기 때문에(캐싱), 원본 서버는 할 일이 줄어들어 편안해지고 사용자는 기다리는 시간 없이 바로 콘텐츠를 즐길 수 있습니다. 다른 옵션인 A는 게임 패킷 같은 실시간 데이터 통로 최적화에 어울리고, C와 D는 데이터베이스의 조회 성능을 높일 때 쓰는 거라 수백만 명에게 파일을 직접 배달하는 CDN 역할과는 거리가 멉니다. 💡 이 문제의 핵심 용어 CloudFront: 전 세계 엣지 네트워크를 통해 콘텐츠 배달 속도를 극대화하는 서비스(CDN) Caching: 콘텐츠를 중간 서버에 복사해두고 원본 대신 손님에게 바로 던져주는 방식
Q174 현재 한 개의 가용 영역(AZ)에서만 웹 서버 6대를 돌리고 있는데, 하나가 무너지면 서비스가 끝장납니다. 코드 수정 없이 인프라만 고쳐서 한 리전 안에서 가장 확실하게 '고가용성'을 확보하는 방법은? 두 리전에 각각 인스턴스를 3대씩 나눠서 배치합니다. 오토 스케일링 그룹 설정을 바꿔서 2개의 가용 영역에 3대씩 나눠서 서버를 띄웁니다. 다른 리전에 서버를 빨리 복구할 수 있게 복제 템플릿만 만들어둡니다. 로드 밸런서(ALB)의 알고리즘을 라운드 로빈 방식으로 바꿉니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. '고가용성'의 첫걸음은 계란을 한 바구니에 담지 않는 것입니다. 지금처럼 한 AZ에 몰빵하는 대신, 오토 스케일링 그룹(ASG) 설정을 살짝 고쳐서 2~3개의 가용 영역에 분산 배치만 해도 특정 데이터 센터에 불이 나는 비상상황에서 서비스가 멈추지 않고 계속 돌아가는 강력한 생존력을 갖게 됩니다. 다른 옵션인 A와 C는 '리전'을 넘나드는 작업이라 비용과 복잡성이 너무 커지고, D는 단순히 부하를 나누는 방식이지 서버가 죽었을 때를 대비한 해결책은 아니기 때문에 고가용성 설계와는 무관합니다. 💡 이 문제의 핵심 용어 High Availability (HA): 일부 장비가 고장 나더라도 서비스가 중단 없이 끈기 있게 계속되는 성질 Availability Zone (AZ): 전력이나 네트워크가 독립된 하나 이상의 물리적 데이터 센터 뭉치(리전 안의 구분) Multi-AZ: 여러 AZ에 자원을 분산하여 재해 복구 능력을 키우는 대중적인 설계 방식
Q175 판매 행사 때 주문이 몰리자 Aurora DB가 수많은 연결(Connection)을 감당 못 하고 CPU/메모리가 비명을 지르며 뻗어버렸습니다. 최소한의 코드 수정으로 이 수많은 동시 접속을 효율적으로 관리하고 타임아웃을 막는 비결은? 람다의 프로비저닝된 동시성을 대폭 늘리고 글로벌 데이터베이스로 바꿉니다. RDS Proxy를 도입하고, 람다가 기존 주소 대신 프록시 주소를 보게 만듭니다. 다른 리전에 읽기 전용 복제본을 만들고 트래픽을 분산시킵니다. DMS를 써서 모든 데이터를 DynamoDB로 통째로 이사 보냅니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 수천 명의 손님이 몰릴 때 DB가 힘들어하는 주범은 매번 문(연결)을 새로 열고 닫는 과정에서 발생하는 오버헤드입니다. 이때 'RDS Proxy'라는 유능한 매니저를 앞에 세우면, 이미 열려 있는 문들을 효율적으로 공유하고 관리해주어 DB의 부담을 확 줄여주고 갑작스러운 폭주에도 타임아웃 없이 매끄럽게 주문을 받아낼 수 있습니다. 다른 옵션인 A는 DB 근본 부하를 해결 못 하고, C는 쓰기 작업(주문)에는 큰 도움이 안 되며, D는 DB 자체를 뜯어고치는 큰 공사라 '최소한의 변경'이라는 요구 사항에 전혀 맞지 않는 무리수입니다. 💡 이 문제의 핵심 용어 RDS Proxy: 수많은 앱의 접속 요청을 효율적으로 모아서 DB에 연결해주는 중간 관리 서비스(커넥션 풀링) Connection Pool: DB 연결을 매번 새로 만들지 않고 미리 만들어둔 연결을 돌려 써서 속도를 높이는 기술