컨테이너 및 AMI 최적화 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

컨테이너 및 AMI 최적화

처음 실행하는 작업 세트에서 컨테이너 크기와 구조는 중요합니다. 컨테이너가 4GB보다 큰 경우 특히 그렇습니다. 컨테이너 이미지는 레이어로 빌드됩니다. 레이어는 Docker가 세 개의 동시 스레드를 사용하여 병렬로 검색합니다. max-concurrent-downloads 파라미터를 사용하여 동시 스레드 수를 늘릴 수 있습니다. 자세한 내용은 Dockerd 설명서를 참조하십시오.

더 큰 컨테이너를 사용할 수 있지만 시작 시간을 단축하려면 컨테이너 구조와 크기를 최적화하는 것이 좋습니다.

  • 컨테이너가 작을수록 더 빨리 가져올 수 있습니다 - 컨테이너가 작을수록 애플리케이션 시작 시간이 빨라질 수 있습니다. 컨테이너 크기를 줄이려면 자주 업데이트되지 않는 라이브러리 또는 파일을 Amazon Machine Image(AMI)로 오프로드합니다. 바인드 탑재를 사용하여 컨테이너에 대한 액세스 권한을 부여할 수도 있습니다. 자세한 정보는 바인드 탑재 사용 섹션을 참조하세요.

  • 크기가 균일한 레이어를 만들고 큰 레이어를 분할합니다 - 각 레이어는 스레드 하나로 검색됩니다. 따라서 레이어가 크면 작업 시작 시간에 큰 영향을 미칠 수 있습니다. 더 큰 컨테이너 크기와 더 빠른 시작 시간 사이의 균형을 맞추려면 최대 레이어 크기를 2GB로 설정하는 것이 좋습니다. docker history your_image_id 명령을 실행하여 컨테이너 이미지 구조와 레이어 크기를 확인할 수 있습니다. 자세한 내용은 Docker 설명서를 참조하세요.

  • Amazon Elastic Container Registry를 컨테이너 리포지토리로 사용합니다 - 수천 개의 작업을 병렬로 실행하면 자체 관리형 리포지토리에 장애가 발생하거나 처리량이 제한될 수 있습니다. Amazon ECR은 대규모로 작동하며, 최대 백만 개 이상의 vCPU로 워크로드를 처리할 수 있습니다.

    Diagram showing layers of machine images and containers with data types and change frequencies.