컨테이너 레지스트리 모범 사례 퀴즈
마지막 업데이트: 2026년 2월 25일
컨테이너 이미지 태그 불변성(Immutability)을 적용해야 하는 주된 이유는?
A) 스토리지 비용 절감
B) 이미지 다운로드 속도 향상
C) 배포 재현성 보장 및 예기치 않은 변경 방지
D) 레지스트리 성능 최적화
정답 보기
정답: C) 배포 재현성 보장 및 예기치 않은 변경 방지
설명: 태그 불변성은 한번 푸시된 태그가 다른 이미지로 덮어씌워지는 것을 방지합니다. 이를 통해 특정 태그가 항상 동일한 이미지를 가리키게 되어, 롤백이나 감사 시 정확히 어떤 버전이 배포되었는지 추적할 수 있습니다.
프로덕션 환경에서 :latest 태그 사용이 권장되지 않는 이유로 가장 적절한 것은?
A) latest 태그는 이미지 크기가 더 크다
B) latest는 어떤 버전인지 알 수 없고 언제든 변경될 수 있다
C) latest 태그는 보안 스캔이 적용되지 않는다
D) latest는 캐싱이 되지 않아 느리다
정답 보기
정답: B) latest는 어떤 버전인지 알 수 없고 언제든 변경될 수 있다
설명: :latest 태그는 가장 최근에 푸시된 이미지를 가리키는 관례적 태그로, 실제 버전 정보를 담고 있지 않습니다. 누군가 새 이미지를 푸시하면 :latest가 가리키는 대상이 변경되어, 의도치 않은 배포 변경이나 롤백 실패를 야기할 수 있습니다.
레지스트리 미러링(Mirroring)의 주요 이점이 아닌 것은?
A) 이미지 풀 지연 시간 감소
B) 외부 레지스트리 장애 시 가용성 유지
C) 이미지 자동 보안 패치 적용
D) 네트워크 대역폭 절약
정답 보기
정답: C) 이미지 자동 보안 패치 적용
설명: 레지스트리 미러링은 이미지를 로컬에 복제하여 가용성, 속도, 대역폭을 개선합니다. 하지만 미러링 자체는 이미지 내용을 변경하지 않으므로, 보안 패치는 원본 이미지가 업데이트된 후 다시 미러링해야 적용됩니다.
컨테이너 레지스트리 재해 복구(DR) 전략으로 적절하지 않은 것은?
A) 다른 리전에 레지스트리 복제본 유지
B) 정기적인 레지스트리 백업 수행
C) 소스 코드 저장소에서 이미지를 재빌드할 수 있도록 Dockerfile 관리
D) 모든 이미지를 단일 레지스트리에 집중하여 관리 단순화
정답 보기
정답: D) 모든 이미지를 단일 레지스트리에 집중하여 관리 단순화
설명: 단일 레지스트리에 모든 이미지를 집중하면 해당 레지스트리 장애 시 전체 배포가 중단될 수 있습니다. DR을 위해서는 다중 리전 복제, 백업, 그리고 소스에서 재빌드할 수 있는 체계가 필요합니다.
컨테이너 레지스트리 비용 최적화 방법으로 효과적인 것은?
A) 모든 이미지를 프라이빗 레지스트리에 보관
B) 라이프사이클 정책으로 오래된/미사용 이미지 자동 정리
C) 이미지 태그를 자주 변경하여 새로운 레이어 생성
D) 모든 이미지에 멀티 아키텍처 빌드 적용
정답 보기
정답: B) 라이프사이클 정책으로 오래된/미사용 이미지 자동 정리
설명: 라이프사이클 정책을 통해 더 이상 필요하지 않은 이미지(오래된 빌드, 개발용 이미지 등)를 자동으로 삭제하면 스토리지 비용을 크게 절감할 수 있습니다.
CI/CD 파이프라인에서 이미지 보안 스캔을 수행해야 하는 시점으로 가장 권장되는 것은?
A) 이미지 빌드 전
B) 이미지 빌드 직후, 레지스트리 푸시 전
C) 프로덕션 배포 후
D) 주 1회 정기 스캔만 수행
정답 보기
정답: B) 이미지 빌드 직후, 레지스트리 푸시 전
설명: 빌드 직후 스캔하면 취약점이 있는 이미지가 레지스트리에 푸시되는 것을 방지할 수 있습니다. 이를 "Shift Left" 접근법이라 하며, 보안 문제를 개발 주기 초기에 발견하여 수정 비용을 줄입니다.
Kubernetes에서 특정 레지스트리의 이미지만 사용하도록 강제하는 방법은?
A) NetworkPolicy 적용
B) PodSecurityPolicy 사용
C) Admission Controller (OPA/Kyverno 등) 정책 적용
D) ResourceQuota 설정
정답 보기
정답: C) Admission Controller (OPA/Kyverno 등) 정책 적용
설명: OPA Gatekeeper나 Kyverno 같은 Admission Controller를 사용하면 특정 레지스트리(예: 사내 Harbor, ECR)에서만 이미지를 풀하도록 정책을 강제할 수 있습니다. 승인되지 않은 레지스트리의 이미지를 사용하는 Pod 생성을 거부합니다.
컨테이너 이미지 태그 네이밍 컨벤션으로 권장되는 것은?
A) 항상 :latest 사용
B) 시맨틱 버전(v1.2.3) 또는 Git SHA 기반 태그
C) 날짜만 사용 (20250225)
D) 빌드 번호만 사용 (build-123)
정답 보기
정답: B) 시맨틱 버전(v1.2.3) 또는 Git SHA 기반 태그
설명: 시맨틱 버전은 이미지의 변경 정도를 명확히 전달하고, Git SHA 태그는 정확한 소스 커밋을 추적할 수 있게 합니다. 이 두 가지를 조합(예: v1.2.3-abc1234)하면 버전 의미와 소스 추적성을 모두 얻을 수 있습니다.
Pull-through 캐시의 올바른 설명은?
A) 이미지를 푸시할 때 자동으로 외부 레지스트리에도 복제
B) 외부 레지스트리 이미지 요청 시 캐시하여 이후 로컬에서 제공
C) 여러 레지스트리의 이미지를 하나로 병합
D) 이미지 레이어를 압축하여 전송 크기 감소
정답 보기
정답: B) 외부 레지스트리 이미지 요청 시 캐시하여 이후 로컬에서 제공
설명: Pull-through 캐시는 클라이언트가 외부 레지스트리(Docker Hub, GCR 등)의 이미지를 요청할 때 프록시 역할을 합니다. 첫 요청 시 이미지를 가져와 로컬에 캐싱하고, 이후 동일 요청은 캐시에서 제공하여 외부 요청을 줄입니다.
멀티 레지스트리 전략의 장점이 아닌 것은?
A) 단일 장애점(SPOF) 제거
B) 지역별 지연 시간 최적화
C) 이미지 버전 관리 단순화
D) 레지스트리별 정책(보안, 접근 제어) 분리
마지막 업데이트