Amazon Elastic Container Service(Amazon ECS)를 사용하여 이미지를 가져올 때 지연 시간을 줄이려고 합니다.
해결 방법
이미지 크기 줄이기
이미지 풀 타임을 줄이려면 이미지 크기를 줄이십시오. 이미지 크기를 줄이는 방법에 대한 자세한 내용은 Docker Docs 웹사이트에서 모범 사례 구축을 참조하십시오.
Amazon Linux 2023 컨테이너 이미지를 사용하는 경우 AL2023 최소 컨테이너 이미지를 사용하여 이미지 크기를 줄이는 것이 좋습니다.
가장 가까운 AWS 리전 엔드포인트 사용
지연 시간을 줄이려면 애플리케이션이 실행되는 위치와 가장 가까운 리전 엔드포인트를 사용하십시오.
Amazon Elastic Container Registry(Amazon ECR) Public 또는 Docker Hub와 같은 퍼블릭 레지스트리를 사용하는 경우에는 풀스루 캐시를 사용하십시오. 풀스루 캐시를 사용하면 애플리케이션과 동일한 엔드포인트를 갖는 프라이빗 레지스트리에 이미지를 배포할 수 있습니다. 자세한 내용은 Amazon ECR 프라이빗 레지스트리와 업스트림 레지스트리 동기화를 참조하십시오.
다른 리전의 Amazon ECR 프라이빗 레지스트리에 이미지가 이미 있는 경우 프라이빗 이미지 복제를 사용하십시오. 프라이빗 이미지 복제를 사용하면 애플리케이션 리전에 동일한 이미지를 배포할 수 있습니다.
ECS_IMAGE_PULL_BEHAVIOR를 한 번으로 설정
Amazon Elastic Compute Cloud(Amazon EC2) 시작 유형을 사용하는 경우 ECS_IMAGE_PULL_BEHAVIOR 파라미터를 수정하여 Amazon ECS 풀 동작을 구성하십시오. 컨테이너 인스턴스 스토리지를 줄이려면 ECS_IMAGE_PULL_BEHAVIOR를 once로 설정하십시오. 이 구성은 캐시된 이미지를 사용하며, 이전에 이미지를 가져온 적이 없거나 자동 정리를 통해 제거된 경우에만 이미지를 원격으로 가져옵니다. 이미지 정리에 대한 자세한 내용은 자동 Amazon ECS 작업 및 이미지 정리를 참조하십시오.
다음 예에서는 ECS_IMAGE_PULL_BEHAVIOUR가 한 번으로 설정됩니다. amazonlinux:2023-minimal 컨테이너를 사용한 작업이 처음으로 시작되면 EC2 인스턴스의 Amazon ECS 에이전트가 이미지를 가져옵니다. 이미지 풀이 언제 시작되고 종료되었는지 확인하려면 msg 값을 확인하고, 이미지 풀 타임을 확인하려면 elapsed 및 elapsedMs를 참조하십시오.
level=info time=2024-11-11T17:02:09Z msg="Pulling image for container concurrently" container="al2023" image="amazonlinux:2023-minimal" task="taskid"
level=info time=2024-11-11T17:02:14Z msg="Finished pulling image for container" task="taskid" container="al2023" image="amazonlinux:2023-minimal" elapsed="4.6245648s" elapsedMs=4624
amazonlinux:2023-minimal 컨테이너를 사용한 작업이 두 번째로 시작되면 Amazon ECS 에이전트가 캐시를 사용하지만 이미지를 가져오지는 않습니다. Amazon ECS가 캐시된 이미지를 찾아서 사용했는지 확인하려면 msg 값을 확인하십시오.
level=info time=2024-11-11T17:07:06Z msg="Found cached image, use it directly for container" task="taskid" container="al2023" image="amazonlinux:2023-minimal"
Amazon ECS 에이전트 구성 파라미터에 대한 자세한 내용은 Amazon ECS 컨테이너 에이전트 구성을 참조하십시오.
관련 정보
Amazon ECR의 교차 리전 복제가 도입됨
Amazon ECR의 성능 최적화