spot instance 종료 전 Spot Instance interruption notice 알림을 받지 못했습니다.

0

이벤트 버스 규칙에 3가지 규칙을 정의했습니다.

  1. ec2-rebalance-recommendation { "detail-type": ["EC2 Instance Rebalance Recommendation"], "source": ["aws.ec2"] }

2.ec2-interruption-notification { "detail-type": ["EC2 Spot Instance Interruption Warning"], "source": ["aws.ec2"] }

  1. ec2-shutting-down-notification { "detail": { "state": ["shutting-down"] }, "detail-type": ["EC2 Instance State-change Notification"], "source": ["aws.ec2"] }

저 이벤트들이 발생하면 람다를 통해 슬랙으로 알림이 오도록 설정해두었습니다. 참고로 EKS노드가 모두 spot instance 로 구성되어 있습니다.

어쩔 땐 1번 -> 3번 발생 후 종료될 때가 있고 어쩔 때는 1번 -> 2번 -> 3번 발생 후 종료될 때가 있는데 어떤 차이가 있는건지 알 수 있을까요? 가이드 문서상으로 봤을 때 2번은 종료되기 2분 전에는 발생이 필수인 것 같은데 간헐적으로 2번이 발생하지 않아 질문을 남깁니다

질문됨 2달 전32회 조회
1개 답변
0

Spot Instance의 종료 과정에서 이벤트 발생 순서가 다른 이유는 여러 가지 상황에 따라 달라질 수 있습니다.

  1. EC2 Instance Rebalance Recommendation (1번) 이벤트는 Spot Instance가 중단될 위험이 높아졌을 때 발생합니다. 이는 사전 경고의 역할을 하며, 실제 중단 전에 워크로드를 다른 인스턴스로 이전할 수 있는 기회를 제공합니다.

  2. EC2 Spot Instance Interruption Warning (2번) 이벤트는 일반적으로 인스턴스 종료 2분 전에 발생해야 합니다. 하지만 이 이벤트가 발생하지 않는 경우가 있을 수 있습니다:

    • 네트워크 지연이나 문제로 인해 알림이 전달되지 않을 수 있습니다.
    • AWS 시스템 내부의 문제로 알림이 생성되지 않거나 전송되지 않을 수 있습니다.
    • 매우 급격한 용량 변동으로 인해 2분 전 알림을 보낼 시간이 없이 인스턴스가 즉시 종료될 수 있습니다.
  3. EC2 Instance State-change Notification (3번) 이벤트는 인스턴스가 실제로 종료 과정에 들어갔을 때 발생합니다.

1번 -> 3번으로 바로 넘어가는 경우는 중단 경고(2번)를 보낼 시간이 없이 빠르게 종료가 결정된 상황일 수 있습니다. 1번 -> 2번 -> 3번 순서로 발생하는 경우는 정상적인 중단 과정을 따르는 것입니다.

EKS 노드가 모두 Spot Instance로 구성되어 있다면, 이러한 중단에 대비하여 워크로드를 자동으로 재분배하는 메커니즘을 구현하는 것이 중요합니다. 또한, 애플리케이션이 인스턴스 중단에 대해 내결함성을 가지도록 설계하고, 중요한 상태 정보를 지속적으로 외부 스토리지(예: Amazon S3, EFS, FSx)에 저장하는 것이 좋습니다.

마지막으로, Spot Instance 중단 알림을 놓치는 경우에 대비하여 다중 알림 시스템을 구축하거나, 인스턴스 메타데이터를 주기적으로 확인하는 방법을 고려해볼 수 있습니다.
Sources
Spot Instance interruption notices - Amazon Elastic Compute Cloud
Spot Instance interruptions - Amazon Elastic Compute Cloud
Managing Spot Instance Interruptions - Overview of Amazon EC2 Spot Instances

profile picture
답변함 2달 전
  • 그럼 추가적으로 하나만 더 질문하겠습니다. spot instance 종료시 이를 캐치하여 종료되기 전 pod가 graceful shutdown을 할 수 있도록 작업을 해두려고 합니다. 1번 EC2 Instance Rebalance Recommendation 발생시 노드 종료 전 작업들을 수행해도 문제없을까요?

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠