EC2 인스턴스에서 실행되는 Amazon ECS 워크로드 안전하게 중지하기

EC2 인스턴스에서 실행되는 Amazon ECS 워크로드 안전하게 중지하기

관리형 인스턴스 드레이닝(managed instance draining)은 Amazon EC2 인스턴스의 정상적인(graceful) 종료를 용이하게 해 줘요. 이로써 워크로드가 안전하게 중지되고 종료되지 않는 인스턴스로 다시 스케줄링될 수 있어요.

출처: 문서

본문

관리형 인스턴스 드레이닝은 Amazon EC2 인스턴스의 정상적인 종료를 용이하게 해 줘요. 이로써 워크로드가 안전하게 중지되고 종료되지 않는 인스턴스로 다시 스케줄링될 수 있어요. 인프라 유지 관리와 업데이트는 워크로드 중단을 걱정하지 않고 수행돼요. 관리형 인스턴스 드레이닝을 사용하면 Amazon EC2 인스턴스 교체가 필요한 인프라 관리 워크플로우가 단순화되면서 애플리케이션의 복원력과 가용성을 보장할 수 있어요.

Amazon ECS 관리형 인스턴스 드레이닝은 Auto Scaling 그룹 인스턴스 교체와 함께 작동해요. 인스턴스 리프레시와 최대 인스턴스 수명에 따라 고객은 용량이 최신 OS 및 보안 요구 사항을 준수하도록 할 수 있어요. 관리형 인스턴스 드레이닝은 Amazon ECS 용량 제공자(capacity provider)에서만 사용할 수 있어요. Amazon ECS 콘솔, AWS CLI 또는 SDK를 사용해 Auto Scaling 그룹 용량 제공자를 만들거나 업데이트할 때 관리형 인스턴스 드레이닝을 켤 수 있어요.

Amazon ECS 관리형 인스턴스 드레이닝이 다루는 이벤트는 다음과 같아요.

  • Auto Scaling 그룹 인스턴스 리프레시 - 인스턴스 리프레시를 사용해 Auto Scaling 그룹의 Amazon EC2 인스턴스를 배치 단위로 수동으로 교체하는 대신 롤링 교체를 수행해요. 많은 수의 인스턴스를 교체해야 할 때 유용해요. 인스턴스 리프레시는 Amazon EC2 콘솔 또는 StartInstanceRefresh API를 통해 시작돼요. 관리형 종료 보호(managed termination protection)를 사용한다면 StartInstanceRefresh 를 호출할 때 Scale-in protection에 대해 Replace 를 선택해야 해요.
  • 최대 인스턴스 수명 - Auto Scaling 그룹 인스턴스를 교체할 때 최대 수명을 정의할 수 있어요. 이는 내부 보안 정책이나 규정 준수에 따라 교체 인스턴스를 스케줄링하는 데 유용해요.
  • Auto Scaling 그룹 스케일인 - 스케일링 정책과 예약 스케일링 작업에 따라 Auto Scaling 그룹은 인스턴스의 자동 스케일링을 지원해요. Auto Scaling 그룹을 Amazon ECS 용량 제공자로 사용하면 태스크가 실행되지 않는 Auto Scaling 그룹 인스턴스를 스케일 인할 수 있어요.
  • Auto Scaling 그룹 상태 확인 - Auto Scaling 그룹은 비정상 인스턴스의 종료를 관리하는 많은 상태 확인을 지원해요.
  • CloudFormation 스택 업데이트 - CloudFormation 스택에 UpdatePolicy 속성을 추가해 그룹 변경 시 롤링 업데이트를 수행할 수 있어요.
  • Spot 용량 리밸런싱 - Auto Scaling 그룹은 Amazon EC2 용량 리밸런스 알림에 따라 중단 위험이 더 높은 Spot Instance를 사전에 교체하려고 해요. Auto Scaling 그룹은 교체 인스턴스가 시작되고 정상이 되면 기존 인스턴스를 종료해요. Amazon ECS 관리형 인스턴스 드레이닝은 Spot Instance를 비-Spot 인스턴스와 동일한 방식으로 드레이닝해요.
  • Spot 중단 - Spot Instance는 2분 사전 알림과 함께 종료돼요. Amazon ECS 관리형 인스턴스 드레이닝은 이에 대응해 인스턴스를 드레이닝 상태로 전환해요.

Amazon EC2 Auto Scaling 수명 주기 후크와 관리형 인스턴스 드레이닝 Auto Scaling 그룹 수명 주기 후크는 인스턴스 수명 주기의 특정 이벤트에 의해 트리거되어 해당 이벤트가 발생할 때 사용자 지정 작업을 수행하는 솔루션을 만들 수 있게 해 줘요. Auto Scaling 그룹은 최대 50개의 후크를 허용해요. 여러 종료 후크가 존재할 수 있으며 병렬로 수행되고, Auto Scaling 그룹은 인스턴스를 종료하기 전에 모든 후크가 완료되기를 기다려요.

Amazon ECS 관리형 후크 종료 외에도 사용자 고유의 수명 주기 종료 후크를 구성할 수 있어요. 수명 주기 후크에는 기본 작업(default action)이 있으며, 사용자 지정 후크의 오류가 Amazon ECS 관리형 후크 같은 다른 후크에 영향을 주지 않도록 기본값을 continue 로 설정할 것을 권장해요. 이미 Auto Scaling 그룹 종료 수명 주기 후크를 구성하고 Amazon ECS 관리형 인스턴스 드레이닝도 활성화했다면 두 수명 주기 후크가 모두 수행돼요. 그러나 상대적 타이밍은 보장되지 않아요. 수명 주기 후크에는 시간 초과가 경과할 때 취할 작업을 지정하는 기본 작업 설정이 있어요. 실패가 발생할 경우 사용자 지정 후크의 기본 결과로 continue 를 사용할 것을 권장해요. 이렇게 하면 특히 Amazon ECS 관리형 후크 같은 다른 후크가 사용자 지정 수명 주기 후크의 오류에 영향을 받지 않도록 보장돼요. 대체 결과인 abandon 은 모든 다른 후크를 건너뛰게 하므로 피해야 해요.

더 알아보기 (Learn more)