Artifact Registry는 컨테이너 이미지를 관리하는 데 권장되는 서비스입니다. Container Registry가 계속 지원되지만 중요한 보안 수정사항만 제공됩니다. Artifact Registry로 전환하는 방법을 알아보세요.

컨테이너 권장사항

이 페이지에서는 컨테이너 이미지 빌드 및 실행을 위한 권장사항에 대한 정보를 제공합니다.

컨테이너 빌드

컨테이너 이미지 빌드 방식은 빌드 및 배포 속도와 이미지 유지 관리에 필요한 작업에 영향을 줄 수 있습니다.

더 쉽게 빌드하고 실행할 수 있는 컨테이너를 빌드에 대한 권장사항을 알아보세요.

이미지 빌드에 대한 Docker 권장사항도 읽어볼 수 있습니다.

컨테이너 작업

컨테이너 작업을 위한 권장사항을 알아보세요. 여기에는 Google Kubernetes Engine 및 컨테이너에서 전반적으로 애플리케이션을 보다 쉽게 실행할 수 있는 보안, 모니터링, 로깅 권장사항이 포함됩니다.

공개 레지스트리 관련 고려사항

다음 경우는 신중하게 고려하세요.

공개 소스의 이미지 사용

Docker Hub와 같은 공개 소스의 이미지를 사용하는 경우 조직에서 소프트웨어 공급망에 제어하지 않는 코드를 도입하게 됩니다. 위험을 완화하기 위해 다음을 수행할 수 있습니다.

  • 자체 이미지를 빌드하여 이미지 콘텐츠를 제어합니다.
  • 표준화된 기본 이미지를 사용하고 해당 이미지를 기반으로 빌드하세요.
  • 이미지에서 취약점을 검사하고 식별된 취약점을 해결합니다.
  • 배포하는 이미지에 표준 및 정책을 적용합니다.

공개 이미지 고려사항 자세히 알아보기

레지스트리 공개

allUsers ID에 레지스트리 스토리지 버킷에 대한 읽기 액세스 권한을 부여하여 Google Cloud 프로젝트에 있는 레지스트리를 공개로 설정할 수 있습니다.

모든 사용자에게 Google Cloud 계정이 있는 경우 allAuthenticatedUsers ID로 인증된 사용자로 액세스를 제한할 수 있습니다.

레지스트리를 공개하기 전에 다음 가이드라인을 고려하세요.

  • 레지스트리에 저장한 모든 이미지가 공개적으로 공유 가능하고 사용자 인증 정보, 개인 데이터, 기밀 데이터를 노출하지 않는지 확인합니다.
  • 사용자가 이미지를 가져올 때 네트워크 이그레스 요금이 부과됩니다. 인터넷 다운로드 트래픽이 많을 것으로 예상되는 경우 관련 비용을 고려하세요.
  • 기본적으로 프로젝트의 사용자당 할당량은 무제한입니다. 남용을 방지하려면 프로젝트 내에서 사용자당 할당량에 한도를 설정합니다.

사용하지 않는 이미지 삭제

사용하지 않는 컨테이너 이미지를 삭제하여 스토리지 비용을 줄이고 이전 소프트웨어 사용의 위험을 완화합니다. gcr-cleaner를 포함하여 이 작업에 도움이 되는 다양한 도구가 있습니다. gcr-cleaner 도구는 공식 Google 제품이 아닙니다.

컨테이너 보안 평가

인터넷 보안 센터(CIS)에는 Docker 컨테이너의 보안을 평가하는 Docker Benchmark가 있습니다.

Docker는 Docker Bench for Security라는 오픈소스 스크립트를 제공합니다. 이 스크립트를 사용하면 CIS Docker Benchmark를 기준으로 실행 중인 Docker 컨테이너의 유효성을 검사할 수 있습니다.

Docker Bench For Security는 CIS Docker Benchmark의 여러 항목을 확인하는 데 도움이 되지만 모든 항목을 스크립트로 확인할 수 있는 것은 아닙니다. 예를 들어 스크립트는 컨테이너의 호스트가 강화되었는지, 컨테이너 이미지에 개인 정보가 포함되어 있는지 확인할 수 없습니다. 벤치마크의 모든 항목을 검토하고 추가 확인이 필요한 사항을 파악하세요.

배포 보호

Google Kubernetes Engine에서 보안 소프트웨어 공급망을 구축하고, Google Cloud에서 취약점 스캔 및 Binary Authorization을 사용하여 배포 정책을 정의하고 시행하는 방법에 대해 알아보세요.

소프트웨어 공급망을 보호하는 방법에 대해 설명하는 동영상도 시청할 수 있습니다.