Amazon ECS의 EC2 및 외부 시작 유형에 대한 컨테이너 이미지 가져오기 동작
컨테이너를 시작하는 데 걸리는 시간은 기본 컨테이너 이미지에 따라 다릅니다. 예를 들어, 더 큰 이미지(Debian, Ubuntu, Amazon1/2의 전체 버전)는 시작 시간이 더 오래 걸릴 수 있습니다. 상대적으로 슬림한 버전(Debian-slim, Ubuntu-slim, Amazon-slim) 또는 더 작은 기본 이미지(Alpine)에 비해 컨테이너에서 실행되는 서비스가 더 많기 때문입니다.
Amazon ECS 에이전트에서 작업을 시작하면 원격 레지스트리에서 Docker 이미지를 가져온 다음, 로컬 복사본을 캐싱합니다. 애플리케이션의 각 릴리스에 새 이미지 태그를 사용하는 경우 이 동작은 필요하지 않습니다.
ECS_IMAGE_PULL_BEHAVIOR
에이전트 파라미터는 이미지 가져오기 동작을 결정합니다. 다음과 같은 옵션을 사용할 수 있습니다.
-
ECS_IMAGE_PULL_BEHAVIOR
:default
이미지는 원격에서 가져옵니다. 가져오지 못하면 인스턴스의 캐싱된 이미지가 사용됩니다.
-
ECS_IMAGE_PULL_BEHAVIOR
:always
이미지는 원격에서 가져옵니다. 가져오기에 실패하면 작업에 실패합니다.
배포 속도를 높이려면 Amazon ECS 에이전트 파라미터를 다음 값 중 하나로 설정합니다.
-
ECS_IMAGE_PULL_BEHAVIOR
:once
이전에 동일 컨테이너 인스턴스의 작업에서 가져온 적이 없거나 이미지가 자동 이미지 정리 프로세스에 의해 제거된 경우에만 이미지를 원격에서 가져옵니다. 그렇지 않으면 인스턴스에 캐시된 이미지가 사용됩니다. 이 옵션은 불필요한 이미지 가져오기 시도를 방지합니다.
-
ECS_IMAGE_PULL_BEHAVIOR
:prefer-cached
캐시된 이미지가 없으면 이미지를 원격에서 가져옵니다. 그렇지 않으면 인스턴스에 캐시된 이미지가 사용됩니다. 캐시된 이미지가 제거되지 않도록 컨테이너에서 자동 이미지 정리는 꺼져 있습니다.
ECS_IMAGE_PULL_BEHAVIOR
파라미터를 위의 값 중 하나로 설정하면 Amazon ECS 에이전트가 다운로드한 기존 이미지를 사용하기 때문에 시간을 절약할 수 있습니다. 더 큰 Docker 이미지의 경우 네트워크를 통해 가져오는 데 다운로드 시간이 10~20초가 걸릴 수 있습니다.