스팟 인스턴스 요청 상태 가져오기
스팟 인스턴스 요청을 추적하고 스팟 인스턴스 사용 계획을 세우는 데 도움이 되도록 Amazon EC2에서 제공하는 요청 상태를 사용합니다. 예를 들어, 요청 상태는 스팟 요청이 아직 이행되지 않는 이유를 알려주거나, 스팟 요청을 이행할 수 없는 제약 조건을 나열할 수 있습니다.
프로세스의 각 단계(스팟 요청 수명 주기라고도 함)에서 특정 이벤트에 따라 연속 요청 상태가 결정됩니다.
다음 그림에서는 스팟 인스턴스 요청이 작동하는 방식을 보여 줍니다. 요청 유형(일회성 또는 영구적)에 따라 Amazon EC2가 스팟 인스턴스를 중단할 때 또는 사용자가 스팟 인스턴스를 중지하는 경우 요청이 다시 열리는지 여부가 결정됩니다. 요청이 영구적인 경우 스팟 인스턴스가 중단된 후 요청이 다시 열립니다. 요청이 영구적이고 사용자가 스팟 인스턴스를 중지하는 경우 스팟 인스턴스를 시작한 후에만 요청이 열립니다.
요청 상태 정보 가져오기
AWS Management Console 또는 명령줄 도구를 사용하여 요청 상태 정보를 가져올 수 있습니다.
명령줄을 사용하여 요청 상태 정보 가져오는 방법
-
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 창에서 스팟 요청을 선택한 다음 스팟 요청을 선택합니다.
-
상태를 확인하려면 설명 탭에서 상태 필드를 선택합니다.
명령줄을 사용하여 요청 상태 정보를 가져오려면
다음 명령 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2 액세스 단원을 참조하세요.
-
describe-spot-instance-requests(AWS CLI)
-
Get-EC2SpotInstanceRequest(AWS Tools for Windows PowerShell)
스팟 요청 상태 코드
스팟 요청 상태 정보는 상태 코드, 업데이트 시간 및 상태 메시지로 구성됩니다. 이러한 정보를 하나로 모으면 스팟 요청 배치를 결정하는 데 도움이 됩니다.
다음은 스팟 요청 상태 코드입니다.
az-group-constraint
-
Amazon EC2가 동일한 가용 영역에 요청한 모든 인스턴스를 시작할 수 있는 것은 아닙니다.
bad-parameters
-
스팟 요청에 대한 파라미터 하나 이상이 올바르지 않습니다(예를 들어, 지정한 AMI가 존재하지 않음). 상태 메시지는 어떤 파라미터가 유효하지 않은지를 나타냅니다.
canceled-before-fulfillment
-
요청이 이행되기 전에 사용자가 스팟 요청을 취소했습니다.
capacity-not-available
-
요청한 인스턴스에 사용 가능한 용량이 부족합니다.
constraint-not-fulfillable
-
하나 이상의 제약 조건이 올바르지 않기 때문에(예: 가용 영역이 존재하지 않음) 스팟 요청을 이행할 수 없습니다. 상태 메시지는 어떤 제약 조건이 유효하지 않은지를 나타냅니다.
fulfilled
-
스팟 요청이
active
이고 Amazon EC2에서 스팟 인스턴스를 시작하는 중입니다. instance-stopped-by-price
-
스팟 가격이 최고 가격을 초과하여 인스턴스가 중지됩니다.
instance-stopped-by-user
-
사용자가 인스턴스를 중지했거나 인스턴스에서 종료 명령을 실행했기 때문에 인스턴스가 중지되었습니다.
instance-stopped-no-capacity
-
EC2 용량 관리 필요성으로 인해 인스턴스가 중지되었습니다.
instance-terminated-by-price
-
스팟 가격이 최고 가격을 초과하여 인스턴스가 종료됩니다. 요청이 영구적일 경우 프로세스가 다시 시작되므로 요청은 평가 보류 상태입니다.
instance-terminated-by-schedule
-
스팟 인스턴스가 예약 기간의 만료로 종료되었습니다.
instance-terminated-by-service
-
인스턴스가 중지된 상태에서 종료되었습니다.
instance-terminated-by-user
, 또는spot-instance-terminated-by-user
-
이행된 스팟 인스턴스를 종료했으므로 요청 상태는
closed
이고(영구 요청이 아닌 경우) 인스턴스 상태는terminated
입니다. instance-terminated-launch-group-constraint
-
시작 그룹에 있는 하나 이상의 인스턴스가 종료되었으므로 시작 그룹 제약 조건이 더 이상 충족되지 않습니다.
instance-terminated-no-capacity
-
표준 용량 관리 프로세스로 인해 인스턴스가 종료되었습니다.
launch-group-constraint
-
Amazon EC2가 동일한 시간에 요청한 모든 인스턴스를 시작할 수 있는 것은 아닙니다. 시작 그룹에 있는 모든 인스턴스가 함께 시작되고 종료됩니다.
limit-exceeded
-
EBS 볼륨 또는 전체 볼륨 스토리지 수 제한을 초과했습니다. 자세한 내용은 Amazon EBS 사용 설명서의 Quotas for Amazon EBS를 참조하세요.
marked-for-stop
-
스팟 인스턴스가 중지할 대상으로 표시되어 있습니다.
marked-for-termination
-
스팟 인스턴스가 종료할 대상으로 표시되어 있습니다.
not-scheduled-yet
-
예정된 날짜까지 스팟 요청이 평가되지 않습니다.
pending-evaluation
-
스팟 인스턴스 요청을 수행한 후 시스템에서 요청 파라미터를 평가하는 동안 요청이
pending-evaluation
상태로 전환됩니다. pending-fulfillment
-
Amazon EC2에서 스팟 인스턴스를 프로비저닝하려고 합니다.
placement-group-constraint
-
이 시점에는 스팟 인스턴스를 배치 그룹에 추가할 수 없으므로 아직 스팟 요청을 이행할 수 없습니다.
price-too-low
-
최고 가격이 스팟 가격보다 낮기 때문에 요청을 이행할 수 없습니다. 이 경우 인스턴스가 시작되지 않으며 요청이
open
상태로 유지됩니다. request-canceled-and-instance-running
-
스팟 인스턴스가 아직 실행되고 있는 중에 사용자가 스팟 요청을 취소했습니다. 요청은
cancelled
상태지만 인스턴스는 여전히running
상태입니다. schedule-expired
-
지정된 날짜 이전에 요청이 이행되지 않았기 때문에 스팟 요청이 만료되었습니다.
system-error
-
예상치 않은 시스템 오류입니다. 이 문제가 반복되면 AWS Support에 문의하여 지원을 받으세요.
EC2 스팟 인스턴스 요청 이행 이벤트
스팟 인스턴스 요청이 이행되면 Amazon EC2가 EC2 스팟 인스턴스 요청 이행 이벤트를 Amazon EventBridge로 전송합니다. 이 이벤트가 발생할 때마다 Lambda 함수를 호출하거나 Amazon SNS 주제를 알리는 등의 조치를 취하는 규칙을 생성할 수 있습니다.
다음은 이 이벤트의 예제 데이터입니다.
{
"version": "0",
"id": "01234567-1234-0123-1234-012345678901
",
"detail-type": "EC2 Spot Instance Request Fulfillment",
"source": "aws.ec2",
"account": "123456789012
",
"time": "yyyy
-mm
-dd
Thh
:mm
:ss
Z",
"region": "us-east-2
",
"resources": ["arn:aws:ec2:us-east-2
:123456789012
:instance/i-1234567890abcdef0
"],
"detail": {
"spot-instance-request-id": "sir-1a2b3c4d
",
"instance-id": "i-1234567890abcdef0
"
}
}
자세한 내용은 https://docs.aws.amazon.com/eventbridge/latest/userguide/Amazon EventBridge 사용 설명서를 참조하세요.