인스턴스 메타데이터를 통해 대상 라이프사이클 상태 검색 - Amazon EC2 Auto Scaling

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

인스턴스 메타데이터를 통해 대상 라이프사이클 상태 검색

사용자가 시작하는 각 Auto Scaling 인스턴스는 여러 라이프사이클 상태를 거칩니다. 특정 라이프사이클 상태 전환 시에 행동하는 인스턴스 내로부터 맞춤 조치를 호출하려면 인스턴스 메타데이터를 통해 대상 라이프사이클 상태를 검색해야 합니다.

예컨대, 인스턴스가 해지되기 전에 인스턴스에서 일부 코드를 실행하기 위해 인스턴스 내부에서 인스턴스 해지를 감지하는 메커니즘이 필요할 수 있습니다. 인스턴스에서 직접 인스턴스의 라이프사이클 상태를 폴링하는 코드를 작성하여 이 작업을 수행할 수 있습니다. 그런 다음 Auto Scaling 그룹에 라이프사이클 후크를 추가하여 코드에서 계속하라는 complete-lifecycle-action 명령을 보낼 때까지 인스턴스를 계속 실행할 수 있습니다.

Auto Scaling 인스턴스 라이프사이클에는 InServiceTerminated의 두 가지 기본 건전 상태 및 DetachedStandby의 두 가지 부 건전 상태가 있습니다. 웜 풀을 사용하는 경우, 라이프사이클에는 Warmed:Hibernated, Warmed:Running, Warmed:StoppedWarmed:Terminated의 네 가지 추가 건전 상태가 있습니다.

인스턴스가 이전 건전 상태 중 하나로 전환될 준비가 되면 Amazon EC2 Auto Scaling은 autoscaling/target-lifecycle-state 인스턴스 메타데이터 항목의 값을 업데이트합니다. 인스턴스 내에서 대상 라이프사이클 상태를 가져오려면 인스턴스 메타데이터 서비스를 사용하여 인스턴스 메타데이터에서 해당 상태를 검색해야 합니다.

참고

인스턴스 메타데이터는 애플리케이션에서 인스턴스 정보를 쿼리하는 데 사용할 수 있는 Amazon EC2 인스턴스 관련 데이터입니다. 인스턴스 메타데이터 서비스는 지역 코드가 인스턴스 메타데이터에 액세스하기 위해 사용하는 온인스턴스 구성 요소입니다. 지역 코드에는 인스턴스에서 실행 중인 사용자 데이터 스크립트 또는 애플리케이션이 포함될 수 있습니다.

지역 코드는 인스턴스 메타데이터 서비스 버전 1(IMDSv1) 또는 인스턴스 메타데이터 서비스 버전 2(IMDSv2)의 두 가지 방법 중 하나를 사용하여 실행 중인 인스턴스에서 인스턴스 메타데이터에 액세스할 수 있습니다. IMDSv2는 세션 지향 요청을 사용하며 인스턴스 메타데이터에 액세스하기 위해 사용될 수 있는 여러 타입의 취약성을 완화합니다. 이 두 가지 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서의 IMDSv2 사용을 참조하십시오.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/autoscaling/target-lifecycle-state
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/autoscaling/target-lifecycle-state

출력의 예제는 다음과 같습니다.

InService

대상 라이프사이클 상태는 인스턴스가 전환 중인 대상 상태입니다. 현재 라이프사이클 상태는 인스턴스의 현재 상태입니다. 이런 상태는 라이프사이클 작업이 완료되고 인스턴스가 대상 라이프사이클 상태로 전환을 끝마친 후에도 동일할 수 있습니다. 인스턴스 메타데이터에서 인스턴스의 현재 라이프사이클 상태를 검색할 수 없습니다.

Amazon EC2 Auto Scaling은 2022년 3월 10일에 대상 라이프사이클 상태를 생성하기 시작했습니다. 인스턴스가 이 날짜 이후에 대상 라이프사이클 상태 중 하나로 전환되면 인스턴스 메타데이터에 대상 라이프사이클 상태 항목이 있습니다. 그렇지 않은 경우, 해당 항목이 없고 HTTP 404 오류가 발생합니다.

인스턴스 메타데이터 검색에 대한 자세한 내용은 Amazon EC2 사용 설명서의 인스턴스 메타데이터 검색을 참조하십시오.

대상 라이프사이클 상태를 사용하는 사용자 데이터 스크립트에서 맞춤 작업을 통해 라이프사이클 후크를 만드는 방법을 설명하는 자습서는 자습서: 인스턴스 메타데이터를 통해 대상 라이프사이클 상태를 검색하도록 사용자 데이터 구성 섹션을 참조하세요.

중요

가능한 한 빨리 맞춤 작업을 호출할 수 있도록 로컬 코드에서 IMDS를 자주 폴링하고 오류가 발생하면 다시 시도해야 합니다.