Q251 VPC의 프라이빗 서브넷에 있는 EC2 인스턴스가 있습니다. 이 서버는 보안상 인터넷과 완전히 단절되어야 하지만, 딱 한 가지 예외로 외부 공급업체로부터 월간 보안 업데이트 파일은 받아와야 합니다. 보안을 유지하면서 아웃바운드 인터넷 통로만 살짝 열어주는 가장 정석적인 방법은? 인터넷 게이트웨이(IGW)를 만들고 프라이빗 서브넷 라우팅 테이블에 직접 연결합니다. NAT 게이트웨이를 퍼블릭 서브넷에 설치하고, 프라이빗 서브넷이 이를 거쳐 가도록 설정합니다. NAT 인스턴스를 만들어서 프라이빗 서브넷 안에 서버와 같이 둡니다. 인터넷 게이트웨이와 NAT 인스턴스를 모두 만들고 서버와 같은 서브넷에 배치합니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 프라이빗 서브넷의 보안을 지키면서 '밖으로 나가는 통로'만 안정적으로 확보하는 표준은 NAT 게이트웨이입니다. 이를 퍼블릭 서브넷(인터넷이 닿는 곳)에 설치하고, 프라이빗 서브넷의 라우팅 테이블에 '인터넷(0.0.0.0/0)으로 갈 때는 이 NAT 게이트웨이를 타라'고 적어주면 됩니다. 이렇게 하면 외부에서 서버로 들어오는 건 막으면서 서버가 업데이트를 위해 밖으로 나가는 건 허용됩니다. 다른 옵션인 A는 서버를 인터넷에 직접 노출하는 꼴이라 위험하며, C와 D의 NAT 인스턴스는 예전 방식이라 관리가 번거롭고 확장성도 떨어져 지금은 권장되지 않습니다. 💡 이 문제의 핵심 용어 NAT Gateway: 프라이빗 서버들이 인터넷으로 나갈 때 쓰는 일종의 '일방통행 보안 관문' Public Subnet: 인터넷과 직접 대화할 수 있는 '열린 마당' 같은 네트워크 구역 Private Subnet: 인터넷에서 보이지 않는 '안전한 안방' 같은 보이지 않는 구역
Q252 회사의 아주 중요한 고객 사례 파일들을 저장하려 합니다. 파일 양은 계속 늘어날 것이고, 여러 대의 EC2 서버가 동시에 이 파일들을 읽고 써야 합니다. 중복성까지 내장된 가장 튼튼한 공유 저장소는? Amazon Elastic File System (EFS) Amazon Elastic Block Store (EBS) Amazon S3 Glacier Deep Archive AWS Backup 정답 확인 및 해설 📖 해설 정답은 A입니다. 여러 서버가 '동시에' 같은 파일을 공유해서 써야 할 때 가장 먼저 떠올려야 할 서비스는 EFS입니다. EFS는 파일 시스템 계층(NFS)을 지원하여 수천 대의 서버가 하나의 거대한 가드닝 백처럼 파일을 공유할 수 있게 해줍니다. 또한 데이터를 여러 가용 영역(AZ)에 상시 복제해두므로 데이터 손실 걱정 없는 강력한 중복성을 자랑합니다. 다른 옵션인 B는 기본적으로 서버 한 대에만 붙이는 전용 하드 느낌이라 동시 공유가 어렵고, C는 너무 느린 백업용 창고입니다. D는 저장소가 아니라 백업을 관리해주는 서비스일 뿐입니다. 💡 이 문제의 핵심 용어 EFS (Elastic File System): 여러 인스턴스가 동시에 연결해서 사용할 수 있는 공유 파일 스토리지 NFS (Network File System): 네트워크를 통해 파일을 공유하는 표준 프로토콜 Durability (내구성): 데이터가 손실되지 않고 온전히 보존될 확률
Q253 보안팀이 Policy1과 Policy2라는 두 가지 IAM 정책을 만들어서 '엔지니어 그룹'에 부여했습니다. 어떤 유저가 이 그룹에 가입했을 때, 이 유저가 실제로 할 수 있는 행동은 무엇인가요? 다른 IAM 사용자들을 맘대로 삭제할 수 있습니다. 회사의 모든 디렉터리를 삭제할 권한을 가집니다. Amazon EC2 인스턴스를 골라서 삭제할 수 있습니다. CloudWatch Logs라는 장부에 적힌 내용을 지울 수 있습니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. IAM 정책은 '누가 어떤 행동(Action)을 할 수 있는지'를 정의한 명세서입니다. 이 문제에서 클라우드 엔지니어가 그룹에 소속되어 받은 권한 중 핵심은 EC2 서비스에 대한 제어권입니다. 따라서 서버(인스턴스)를 생성하거나 삭제하는 등의 실제 인프라 관리 업무를 수행할 수 있게 됩니다. 다른 옵션인 A, B, D는 각각 IAM 관리 권한, 디렉토리 서비스 권한, 로그 관리 권한이 따로 있어야 가능하며, 일반적인 엔지니어 그룹의 기본 정책에는 포함되지 않는 경우가 많습니다. 💡 이 문제의 핵심 용어 IAM Policy: 어떤 리소스에 대해 허용하거나 거부할 행동을 적어둔 권한 명세서 (JSON 형식) IAM Group: 여러 사용자에게 공통된 권한을 한 번에 주기 위해 묶어놓은 그룹 Action (액션): 정책에서 정의하는 구체적인 행위 (예: ec2:TerminateInstances)
Q254 3계층 앱의 보안 그룹을 점검해보니, 너무 넓은 범위가 열려 있어 보안팀이 경악했습니다. '최소 권한 원칙'에 따라, 각 계층끼리(예: 웹 계층 -> 앱 계층) 꼭 필요한 트래픽만 주고받도록 가장 정교하게 설정하는 방법은? 서버의 개별 인스턴스 ID를 일일이 소스로 등록합니다. 상대방 계층의 '보안 그룹 ID' 자체를 소스로 지정하여 규칙을 만듭니다. VPC 전체의 IP 범위(CIDR)를 소스로 허용해줍니다. 서브넷 전용 IP 대역(CIDR)을 소스나 대상으로 설정합니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 보안 그룹 설정의 백미는 '보안 그룹 간 참조'입니다. 예를 들어 앱 계층 보안 그룹 설정에서 '웹 계층 보안 그룹 ID를 가진 녀석들만 8080 포트로 들어오게 해'라고 적어두면 됩니다. 이렇게 하면 웹 서버가 1대든 100대든 상관없이 자동으로 적용되며, 실수로 다른 엉뚱한 서버가 접근하는 걸 완벽히 차단할 수 있습니다. 다른 옵션인 A는 서버가 바뀔 때마다 고쳐야 해서 너무 힘들고, C와 D는 같은 서브넷 내의 다른 무관한 서버들까지 문을 열어주게 되어 '최소 권한'이라는 취지에 맞지 않습니다. 💡 이 문제의 핵심 용어 Security Group (보안 그룹): 인스턴스 앞을 지키는 가상의 방화벽 (포트와 IP를 제어) Principle of Least Privilege (최소 권한 원칙): 딱 업무에 필요한 권한만 주고, 나머지는 다 막아버리는 보안의 철학 Source (소스/출발지): 트래픽이 어디에서 오는지 정의하는 규칙의 조건
Q255 쇼핑몰에서 결제 버튼을 눌렀는데 네트워크가 끊겨서 다시 누르니 주문이 두 번이나 들어갔습니다. 손님이 화나지 않게, 아무리 버튼을 연타해도 주문은 '단 하나'만 순차적으로 처리되게 하려면 어떤 기술을 도입해야 할까요? Kinesis Data Firehose를 써서 주문 메시지를 고속으로 수집합니다. CloudTrail 로그를 감시하다가 람다를 띄워 주문을 체크합니다. SNS 방송 서비스를 써서 주문 소식을 여기저기 알립니다. SQS 'FIFO' 대기열을 사용하여 주문을 줄 세우고, 처리한 메시지는 즉시 삭제합니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. 주문 중복을 막는 가장 확실한 방법은 SQS FIFO(First-In-First-Out)입니다. 이 대기열은 들어온 순서대로 정확히 '한 번만(Exactly-once)' 전달하는 기능이 있습니다. 똑같은 주문 번호를 가진 메시지가 연달아 들어와도 대기열이 '어, 이건 아까 받은 거네?' 하고 중복을 제거해줍니다. 결제 서비스가 하나씩 정직하게 꺼내 처리하고 삭제하면 중복 주문 사고는 사라집니다. 다른 옵션인 A는 대량 수집용이라 중복 제거가 핵심이 아니고, B는 감사용 도구라 실시간 비즈니스 로직에 쓰기엔 부적절합니다. C는 한 번에 여러 곳에 뿌리는 용도라 순서와 누락 방지에는 약점이 있습니다. 💡 이 문제의 핵심 용어 SQS FIFO: 먼저 들어온 게 먼저 나가며, 중복 없이 딱 한 번만 배달하는 특수 대기열 Idempotency (멱등성): 연산을 여러 번 적용해도 결과가 달라지지 않는 성질 (결제 중복 방지의 핵심) Refactoring (리팩터링): 겉모습은 그대로 두되, 내부 코드를 더 효율적이고 튼튼하게 고치는 작업
Q256 중요한 문서를 S3에 보관하려 합니다. 실수로 지우는 일을 원천 차단하고, 파일이 수정되어도 예전 버전을 언제든 꺼내 볼 수 있어야 합니다. 동시에 사용자들이 파일을 편하게 업로드하고 수정하는 건 가능해야 하죠. 어떤 조치가 필요할까요? (2개 선택) 버킷의 ACL(접근 제어 목록)을 '읽기 전용'으로 꽁꽁 묶어버립니다. 버킷의 '버전 관리(Versioning)' 기능을 활성화합니다. IAM 정책을 통해 아예 수정 권한 자체를 뺏어버립니다. MFA 삭제(Multi-Factor Authentication Delete) 기능을 켭니다. KMS 키로 버킷을 암호화하여 데이터 보안을 강화합니다. 정답 확인 및 해설 📖 해설 정답은 B와 D입니다. 파일의 과거 기록을 보관하려면 '버전 관리(B)'가 필수입니다. 이렇게 하면 파일을 덮어써도 옛날 파일이 층층이 쌓여 언제든 복구할 수 있습니다. 또한 '실수로 지우는 일'을 막으려면 MFA 삭제(D)가 최고입니다. 파일을 지우려 할 때마다 폰으로 OTP 인증을 해야만 삭제가 허락되므로, 클릭 실수 한 번으로 중요한 데이터를 날리는 비극을 막을 수 있습니다. 다른 옵션인 A와 C는 사용자들이 파일을 수정하거나 업로드하는 것까지 막아버려 업무 지장을 초래하고, E는 데이터 도난 방지용이지 삭제 방지용은 아닙니다. 💡 이 문제의 핵심 용어 S3 Versioning: 파일을 덮어쓰거나 지워도 이전 기록을 모두 남겨두는 보험 같은 기능 MFA Delete: 파일을 삭제할 때 반드시 2단계 인증(OTP 등)을 거치게 하는 강력한 안전장치 ACL (Access Control List): 개별 파일이나 폴더에 대해 누가 읽고 쓸 수 있는지 정해둔 고전적인 권한 목록
Q257 수백 대의 서버가 늘었다 줄었다 하는 '오토 스케일링' 상황을 실시간 대시보드로 보고 싶습니다. 시스템 성능(서버 시작 속도)에 전혀 지장을 주지 않으면서, 발생하는 모든 이벤트를 가장 빠르게 S3 레이크로 실시간 스트리밍하는 방법은? CloudWatch Metric Streams를 사용하여 Kinesis Firehose로 데이터를 쏩니다. EMR 빅데이터 군단을 투입해 로그를 수집하고 Firehose로 전달합니다. EventBridge로 주기적으로 람다를 깨워서 '서버 상황 어때?'라고 물어보게 합니다. 서버가 켜질 때마다 Kinesis 에이전트를 깔아서 로그를 직접 쏘게 교육시킵니다. 정답 확인 및 해설 📖 해설 정답은 A입니다. 서버 자체에 무언가를 깔거나(D), 주기적으로 조사를 나가는(C) 방식은 서버에 부담을 주거나 지연이 생깁니다. 하지만 CloudWatch Metric Streams를 쓰면 AWS 인프라 단에서 발생하는 지표를 시스템에 영향 없이 빛의 속도로 낚아챌 수 있습니다. 이를 Kinesis Firehose라는 자동 배달부와 연결하면, 단 몇 초 만에 모든 상황이 S3에 차곡차곡 쌓여 실시간 대시보드를 그릴 수 있게 됩니다. 다른 옵션인 B는 단순 로그 수집용으로는 비용과 운영 부담이 너무 큰 과잉 투자입니다. C는 '실시간'이 아닌 '간격'이 생기는 단점이 있습니다. 💡 이 문제의 핵심 용어 Metric Streams: 클라우드의 각종 수치 데이터를 외부 서비스로 쉼 없이 쏟아내 주는 수도꼭지 같은 기능 Kinesis Data Firehose: 스트리밍 데이터를 받아서 S3나 Redshift로 자동 배달해주는 완전 관리형 배달부 Serverless (서버리스): 서버 사양이나 개수 고민 없이 서비스만 쓰면 AWS가 다 알아서 해주는 방식
Q258 매시간 수백 개의 커다란 CSV 파일(각 1GB)이 S3로 쏟아집니다. 이걸 분석하기 좋게 Parquet 형식으로 번역해서 다시 S3에 넣어야 합니다. 우리가 직접 서버를 띄워 관리하지 않으면서도 수월하게 처리할 수 있는 방법은? 람다 함수를 짜서 파일이 올 때마다 직접 변환 작업을 수행합니다. Apache Spark 코드를 짜서 람다가 이 코드를 매번 실행하게 합니다. Glue 크롤러로 데이터를 읽고, 분석 도구인 Athena로 쿼리해서 형변환을 시도합니다. AWS Glue의 ETL 작업(Job)을 만들고, 파일이 올 때마다 람다가 이 작업을 시작시키게 합니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. 1GB나 되는 큰 파일을 람다(A)에서 직접 요리하는 건 시간과 메모리 제한 때문에 위험합니다. 대신 데이터 전용 처리 일꾼인 AWS Glue를 써야 합니다. Glue의 ETL 작업을 하나 만들어두고, S3에 파일이 들어올 때마다 람다가 '야, Glue! 일해!'라고 신호만 주면 됩니다. Glue는 거대한 데이터도 척척 변환해주는 서버리스 서비스라 운영자가 서버 사양을 고민할 필요가 전혀 없습니다. 다른 옵션인 C는 분석에는 좋지만, 매시간 쏟아지는 대량 파일의 '자동 변환' 파이프라인으로는 Glue ETL 조합보다 효율이 떨어집니다. 💡 이 문제의 핵심 용어 Apache Parquet: 데이터를 열(Column) 단위로 압축해서 저장해 분석 속도가 기가 막히게 빠른 파일 형식 AWS Glue: 복잡한 코딩 없이 데이터를 자유자재로 변환해주는 서버리스 데이터 전담 서비스 CSV (Comma-Separated Values): 콤마로 구분된 가장 대중적인 텍스트 기반 데이터 형식
Q259 나중에 감사에 대비하기 위해 RDS 데이터베이스를 매일 백업하고, 그 기록을 최소 2년 동안은 일관되게 보관해야 합니다. 클릭 몇 번으로 이 모든 백업 일정을 자동화하고 관리하는 가장 스마트한 솔루션은? AWS Backup 서비스를 써서 '매일 백업, 2년 후 만료' 계획을 세우고 RDS를 할당합니다. RDS 자체 스냅샷 설정을 쓰고, 생명 주기 관리 도구(DLM)로 삭제 관리를 시도합니다. 모든 DB 변경 로그를 CloudWatch Logs로 보내고 만료 기간을 2년으로 설정합니다. DMS(데이터 이사 서비스)를 써서 S3로 데이터를 실시간 스트리밍하고 S3 수명 주기를 겁니다. 정답 확인 및 해설 📖 해설 정답은 A입니다. AWS에는 여러 서비스의 백업을 한곳에서 중앙 관리해주는 'AWS Backup'이라는 훌륭한 비서가 있습니다. 여기서 '매일 한 번 백업하고 2년 뒤에 폐기해'라고 규칙(Plan)을 정의하고 RDS를 등록만 하면 끝입니다. 복원 테스트도 쉽고 규정 준수 보고서도 뽑을 수 있어 엔터프라이즈 환경에서 가장 권장되는 방식입니다. 다른 옵션인 B의 DLM은 주로 EBS 하드디스크 전용이라 RDS 스냅샷을 정교하게 관리하기엔 무리가 있고, C는 '백업'이 아닌 '로그'라 복원 용도로는 부적합합니다. D는 이사용 도구를 백업용으로 쓰는 셈이라 설정이 너무 복잡해집니다. 💡 이 문제의 핵심 용어 AWS Backup: 여러 서비스의 백업을 한곳에서 모아 규칙대로 자동 관리해주는 중앙 통제 센터 Backup Vault (백업 볼트): 백업된 금지옥엽 같은 데이터들을 안전하게 모아두는 가상 금고 Retention Period (보존 기간): 백업본을 지우지 않고 보관하기로 약속한 기간
Q260 회사의 윈도우 파일 서버를 AWS로 옮기려 합니다. 이미 사내에서 쓰고 있는 Active Directory(AD) 권한 설정을 그대로 유지하면서, 특정 그룹만 이 공유 폴더를 쓰게 하고 싶습니다. FSx for Windows를 어떻게 설정해야 할까요? AD 커넥터를 만들고, 사내 AD 그룹을 AWS IAM 그룹으로 일일이 매핑합니다. 파일마다 '규정 준수' 태그를 달고, IAM 그룹을 통해 접근을 통제합니다. FSx 전용 서비스 역할(Service-Linked Role)을 만들어서 권한을 쪼갭니다. FSx 파일 시스템 생성 시, 회사의 온프레미스 AD를 직접 연결(Join)합니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. FSx for Windows의 가장 큰 장점은 기존 윈도우 환경과의 완벽한 호환성입니다. 파일 시스템을 만들 때 회사의 AD 도메인에 가입(Join)시키기만 하면 됩니다. 그러면 따로 IAM 설정을 할 필요도 없이, 기존에 사내에서 쓰던 아이디와 그룹 권한이 그대로 적용됩니다. 직원들은 서버가 구름(AWS) 위로 올라갔는지도 모른 채 익숙한 방식으로 파일을 사용할 수 있습니다. 다른 옵션인 A, B, C는 윈도우 파일 시스템 고유의 ACL 권한 체계를 무시하고 AWS 전용 권한인 IAM으로 해결하려다 보니 설정만 복잡해지고 실제 권한 동기화도 제대로 되지 않습니다. 💡 이 문제의 핵심 용어 Active Directory (AD): 회사 직원들의 아이디와 컴퓨터, 권한을 한곳에서 관리하는 윈도우 표준 관리 도구 Amazon FSx for Windows: 윈도우 서버가 쓰는 파일 시스템(SMB)을 클라우드에서 바로 쓸 수 있게 만든 공유 저장소 Domain Join (도메인 가입): 컴퓨터나 서비스를 AD라는 관리 체계 안에 정식 멤버로 등록하는 과정
Q261 글로벌 쇼핑몰을 운영 중입니다. 손님이 모바일로 접속하면 모바일용 화면을, 데스크톱으로 오면 데스크톱용 화면을 보여주고 싶습니다. 전 세계 어디서든 가장 응답 속도가 빠르면서도 똑똑하게 '맞춤형 콘텐츠'를 배달하는 조합은? (2개 선택) CloudFront를 써서 여러 버전의 콘텐츠를 각 지역 에지에 캐시합니다. Network Load Balancer(NLB)에서 호스트 헤더를 분석해 서버를 골라줍니다. Lambda@Edge를 써서 손님의 장비 정보(User-Agent)를 읽고 맞는 파일을 던져줍니다. Global Accelerator를 깔고 오토 스케일링 서버들에게 경로를 직접 지시합니다. Global Accelerator와 NLB를 묶어 경로 기반 라우팅을 수행합니다. 정답 확인 및 해설 📖 해설 정답은 A와 C입니다. 사용자 장치에 맞는 맞춤형 배달의 핵심은 '에지(Edge) 위치'에서의 처리입니다. 먼저 Lambda@Edge(C)가 손님의 브라우저 신호를 읽고 '아, 이분은 모바일이네!'라고 판단해서 알맞은 이미지를 골라냅니다. 그 결과를 전 세계에 퍼져 있는 CloudFront의 캐시 창고(A)에 보관해두면, 다음번에 똑같은 모바일 유저는 서버까지 올 필요 없이 집 근처 에지에서 즉시 모바일 화면을 받게 되어 속도가 비약적으로 빨라집니다. 다른 옵션인 B, D, E는 주로 트래픽의 통로를 뚫어주는 네트워킹 기술이지, '어떤 장치인지'를 분석해서 내용물을 바꿔주는 섬세한 작업에는 어울리지 않습니다. 💡 이 문제의 핵심 용어 CloudFront: 전 세계 사용자에게 콘텐츠를 빠르게 전달하는 CDN 서비스 Lambda@Edge: 전 세계 곳곳의 통신 거점(에지)에서 코드를 실행해 응답을 즉석에서 가공하는 기술 User-Agent: 손님이 어떤 브라우저나 기기(아이폰, 갤럭시 등)를 쓰는지 나타내는 요청 정보
Q262 캐시 전용 네트워크(VPC)와 앱 전용 네트워크(VPC)를 따로 나눴습니다. 같은 지역(us-east-1)에 있는데, 앱 서버가 캐시 서버에 가장 싸고 빠르게 접근하게 연결하는 방법은? 두 VPC 사이에 'VPC 피어링' 통로를 뚫고 라우팅과 보안 그룹 규칙을 설정합니다. 중간에 Transit VPC를 하나 더 만들어서 모든 트래픽이 거쳐 가게 통제합니다. VPC 피어링을 뚫되, 보안 그룹 규칙에 피어링 전용 '보안 그룹'을 소스로 사용합니다. Transit VPC를 만들고 보안 그룹 역시 Transit 전용으로 통일합니다. 정답 확인 및 해설 📖 해설 정답은 A입니다. 같은 지역에 있는 두 네트워크를 연결하는 가장 가성비 좋고 빠른 방법은 'VPC 피어링'입니다. 별도의 장비나 중간 서버 없이 AWS 내부망으로 직접 대화하게 해주므로 비용도 저렴하고 속도도 최상입니다. 이때 상대방 보안 그룹 ID를 참조하여 '앱 서버 그룹만 우리 캐시에 들어올 수 있어'라고 설정하면 보안까지 깔끔하게 해결됩니다. 다른 옵션인 B와 D의 Transit VPC 방식은 관리할 서버가 늘어나고 통신 비용도 증가하는 비효율적인 선택입니다. C는 피어링 자체를 보안 그룹 소스로 쓴다는 표현이 약간 어색하며, 직접적인 보안 그룹 간 참조가 더 정확한 정답에 가깝습니다. 💡 이 문제의 핵심 용어 VPC Peering: 서로 다른 VPC를 내부 사설망으로 직접 연결해주는 무선 다리 같은 기능 ElastiCache: 데이터를 메모리에 저장해 응답 속도를 대폭 높이는 인메모리 캐시 Routing Table: 데이터가 어디로 가야 할지 길을 안내해주는 네트워크 이정표
Q263 여러 마이크로서비스를 컨테이너(Docker)로 돌리려 합니다. 인프라 관리에 힘 빼고 싶지 않고, 서버가 몇 대인지 사양이 어떤지 아예 신경 안 쓰고 '컨테이너 실행' 자체에만 집중하고 싶다면 어떤 조합이 최선일까요? (2개 선택) Amazon Elastic Container Service (ECS) 클러스터를 만듭니다. EC2 인스턴스를 직접 빌려서 그 위에 Kubernetes를 힘들게 설치합니다. ECS를 쓰되, 시작 유형을 'EC2'로 골라서 우리가 직접 서버를 관리합니다. ECS 인프라로 'Fargate'를 선택하고, 최소 2개 이상의 태스크가 돌게 설정합니다. EC2 여러 대를 띄워 Kubernetes 일꾼 노드로 등록하고 수동 배포합니다. 정답 확인 및 해설 📖 해설 정답은 A와 D입니다. 인프라 관리 업무를 '제로'로 만들고 싶다면 서버리스 컨테이너 서비스인 Fargate가 정답입니다. ECS라는 관리 도구(A)를 베이스로 깔고, 실행 방식만 Fargate(D)로 선택하면 우리가 서버 배치를 고민할 필요가 없습니다. AWS가 알아서 남는 공간에 컨테이너를 던져서 실행해주죠. 서비스 중단을 막기 위해 최소 2개 이상의 컨테이너(Task)를 돌리게 설정하면 고가용성까지 완벽하게 확보됩니다. 다른 옵션인 B, C, E는 결국 우리가 OS 패치나 서버 사양 관리를 해야 하는 'EC2' 기반이라 '인프라 관리 최소화'라는 목표에 어긋납니다. 💡 이 문제의 핵심 용어 Amazon ECS: 컨테이너들을 한곳에 모아 관리하고 지휘하는 관제 센터 AWS Fargate: 서버 관리 없이 컨테이너만 던지면 알아서 실행해주는 서버리스 엔진 Microservice (마이크로서비스): 거대한 앱을 잘게 쪼개서 각각 독립적으로 개발하고 운영하는 현대적인 설계 방식
Q264 Route 53 주소록에 서버 10대의 아이피를 등록해뒀습니다. 그런데 가끔 하나가 고장 나면, 손님들이 그 고장 난 아이피를 받아가는 바람에 '접속 불가' 오류가 뜹니다. 자동으로 죽은 녀석을 걸러내고 정상인 쪽으로만 손님을 보내는 가장 스마트한 해결책은? 각 홈페이지 주소 레코드마다 수동으로 '상태 확인' 링크를 일일이 겁니다. 장애 조치(Failover) 정책을 써서 한 대가 죽으면 예비 서버로 가게 10번 반복 설정합니다. CloudFront를 앞세우고 서버 10대를 원본으로 등록하여 감시하게 합니다. 서버들 앞에 로드 밸런서(ALB)를 하나 세우고, Route 53 주소는 이 ALB를 가리키게 합니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. 수십 명의 손님을 관리할 때는 한 명씩 주소록을 뒤지는 것보다 친절한 '안내 데스크(ALB)'를 두는 게 최고입니다. 로드 밸런서는 10대 서버의 맥박을 실시간으로 짚어보고(Health Check), 숨이 멎은 서버가 있으면 즉시 대열에서 빼버립니다. 손님은 오직 안내 데스크(ALB)의 주소만 알면 되고, 데스크가 알아서 살아있는 서버로 연결해주니 타임아웃 오류가 사라집니다. 다른 옵션인 A와 B는 서버가 늘어날수록 관리가 너무 힘들고, C는 속도 향상(캐싱)에는 좋지만 정교한 로컬 서버 상태 관리용으로는 ALB가 더 기본적이고 강력합니다. 💡 이 문제의 핵심 용어 ALB (Application Load Balancer): 교통정찰관처럼 손님들을 가장 한가한 서버로 친절히 안내해주는 장치 Health Check (상태 확인): 서버가 살아있는지 주기적으로 찔러보고 죽었으면 명단에서 빼버리는 감시 기능 Route 53: AWS의 클라우드 DNS(도메인 이름 서비스)
Q265 전 세계 사용자에게 HTTPS 사이트를 서비스하려 합니다. 보안을 위해 웹 서버는 꽁꽁 숨기면서도, 응답 속도는 사용자의 집 바로 앞에서 주는 것처럼 빠르게 만들고 싶은데, 어떤 아키텍처가 가장 완벽할까요? 퍼블릭 서브넷에 서버를 다 풀고 로드 밸런서 뒤에 둡니다. 이걸 CloudFront의 오리진으로 씁니다. 프라이빗 서브넷에 서버를 두고, 로드 밸런서 없이 바로 CloudFront와 연결합니다. 프라이빗 서브넷에 서버를 숨기고, 퍼블릭 서브넷에 로드 밸런서(ALB)를 세워 둘을 연결합니다. 그리고 이 로드 밸런서를 CloudFront의 오리진으로 지정합니다. 퍼블릭 서브넷에 로드 밸런서 없이 서버만 쫘악 깝니다. 이걸 CloudFront가 직접 찌르게 합니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. 이것이 보안과 속도의 황금 조합입니다. 웹 서버 본체는 '프라이빗 서브넷'이라는 안전한 안방에 숨깁니다. 그리고 '퍼블릭 서브넷'에는 대외 창구인 ALB를 둡니다. 이 ALB가 안방의 서버들과 대화하죠. 마지막으로 전 세계의 통신 거점(에지)인 CloudFront가 이 ALB로부터 데이터를 받아 사용자에게 배달하게 하면, 보안은 철통 같으면서도 사용자는 집 근처 에지에서 데이터를 받게 되어 엄청나게 빨라집니다. 다른 옵션인 A와 D는 서버가 인터넷에 노출되어 위험하고, B는 로드 밸런서라는 필수적인 중계기가 없어 고가용성을 확보하기 어렵습니다. 💡 이 문제의 핵심 용어 CloudFront: 전 세계 사용자에게 콘텐츠를 빠르게 전달하는 CDN 서비스 Origin (오리진): CloudFront가 원본 데이터를 가져오는 진짜 서버의 위치 HTTPS: 데이터를 암호화해서 주고받는 보안 웹 통신 규약
Q266 전 세계에 배포된 게임 플랫폼이 있습니다. 0.1초 대기 시간(Latency) 차이가 승부를 가르기에 아주 민감합니다. 어느 지역의 서버가 상태가 안 좋으면 즉시 다른 생생한 지역 서버로 손님을 돌려줘야 하는데, 가장 추천하는 기술은? AWS Global Accelerator를 구성하여 모든 지역의 로드 밸런서(ALB)를 등록합니다. CloudFront를 쓰고 람다@에지 기술로 트래픽을 요리조리 최적화해봅니다. S3에 게임 파일을 올리고 CloudFront로 뿌리는 정지 화면 전략을 씁니다. DB 옆에 DAX(인메모리 캐시)를 달아서 데이터 로딩 속도만 올립니다. 정답 확인 및 해설 📖 해설 정답은 A입니다. 게임처럼 전 세계에 흩어진 사용자에게 '전용 고속도로'를 뚫어주는 기술이 바로 Global Accelerator입니다. 사용자가 이 서비스를 타면 공용 인터넷 대신 AWS의 고품질 전용 선로를 타게 되어 지연 시간이 비약적으로 줄어듭니다. 또한 전 세계 곳곳의 서버(ALB) 상태를 감시하다가, 한쪽 지역이 아프면 즉시 가장 가까운 '건강한' 지역으로 손님을 안내해주니 이번 문제의 정답으로 완벽합니다. 다른 옵션인 B와 C는 주로 정적인 파일 배달용이라 실시간 게임 명령 전송에는 부족하고, D는 DB 성능만 올릴 뿐 네트워크 지연(네트워크 타는 시간)은 해결하지 못합니다. 💡 이 문제의 핵심 용어 Global Accelerator: 사용자에게 가장 가까운 통로를 제공하고 장애 시 자동 우회시키는 고성능 네트워크 지휘관 Anycast IP: 전 세계 어디서든 단 하나의 IP 주소로 가장 가까운 데이터 센터에 접속하게 해주는 마법 같은 기술 Latency (대기 시간/지연 시간): 데이터를 보내고 받을 때 걸리는 물리적인 시간. 게임에서는 '렉'의 주원인
Q267 백만 명의 사용자가 만드는 데이터를 실시간으로 분석하고 암호화해서 S3 창고에 차곡차곡 쌓으려 합니다. 파일 형식은 분석에 최적화된 Parquet여야 하죠. 운영 노가다를 최소로 줄이는 가장 똑똑한 배달 파이프라인은? Kinesis Data Streams로 받고, 람다를 거쳐 분석 앱으로 데이터를 수동 배달합니다. Kinesis Data Streams로 모은 뒤에 대규모 분석 군단인 EMR을 가동합니다. Kinesis Data Firehose로 바로 쏘되, 분석을 위해 비싼 EMR을 상시로 띄워둡니다. Kinesis Data Firehose가 데이터를 받아 Parquet 포맷으로 알아서 변환하게 하고, 분석은 Kinesis Data Analytics에 맡깁니다. 정답 확인 및 해설 📖 해설 정답은 D입니다. 이 조합은 '서버 관리'라는 단어 자체를 잊게 해주는 서버리스의 끝판왕입니다. Firehose(파이어호스)는 데이터를 받자마자 지정된 포맷(Parquet)으로 알아서 변환하고 암호화까지 해서 S3에 툭 던져줍니다. 여기에 Kinesis Data Analytics를 붙이면 데이터가 지나가는 동안 실시간으로 SQL을 써서 분석할 수 있습니다. 운영자는 서버 한 대도 안 띄우고 거대한 데이터 공장을 돌리는 셈이죠. 다른 옵션인 A, B, C는 관리해야 할 서버(EMR)나 코드(Lambda)가 늘어나서 운영 부담이 커지는 비효율적인 방식입니다. 💡 이 문제의 핵심 용어 Kinesis Data Firehose: 스트리밍 데이터를 받아서 S3나 Redshift로 자동 배달해주는 완전 관리형 배달부 Kinesis Data Analytics: 흘러가는 데이터 스트림 위에서 실시간으로 SQL 쿼리를 날려 분석하는 영리한 도구 Apache Parquet: 데이터를 열(Column) 단위로 압축해서 저장해 분석 속도가 기가 막히게 빠른 파일 형식
Q268 게임 순위표 웹사이트의 DB(MySQL)가 너무 느려서 난리가 났습니다. 앱 코드는 거의 손대지 않으면서도, DB 연결 효율을 높여서 지연 시간을 줄이고 싶은데, 가장 효과적인 처방은? DB 바로 앞에 ElastiCache라는 인메모리 저장소를 설치해서 미리 결과를 구워둡니다. 애플리케이션과 DB 사이에 'RDS Proxy'라는 완충 구역을 둡니다. 서버(EC2)를 갖다 버리고 람다 함수로 앱을 새로 짭니다. 관계형 DB(MySQL)를 무한 확장되는 NoSQL인 DynamoDB로 다 이사시킵니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 서버 수백 대가 DB 한 대에 줄을 서면 DB는 연결 관리만 하다가 지쳐 쓰러집니다. 이때 'RDS Proxy'를 중간에 세우면, 이 친구가 미리 연결들을 꽉 잡고 있다가 필요한 서버에게만 번환해주며 중재 역할을 합니다. 앱 코드를 거의 바꿀 필요 없이 DB 연결 주소만 Proxy로 바꾸면 되므로 적용이 아주 쉽고, DB가 훨씬 효율적으로 일하게 되어 속도가 빨라집니다. 다른 옵션인 A는 앱 코드를 대폭 고쳐야 하고, C와 D는 시스템 전체를 새로 만드는 수준의 대공사라 '최소한의 변경'이라는 목표에 탈락입니다. 💡 이 문제의 핵심 용어 RDS Proxy: 수많은 서버의 DB 연결 요청을 하나로 모아서 효율적으로 배분해주는 똑똑한 중계기 Connection Pooling: 매번 새로 연결하지 않고 미리 만들어둔 통로를 재사용하는 성능 향상 비법 MySQL: 가장 대중적으로 널리 쓰이는 오픈소스 관계형 데이터베이스
Q269 갑자기 분석가들이 데이터를 마구 조회하는 바람에 쇼핑몰 DB가 버벅거립니다. 실제 서비스(웹 앱) 속도에는 영향을 주지 않으면서, 분석가들도 즐겁게 데이터를 마음껏 보게 해주는 가장 빠르고 확실한 방법은? 데이터를 싹 뽑아서 NoSQL인 DynamoDB로 이사시키고 분석가들을 그쪽으로 안내합니다. 모든 데이터를 ElastiCache에 담아서 거기서 조회하게 합니다. 메인 DB의 복제판인 '읽기 전용 복제본(Read Replica)'을 만들고 분석가 전용으로 줍니다. 분석 전용 창고인 Redshift로 데이터를 복사하고 분석가들이 쿼리하게 합니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. 메인 DB가 힘들어하는 이유는 '쓰기(주문)'와 '읽기(분석)'가 한 서버에서 싸우기 때문입니다. 이때 '읽기 전용 복제본'을 하나 더 만들어주면 끝납니다. 메인 DB는 주문만 받고, 분석가들은 이 복제본에서 맘껏 쿼리를 날리게 하면 됩니다. 기존 앱의 코드는 하나도 고칠 필요가 없으니 가장 효율적이고 비용 대비 효과도 확실한 정석 설계입니다. 다른 옵션인 A와 D는 데이터를 옮기는 파이프라인을 새로 만들어야 해서 일이 커지고, B의 캐시는 복잡한 분석 쿼리를 수행하기엔 적합하지 않은 도구입니다. 💡 이 문제의 핵심 용어 Read Replica (읽기 전용 복제본): 메인 DB의 내용을 그대로 복사해둔 서브 DB. 조회 성능을 분산하고 재해 복구용으로 사용 Offloading (오프로딩): 한쪽으로 쏠린 짐(부하)을 다른 곳으로 분산시켜 부담을 줄여주는 전략 RDS (Relational Database Service): AWS가 대신 관리해주는 관계형 데이터베이스 서비스
Q270 회사의 소중한 로그 데이터들을 S3에 모으기로 했습니다. 데이터가 S3에 누워있을 때(유휴)는 물론이고, 서버에서 S3로 날아갈 때(전송)도 해커가 못 보게 꽁꽁 암호화하고 싶습니다. 가장 강력하고 확실한 암호화 방식은? 클라이언트 측 암호화(Client-side encryption)를 사용하여 서버에서 미리 암호화해서 보냅니다. 서버 측 암호화(Server-side encryption)를 믿고 그냥 S3에 맡깁니다. 버킷 정책(Bucket Policy)으로 SSE-S3 암호화가 아니면 아예 입장을 거절합니다. KMS 키 보안 옵션을 활성화해서 S3 전체를 자물쇠로 잠급니다. 정답 확인 및 해설 📖 해설 정답은 A입니다. '전송 중인 데이터'까지 완벽하게 보호하는 가장 확실한 방법은, 데이터가 서버를 떠나기 전(클라이언트 측)에서 미리 암호화의 갑옷을 입히는 것입니다. 이렇게 하면 인터넷 통로를 지나가는 동안에도 데이터는 이미 암호문 상태라 안전하며, S3에 도착해서 잠들 때도 그 갑옷을 입은 채라 보안이 철벽에 가까워집니다. 다른 옵션인 B와 C는 데이터가 AWS 서버에 도착한 '후'에 암호를 거는 방식이라, 아주 이론적으로는 전송되는 찰나의 순간이 노출될 위험이 있습니다. D는 암호화 도구만 설정할 뿐 전송 과정의 보안을 책임져주지는 못합니다. 💡 이 문제의 핵심 용어 Client-side Encryption: 데이터가 내 손(서버)을 떠나기 전에 미리 직접 암호화하는 가장 안전한 보안 방식 Server-side Encryption (SSE): 데이터가 AWS에 도착하면 AWS가 대신 자물쇠를 채워주는 편리한 방식 Encryption at Rest (유휴 암호화): 데이터가 저장 장치에 가만히 누워있을 때 훔쳐 가도 못 읽게 만드는 기술
Q271 매일 밤 1시에 어마어마한 양의 배치 작업이 시작되는데, 오토 스케일링이 실제 부하를 뒤늦게 알아채고 서버를 늘리느라 소중한 한 시간을 허비합니다. 미리 1시에 딱 맞춰 필요한 만큼의 서버 대대를 완벽하게 대기시켜놓는 방법은? 평소에도 오토 스케일링의 '최솟값'을 아주 높게 유지해서 낭비벽을 보입니다. 오토 스케일링의 '최댓값'만 늘려놓고 시스템이 알아서 해주길 기도합니다. 정해진 시간(오전 1시)에 미리 확 늘어나라고 '예약된 확장(Scheduled Scaling)'을 설정합니다. 한 번에 한 대씩이 아니라 10대씩 확 늘어나게 조정 정책을 공격적으로 바꿉니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. 언제 손님이 몰릴지 뻔히 알고 있다면, 시스템이 스스로 깨달을 때까지 기다릴 필요가 없습니다. '예약된 확장' 정책을 써서 "매일 새벽 0시 55분에 서버 10대를 미리 띄워놔!"라고 예약해두면 됩니다. 배치 작업이 시작되자마자 풀 파워로 일을 끝낼 수 있고, 아침이 되면 다시 서버를 줄여 돈을 아끼는 아주 영리한 전략입니다. 다른 옵션인 A는 배치 작업이 없는 23시간 동안의 비용이 낭비되고, B와 D는 여전히 부하가 발생한 '후'에 반응하기 때문에 초기 1시간의 지연 문제를 근본적으로 해결하지 못합니다. 💡 이 문제의 핵심 용어 Scheduled Scaling: 출퇴근 시간이나 이벤트처럼 미리 정해진 시간에 서버를 알아서 넣고 빼는 예약 비서 Batch Processing (배치 작업): 대용량 데이터를 일정 시간에 모아서 한꺼번에 몰아치는 작업 방식 Cooldown (휴지기): 서버가 막 늘어난 뒤 시스템이 안정될 때까지 잠시 확장을 멈추고 지켜보는 시간
Q272 미국 서부(us-west-1)에서만 돌아가는 우리 웹사이트가 전 세계적으로 인기를 끌면서, 한국이나 유럽 사용자들이 '너무 느리다'고 아우성입니다. 시스템을 다른 리전에 새로 짓기엔 너무 힘들고 비용도 많이 든다면, 가장 쉽고 빠르게 전 세계 속도를 올리는 묘수는? 기존 시스템을 다 버리고 S3 정적 웹 호스팅과 CloudFront 조합으로 싹 바꿉니다. 현재 사용 중인 로드 밸런서(ALB) 바로 앞에 CloudFront를 붙이고 '언어 헤더'를 기반으로 캐싱합니다. API 게이트웨이를 새로 만들고 모든 고속도로를 그쪽으로 통과하게 합니다. 세계 각 지역에 서버 한 대씩을 띄우고 지리적 라우팅으로 분산하는 대공사를 시작합니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 시스템 구조를 하나도 안 바꾸고 속도만 올리는 마법이 바로 CloudFront입니다. 기존 ALB 주소 앞에 CloudFront라는 전 세계 규모의 배달망을 씌우기만 하면 됩니다. 그러면 한국 유저는 서울에 있는 에지 서버에서 즉시 데이터를 받게 되어 미국까지 통신할 필요가 없어지죠. 특히나 다국어 지원까지 고려한다면, 언어 요청 헤더를 보고 그에 맞는 화면을 기억(캐싱)하게 설정하면 완벽합니다. 다른 옵션인 A는 서버가 하는 동적인 기능을 포기해야 해서 위험하고, C와 D는 시스템을 거의 새로 짓는 수준의 엄청난 노가다와 비용이 발생합니다. 💡 이 문제의 핵심 용어 CloudFront: 전 세계 사용자에게 콘텐츠를 빠르게 전달하는 CDN 서비스 Edge Location (에지 위치): 전 세계 곳곳의 주요 도시마다 설치된 AWS의 전진 기지 Accept-Language: 손님이 '나는 한국어가 편해요' 혹은 '영어가 좋아요'라고 브라우저를 통해 보내는 신호
Q273 갑작스러운 재난에 대비해 다른 리전에 '비상용 시스템'을 마련하려 합니다. 평소에는 비용을 아끼기 위해 최소한의 장비만 돌리다가(감소된 용량), 실제 재난이 터지면 즉각적으로 모든 서비스를 가동할 수 있는 가장 빠른 DR 전략은? 파일럿 라이트(Pilot Light) 방식과 Aurora 글로벌 DB를 조합합니다. 웜 스탠바이(Warm Standby) 방식과 Aurora 글로벌 DB를 씁니다. 파일럿 라이트와 일반 RDS 다중 AZ를 섞어서 구성합니다. 웜 스탠바이와 일반 RDS 다중 AZ를 섞어서 씁니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 재난 상황에서 가장 중요한 건 '얼마나 빨리 복구되느냐(RTO)'입니다. '웜 스탠바이'는 비상 지역에 최소한의 서버가 이미 '살아있는' 상태라, 사고 터지면 오토 스케일링으로 서버 대수만 늘리면 끝납니다. 특히나 Aurora 글로벌 DB를 쓰면 평소에 데이터가 1초 미만으로 자동 복제되므로, 데이터 유실도 거의 없고 복구 속도도 빛의 속도로 빠릅니다. 다른 옵션인 A의 파이럿 라이트는 비상시 서버를 새로 '켜야' 하므로 시간이 더 걸리고, C와 D의 일반 RDS는 리전을 넘나드는 자동 복제 성능이 Aurora 글로벌 DB보다 현저히 떨어집니다. 💡 이 문제의 핵심 용어 Warm Standby: 최소한의 장비를 미리 '켜두고' 대기하는 방식. 사고 시 즉시 무력 행사가 가능함 Aurora Global Database: 서로 다른 리전에 있는 DB들끼리 빛의 속도로 데이터를 공유하는 기술 RTO (Recovery Time Objective): 사고가 난 순간부터 서비스가 다시 정상화될 때까지 걸리는 목표 시간
Q274 재난 복구(DR) 솔루션을 짜야 하는데, 목표는 두 가지입니다. 하나는 4시간 안에 복구할 것, 다른 하나는 평소엔 돈을 한 푼도 안 쓸 정도로 리소스를 아낄 것! 운영상 가장 효율적인 방법은? 서버를 이미지(AMI)로 구워두고 옆 동네로 복사합니다. 사고 나면 람다와 스크립트로 인프라를 한 땀 한 땀 새로 짭니다. 서버 이미지(AMI)를 옆 동네로 복사해두고, 사고 터지면 미리 준비한 설계도(CloudFormation)로 인프라를 자동 생성합니다. 옆 동네에도 똑같은 사양의 서버를 미리 한 대 띄워서 24시간 감시하게 합니다. 같은 지역의 다른 센터(AZ)에 서버를 한 대 더 띄우고 항상 켜둡니다. 정답 확인 및 해설 📖 해설 정답은 B입니다. 평소 비용 0원과 빠른 복구(4시간)를 동시에 잡는 고수의 권법은 '클라우드 형성(CloudFormation)'을 통한 자동 배포입니다. 서버는 이미지(AMI) 파일 형태로 창고에만 보관하고(저장비만 발생), 실제 비싼 서버 장비는 하나도 안 띄웁니다. 그러다 사고가 나면 설계도(Code) 한 번 실행해서 일제히 서버를 새로 구워내는 거죠. 손으로 직접 구성하는 것(A)보다 훨씬 빠르고 정확합니다. 다른 옵션인 C와 D는 평소에도 비싼 서버 월세가 꼬박꼬박 나가기 때문에 '최소 리소스 사용'이라는 목표에 탈락입니다. 💡 이 문제의 핵심 용어 AMI (Amazon Machine Image): EC2 서버를 그대로 복사해둔 소프트웨어 붕어빵 틀 CloudFormation: 코드로 작성한 설계도만 주면 AWS 인프라를 마법처럼 뚝딱 그려내 주는 자동화 도구 DR (Disaster Recovery): 지진, 화재 등으로 서비스가 죽었을 때를 대비한 재난 복구 계획
Q275 아침마다 직원들이 출근해서 동시에 사이트를 켜면, 서버가 늘어나는 속도가 너무 느려서 렉이 걸린다고 불평입니다. 오후가 되면 다시 잠잠해지는데, 돈은 아끼면서 이 '아침의 지연' 문제를 가장 세련되게 해결하는 설정값 변경은? 출근 직전에 아빠 마음으로 서버를 미리 20대까지 확 늘려버리는 예약 명령을 겁니다. 조금만 바빠져도 바로 반응하도록 CPU 기준(임계값)을 낮추고, 서버가 늘어난 후 한숨 돌리는 시간(Cool-down)을 확 줄입니다. 대상 추적(Target Tracking) 정책을 써서 낮은 임계값을 잡고, 휴지 기간을 조절해 더 민첩하게 반응하게 만듭니다. 출근 시간부터 퇴근 시간까지 서버 대수를 20대로 꽉 묶어서 한 명도 낙오 없게 만듭니다. 정답 확인 및 해설 📖 해설 정답은 C입니다. 서버가 '필요할 때' 더 빨리 튀어나오게 가속 페달을 밟는 것이 핵심입니다. 대상 추적 정책(C)은 우리가 일일이 숫자를 정하지 않아도 "평균 CPU 40%만 유지해!"라고 명령하면 알아서 조절합니다. 여기서 임계값을 더 낮게 잡고 '휴지 기간(Cool-down)'을 줄여버리면, 아침 트래픽이 몰릴 때 서버가 망설이지 않고 연속해서 팍팍 늘어나게 되어 지연 현상을 깔끔하게 해결할 수 있습니다. 다른 옵션인 A와 D는 트래픽이 없는 오전 중반이나 점심시간에도 비싼 서버를 20대나 띄우고 있어야 해서 돈이 아주 많이 아까운 방식입니다. 💡 이 문제의 핵심 용어 Target Tracking Scaling: 자동차 크루즈 컨트롤처럼, 목표 지표(예: CPU 50%)만 정해주면 오토 스케일링이 알아서 속도를 조절하는 방식 Cooldown (휴지기): 서버가 막 늘어난 뒤 시스템이 안정될 때까지 잠시 확장을 멈추고 지켜보는 시간 Warm-up: 서버가 갓 켜진 후 실제 일을 시작할 수 있을 때까지 준비하는 시간