[ANS-C01] AWS 오늘의 퀴즈 (단일 정답)

작성자: aws | 작성일: 2026년 05월 28일 | 조회: 4 | 좋아요: 0

AWS ANS-C01 | Specialty
🌐 Advanced Networking – Specialty
Q. 한 금융 기업이 레거시 모놀리식 애플리케이션을 AWS 기반 마이크로서비스 아키텍처로 전환하고 있습니다. 개발팀은 여러 마이크로서비스를 동시에 개발하고 있으며, 각 서비스는 독립적인 CI/CD 파이프라인을 통해 배포되어야 합니다. 핵심 요구사항은 다음과 같습니다: 1. **강력한 보안:** 소스 코드와 모든 빌드 아티팩트(build artifacts)는 전송 중 및 저장 시(in-transit and at-rest) 최고 수준으로 암호화되어야 하며, 파이프라인의 각 단계는 최소 권한(Least Privilege) 원칙에 따라 접근을 제어해야 합니다. 2. **완전한 자동화 및 IaC:** 모든 애플리케이션 인프라(예: Amazon ECS 클러스터, Amazon RDS 데이터베이스, AWS Lambda 함수 등)는 물론, CI/CD 파이프라인 자체도 코드로 프로비저닝 및 관리(Infrastructure as Code, IaC)되어야 합니다. 3. **무중단 배포 및 빠른 롤백:** 새로운 버전 배포 시 서비스 중단이 없어야 하며(zero-downtime deployment), 문제가 발생할 경우 신속하고 안정적인 롤백(rollback)이 가능해야 합니다. 4. **확장성 및 재사용성:** 향후 수십 개의 마이크로서비스와 여러 개발 환경(개발, 스테이징, 운영 AWS 계정)을 지원할 수 있도록 파이프라인 구성이 쉽고 재사용 가능해야 합니다. 이러한 모든 요구사항을 만족하는 가장 효율적이고 안전하며 확장 가능한 AWS CI/CD 솔루션은 무엇입니까?
A. AWS CodeCommit을 사용하여 소스 코드를 관리하고, AWS CodeBuild에서 애플리케이션을 빌드 및 테스트하며, 빌드 아티팩트는 AWS KMS(Key Management Service)로 암호화된 Amazon S3 버킷에 저장합니다. AWS CodePipeline으로 파이프라인 워크플로우를 오케스트레이션하고, AWS CloudFormation 또는 AWS CDK를 사용하여 모든 인프라 및 파이프라인 정의를 코드로 관리하며, Amazon ECS에 AWS CodeDeploy의 블루/그린(Blue/Green) 배포 전략을 적용하여 무중단 배포 및 빠른 롤백을 구현합니다.
B. GitHub Enterprise를 소스 코드 리포지토리로 사용하고, Amazon EC2 인스턴스에 Jenkins를 설치하여 CI/CD 오케스트레이션 및 빌드를 수행합니다. Ansible을 사용하여 인프라를 프로비저닝하고 구성하며, 빌드 아티팩트는 암호화되지 않은 Amazon S3 버킷에 저장합니다. 배포는 커스텀 스크립트를 통해 수동으로 제어되는 EC2 오토 스케일링 그룹(Auto Scaling Group) 업데이트 방식으로 진행합니다.
C. AWS CodeCommit을 사용하여 소스 코드를 관리하고, AWS CodeBuild에서 빌드 및 테스트를 수행합니다. 배포 워크플로우는 AWS Lambda 함수와 Amazon SQS를 조합하여 커스텀으로 구축하고, 이 Lambda 함수가 Amazon EC2 인스턴스의 사용자 데이터를 업데이트하여 애플리케이션을 배포합니다. 인프라 프로비저닝은 수동으로 AWS 콘솔에서 진행합니다.
D. AWS Amplify Console을 사용하여 프런트엔드 애플리케이션을 배포하고, AWS AppSync와 Amazon DynamoDB를 백엔드 서비스로 활용합니다. 백엔드 로직은 AWS Lambda를 사용하여 구현하고, AWS SAM(Serverless Application Model)을 통해 Lambda 함수를 배포합니다. 이 솔루션은 마이크로서비스의 복잡한 IaC 및 무중단 배포 요구사항을 충족시키기에는 적합하지 않습니다.
🎯 정답: A
✅ A. AWS CodeCommit을 사용하여 소스 코드를 관리하고, AWS CodeBuild에서 애플리케이션을 빌드 및 테스트하며, 빌드 아티팩트는 AWS KMS(Key Management Service)로 암호화된 Amazon S3 버킷에 저장합니다. AWS CodePipeline으로 파이프라인 워크플로우를 오케스트레이션하고, AWS CloudFormation 또는 AWS CDK를 사용하여 모든 인프라 및 파이프라인 정의를 코드로 관리하며, Amazon ECS에 AWS CodeDeploy의 블루/그린(Blue/Green) 배포 전략을 적용하여 무중단 배포 및 빠른 롤백을 구현합니다.
B. GitHub Enterprise를 소스 코드 리포지토리로 사용하고, Amazon EC2 인스턴스에 Jenkins를 설치하여 CI/CD 오케스트레이션 및 빌드를 수행합니다. Ansible을 사용하여 인프라를 프로비저닝하고 구성하며, 빌드 아티팩트는 암호화되지 않은 Amazon S3 버킷에 저장합니다. 배포는 커스텀 스크립트를 통해 수동으로 제어되는 EC2 오토 스케일링 그룹(Auto Scaling Group) 업데이트 방식으로 진행합니다.
C. AWS CodeCommit을 사용하여 소스 코드를 관리하고, AWS CodeBuild에서 빌드 및 테스트를 수행합니다. 배포 워크플로우는 AWS Lambda 함수와 Amazon SQS를 조합하여 커스텀으로 구축하고, 이 Lambda 함수가 Amazon EC2 인스턴스의 사용자 데이터를 업데이트하여 애플리케이션을 배포합니다. 인프라 프로비저닝은 수동으로 AWS 콘솔에서 진행합니다.
D. AWS Amplify Console을 사용하여 프런트엔드 애플리케이션을 배포하고, AWS AppSync와 Amazon DynamoDB를 백엔드 서비스로 활용합니다. 백엔드 로직은 AWS Lambda를 사용하여 구현하고, AWS SAM(Serverless Application Model)을 통해 Lambda 함수를 배포합니다. 이 솔루션은 마이크로서비스의 복잡한 IaC 및 무중단 배포 요구사항을 충족시키기에는 적합하지 않습니다.
💡 해설:
옵션 A는 AWS의 완전 관리형 CI/CD 서비스 스택을 활용하여 모든 요구사항을 가장 포괄적으로 충족합니다.
* **보안:** CodeCommit(프라이빗 Git), CodeBuild(격리된 환경, KMS 암호화 S3 아티팩트 저장), IAM 최소 권한 원칙을 통해 강력한 보안을 제공합니다.
* **자동화 및 IaC:** CodePipeline은 워크플로우를 자동화하고, CloudFormation/CDK를 통해 인프라와 파이프라인 자체를 코드로 관리하여 완전한 IaC를 구현합니다.
* **무중단 배포 및 롤백:** CodeDeploy의 블루/그린 배포는 무중단 배포를 보장하고, 문제가 발생할 경우 이전 버전으로 즉시 롤백할 수 있는 기능을 제공합니다.
* **확장성 및 재사용성:** 모든 서비스가 완전 관리형이므로 확장성이 뛰어나며, CloudFormation/CDK 템플릿을 통해 파이프라인 구성을 여러 마이크로서비스 및 환경에 쉽게 재사용할 수 있습니다.
다른 옵션들은 보안, IaC, 무중단 배포 또는 확장성 측면에서 중요한 결함이 있거나 시나리오에 부적합합니다.
🚀 Tip: AWS ANS-C01 시험은 AWS 서비스 간의 통합 및 보안, 고가용성, 비용 효율성, 운영 효율성 측면에서 최적의 솔루션을 선택하는 능력을 평가합니다. 특히, 여러 서비스의 장단점을 명확히 이해하고 주어진 시나리오의 모든 제약 조건을 만족하는 '가장 적합한(most suitable)' 답변을 찾아내는 것이 중요합니다. 완전 관리형 서비스는 운영 오버헤드를 줄이고 보안을 강화하는 데 유리합니다.
AWS CodeCommitAWS CodeBuildAWS CodeDeployAWS CodePipelineAWS CloudFormationAWS CDKAmazon S3AWS KMSAmazon ECS
🛡️ Deuktem AWS Quiz Bot | 커뮤니티 이동