여러 종류의 컨테이너를 여러 인스턴스에서 실행
컨테이너 오토스케일링 + 인스턴스 오토스케일링
EC2 인스턴스 같이 사용할 그룹
같이 사용되는 도커 이미지 1개 이상의 묶음 (docker-compose 비슷)
클러스터에 종속되지 않으며 실제 실행은 되지 않고 설정 저장용
cpu, memory, network 등등 설정
클러스터에 종속되며 한 클러스터에 여러개 서비스 설정할 수 있음
작업정의를 이용해서 클러스터가 갖고있는 인스턴스(컨테이너 인스턴스)에 작업 실행시킴
인스턴스 부족하거나 남을 때 사용할 EC2 오토스케일링 그룹
목표용량 %는 (작업에 필요한 인스턴스 수 / 갖고있는 인스턴스)100
100%인 경우 작업에 딱맞게 실행되지만 작업 추가할 경우 인스턴스부터 빌려야되서 오래걸림
50%인 경우 작업에 필요한 인스턴스 2
서비스 작업 실행할 인스턴스가 부족하거나 남을 때 인스턴스 오토스케일링 할 ALB 선택
서비스 등록하기 전에 클러스터에서 미리 등록해야 할 수 있음
클라우드워치 경보 기준으로 인스턴스 줄이고 늘리고 함
작업에 비해 인스턴스가 부족할 땐 1분단위 경보로 생성, 남을 땐 15분 후 경보 울려서 제거되도록 설정되어있음
오토스케일링에 클라우드워치 경보 추가로 직접 설정해서 진행할 경우 오류는 나는데 잘 되긴 하는 것 같음
작업(Task)를 어떤 인스턴스에 넣을지 선택하는 방법
작업배치할 때 조건
EC2 오토스케일링과 다름
클러스터에 있는 인스턴스에 작업배치/제약에 따라서 작업을 추가/제거함
작업정의에 도커 이미지 태그 latest로 해두고 latest 이미지 push 후
서비스만 업데이트 시켜줘서 배포
# 서비스 업데이트
aws ecs update-service \
--region ap-northeast-2 \
--cluster {cluster_name} \
--service {service_name} \
--force-new-deployment
엄청 오래걸림