[DBS-C01] AWS 오늘의 퀴즈 (단일 정답)
작성자: aws | 작성일: 2026년 05월 16일 | 조회: 1 | 좋아요: 0
AWS DBS-C01 | Specialty
📊 Database – Specialty
Q. 한 기업이 Amazon Aurora PostgreSQL 데이터베이스를 사용하는 중요 애플리케이션을 운영하고 있습니다. 이들은 데이터베이스 스키마 마이그레이션 스크립트를 AWS CodeCommit에 저장하고 있습니다. 개발, 스테이징, 프로덕션 환경에 스키마 변경 사항을 자동으로 검증하고, 테스트하며, 배포하는 CI/CD 파이프라인을 구축하고자 합니다. 이 파이프라인은 최소한의 다운타임으로 변경 사항을 적용하고, 문제가 발생할 경우 롤백할 수 있는 기능을 포함해야 합니다. 이 기업에게 가장 효율적이고 신뢰할 수 있는 AWS 네이티브 솔루션은 무엇입니까?
A. AWS CodePipeline을 사용하여 CodeCommit의 변경 사항을 감지하고, AWS CodeBuild에서 데이터베이스 마이그레이션 도구(예: Flyway 또는 Liquibase)를 실행하여 스키마 스크립트를 적용합니다. 프로덕션 배포 전에는 수동 승인(Manual Approval) 단계를 추가하고, 필요한 경우 CodeBuild에서 롤백 스크립트를 실행하거나 이전 스냅샷으로 복구하는 절차를 마련합니다.
B. AWS Database Migration Service (DMS)를 사용하여 스키마 스크립트를 각 환경의 Aurora PostgreSQL 인스턴스로 마이그레이션합니다. 마이그레이션 작업 후에는 AWS Lambda 함수를 트리거하여 스키마 유효성을 검사하고 문제가 발생하면 DMS 작업을 중지합니다.
C. 개발자들이 로컬 환경에서 스키마 스크립트를 수동으로 실행하고, AWS Systems Manager Session Manager를 사용하여 각 환경의 EC2 인스턴스에 접속하여 스크립트를 배포합니다. 롤백은 사전에 백업된 데이터베이스 스냅샷을 수동으로 복원하여 수행합니다.
D. AWS CodeDeploy를 사용하여 각 환경의 EC2 인스턴스에 배포된 애플리케이션 코드와 함께 데이터베이스 스키마 스크립트를 배포합니다. CodeDeploy의 LifeCycle Hooks를 사용하여 스키마 변경 스크립트를 실행하고, 배포 실패 시 자동으로 이전 버전으로 롤백합니다.
🎯 정답: A
✅ A. AWS CodePipeline을 사용하여 CodeCommit의 변경 사항을 감지하고, AWS CodeBuild에서 데이터베이스 마이그레이션 도구(예: Flyway 또는 Liquibase)를 실행하여 스키마 스크립트를 적용합니다. 프로덕션 배포 전에는 수동 승인(Manual Approval) 단계를 추가하고, 필요한 경우 CodeBuild에서 롤백 스크립트를 실행하거나 이전 스냅샷으로 복구하는 절차를 마련합니다.
B. AWS Database Migration Service (DMS)를 사용하여 스키마 스크립트를 각 환경의 Aurora PostgreSQL 인스턴스로 마이그레이션합니다. 마이그레이션 작업 후에는 AWS Lambda 함수를 트리거하여 스키마 유효성을 검사하고 문제가 발생하면 DMS 작업을 중지합니다.
C. 개발자들이 로컬 환경에서 스키마 스크립트를 수동으로 실행하고, AWS Systems Manager Session Manager를 사용하여 각 환경의 EC2 인스턴스에 접속하여 스크립트를 배포합니다. 롤백은 사전에 백업된 데이터베이스 스냅샷을 수동으로 복원하여 수행합니다.
D. AWS CodeDeploy를 사용하여 각 환경의 EC2 인스턴스에 배포된 애플리케이션 코드와 함께 데이터베이스 스키마 스크립트를 배포합니다. CodeDeploy의 LifeCycle Hooks를 사용하여 스키마 변경 스크립트를 실행하고, 배포 실패 시 자동으로 이전 버전으로 롤백합니다.
💡 해설:
정답 A는 AWS CodePipeline (코드파이프라인)을 사용하여 전체 CI/CD 워크플로우를 오케스트레이션하고, AWS CodeBuild (코드빌드)에서 데이터베이스 마이그레이션 도구를 실행하여 스키마 변경 사항을 적용하는 가장 효율적이고 신뢰할 수 있는 방법입니다. CodeBuild는 스크립트 실행, 테스트 및 마이그레이션 도구 통합에 적합하며, CodePipeline의 수동 승인(Manual Approval) 단계는 프로덕션 배포 전 추가적인 검증 및 통제력을 제공합니다. 롤백 전략 또한 파이프라인 내에서 CodeBuild를 통해 구현할 수 있습니다.
B는 AWS DMS (데이터베이스 마이그레이션 서비스)가 데이터 마이그레이션에 사용되는 서비스로, 지속적인 스키마 변경 관리가 주 목적이 아닙니다. C는 수동 방식이며 CI/CD 자동화와는 거리가 멠니다. D는 AWS CodeDeploy (코드디플로이)가 애플리케이션 코드 배포에 더 적합하며, 복잡한 데이터베이스 스키마 마이그레이션에는 CodeBuild가 더 유연하고 강력한 환경을 제공합니다.
정답 A는 AWS CodePipeline (코드파이프라인)을 사용하여 전체 CI/CD 워크플로우를 오케스트레이션하고, AWS CodeBuild (코드빌드)에서 데이터베이스 마이그레이션 도구를 실행하여 스키마 변경 사항을 적용하는 가장 효율적이고 신뢰할 수 있는 방법입니다. CodeBuild는 스크립트 실행, 테스트 및 마이그레이션 도구 통합에 적합하며, CodePipeline의 수동 승인(Manual Approval) 단계는 프로덕션 배포 전 추가적인 검증 및 통제력을 제공합니다. 롤백 전략 또한 파이프라인 내에서 CodeBuild를 통해 구현할 수 있습니다.
B는 AWS DMS (데이터베이스 마이그레이션 서비스)가 데이터 마이그레이션에 사용되는 서비스로, 지속적인 스키마 변경 관리가 주 목적이 아닙니다. C는 수동 방식이며 CI/CD 자동화와는 거리가 멠니다. D는 AWS CodeDeploy (코드디플로이)가 애플리케이션 코드 배포에 더 적합하며, 복잡한 데이터베이스 스키마 마이그레이션에는 CodeBuild가 더 유연하고 강력한 환경을 제공합니다.
🚀 Tip: AWS CI/CD 서비스의 역할과 각 서비스가 어떤 유형의 배포/빌드 작업에 가장 적합한지 정확히 이해하는 것이 중요합니다. 특히 데이터베이스 스키마 마이그레이션과 같은 특수 시나리오에서 CodeBuild를 통한 스크립트/도구 실행 패턴을 잘 알아두십시오. 파이프라인 내 각 스테이지의 목적과 기능을 명확히 파악하는 것이 중요합니다.
AWS CodePipelineAWS CodeBuildAWS CodeCommitAmazon Aurora PostgreSQL
🛡️ Deuktem AWS Quiz Bot | 커뮤니티 이동