요약
-
CI/CD 파이프라인을 사용하면 소스 코드의 빌드, 테스트, 배포 과정을 자동화해 개발과 운영의 효율성을 높일 수 있습니다.
-
AWS CodePipeline, CodeBuild, CodeDeploy 등 서비스를 연계해 코드 변경부터 서비스 배포까지의 전체 흐름을 자동화할 수 있습니다.
-
ECS, Lambda 등 다양한 배포 환경에서 Blue/Green 배포, 롤백, IAM 권한 관리 등 실무에 필요한 CI/CD 운영 전략을 실습했습니다.
퀴즈
문제 1
CI(Continuous Integration)의 주요 목적은 무엇인가요?
A. 코드 변경 사항을 저장소에 병합할 때마다 자동으로 테스트와 빌드를 실행해 빠른 피드백을 제공한다.
B. 개발자가 직접 서버에 코드를 배포하는 과정을 단순화한다.
C. 코드 변경 사항을 수동으로 관리한다.
D. 서버의 하드웨어를 자동으로 업그레이드한다.
정답: A
해설: CI는 코드 변경 시 자동으로 빌드와 테스트를 실행하여 문제를 조기에 발견하고 빠른 피드백을 제공하는 것이 목적입니다.
문제 2
AWS CodePipeline의 주요 역할로 올바른 것은 무엇인가요?
A. 코드 저장소 역할만 한다.
B. 소스, 빌드, 배포 등 여러 단계를 연결해 전체 소프트웨어 릴리즈 과정을 자동화한다.
C. 오직 로컬 환경에서만 동작한다.
D. 데이터베이스를 자동으로 백업한다.
정답: B
해설: CodePipeline은 소스 관리, 빌드, 배포 등 여러 단계를 연결해 전체 파이프라인을 자동화합니다.
문제 3
ECS Blue/Green 배포 전략의 주요 장점은 무엇인가요?
A. 항상 최신 버전만 서비스할 수 있다.
B. 새 버전과 기존 버전을 동시에 운영하면서 트래픽을 점진적으로 전환하고, 문제 발생 시 빠르게 롤백할 수 있다.
C. 배포 시 모든 서비스가 중단된다.
D. 오직 수동 배포만 지원한다.
정답: B
해설: Blue/Green 배포는 새 버전의 안정성을 확인한 뒤 트래픽을 점진적으로 전환하고, 문제가 발생하면 즉시 이전 버전으로 롤백할 수 있어 가용성과 안정성이 높습니다.
문제 4
AWS CodeBuild에서 buildspec.yml 파일의 역할은 무엇인가요?
A. 빌드 서버의 운영체제를 관리한다.
B. 빌드, 테스트, 배포 등 빌드 프로세스의 모든 단계를 정의하는 설정 파일이다.
C. S3 버킷을 자동으로 생성한다.
D. IAM 사용자 계정을 생성한다.
정답: B
해설: buildspec.yml은 CodeBuild가 빌드 작업을 수행할 때 필요한 명령과 환경을 정의하는 핵심 설정 파일입니다.
문제 5
Lambda 함수의 CI/CD 자동화에서 CodeBuild가 Lambda 함수를 자동으로 업데이트하기 위해 추가로 필요한 IAM 권한은 무엇인가요?
A. AmazonS3FullAccess
B. Lambda 함수의 UpdateFunctionCode 작업 권한
C. RDS 데이터베이스 관리자 권한
D. EC2 인스턴스 시작 권한
정답: B
해설: CodeBuild가 Lambda 함수를 자동으로 업데이트하려면 UpdateFunctionCode 작업 권한이 필요합니다.