Amazon ECS용 로드 밸런서 상태 확인 파라미터 최적화
Amazon ECS용 로드 밸런서 상태 확인 파라미터 최적화
로드 밸런서는 로드 밸런서의 가용 영역(Availability Zone)에 있는 정상(healthy) 대상으로만 요청을 라우팅해요. 각 대상은 대상 그룹(target group)에 등록되며, 로드 밸런서는 대상 그룹 상태 확인 설정을 사용해 각 대상의 상태를 확인해요.
출처: 문서
본문
로드 밸런서는 로드 밸런서의 가용 영역에 있는 정상 대상으로만 요청을 라우팅해요. 각 대상은 대상 그룹에 등록돼요. 로드 밸런서는 대상 그룹 상태 확인 설정을 사용해 각 대상의 상태를 확인해요. 대상을 등록한 후에는 상태 확인을 한 번 통과해야 정상으로 간주돼요.
Amazon ECS는 로드 밸런서를 모니터링해요. 로드 밸런서는 Amazon ECS 컨테이너에 주기적으로 상태 확인을 보내요. Amazon ECS 에이전트는 컨테이너 상태에 대한 로드 밸런서의 보고를 모니터링하고 기다려요. 이는 컨테이너가 정상 상태라고 간주하기 전에 수행돼요.
배포 속도에 영향을 주는 두 가지 Elastic Load Balancing 상태 확인 파라미터가 있어요.
- 상태 확인 간격(Health check interval): 개별 컨테이너의 상태 확인 사이의 대략적인 시간(초)을 결정해요. 기본적으로 로드 밸런서는 30초마다 확인해요. 이 파라미터는 Elastic Load Balancing API의
HealthCheckIntervalSeconds, Amazon EC2 콘솔의Interval이라는 이름으로 표시돼요. - 정상 임계값 횟수(Healthy threshold count): 비정상 컨테이너를 정상으로 간주하기 전에 필요한 연속 성공 상태 확인 횟수를 결정해요. 기본적으로 로드 밸런서는 대상 컨테이너가 정상이라고 보고하기 전에 5번의 통과 상태 확인을 요구해요. 이 파라미터는 Elastic Load Balancing API의
HealthyThresholdCount, Amazon EC2 콘솔의Healthy threshold이라는 이름으로 표시돼요.
중요: 새로 등록된 대상의 경우 정상 임계값 횟수 설정과 관계없이 대상이 정상으로 간주되려면 성공적인 상태 확인이 한 번만 필요해요. 정상 임계값 횟수는 대상이 비정상 상태에서 정상 상태로 전환될 때만 적용돼요. 기본 설정에서 대상이 비정상이 되었다가 회복되면 컨테이너 상태를 결정하는 데 걸리는 총 시간은 2분 30초( 30초 * 5 = 150초 )예요.
서비스가 10초 안에 시작되고 안정화된다면 상태 확인 프로세스를 더 빠르게 할 수 있어요. 프로세스를 빠르게 하려면 상태 확인 간격과 정상 임계값 횟수를 줄여 주세요.
HealthCheckIntervalSeconds(Elastic Load Balancing API 이름) 또는Interval(Amazon EC2 콘솔 이름): 5HealthyThresholdCount(Elastic Load Balancing API 이름) 또는Healthy threshold(Amazon EC2 콘솔 이름): 2
이 설정에서는 상태 확인 프로세스가 기본값인 2분 30초 대신 10초가 걸려요.