스팟 요청 상태 - Amazon Elastic Compute Cloud

스팟 요청 상태

스팟 인스턴스 요청을 추적하고 스팟 인스턴스 사용 계획을 세우는 데 도움이 되도록 Amazon EC2에서 제공하는 요청 상태를 사용합니다. 예를 들어, 요청 상태는 스팟 요청이 아직 이행되지 않는 이유를 알려주거나, 스팟 요청을 이행할 수 없는 제약 조건을 나열할 수 있습니다.

프로세스의 각 단계(스팟 요청 수명 주기라고도 함)에서 특정 이벤트에 따라 연속 요청 상태가 결정됩니다.

스팟 요청의 수명 주기

다음 다이어그램에서는 제출부터 종료까지 전체 수명 주기 동안 스팟 요청이 따를 수 있는 경로를 보여 줍니다. 각 단계는 노드로 묘사되며 각 노드의 상태 코드는 스팟 요청 및 스팟 인스턴스의 상태를 설명합니다.


					스팟 인스턴스 요청의 수명 주기입니다.
평가 보류

하나 이상의 요청 파라미터가 유효하지 않은 경우(bad-parameters)를 제외하고, 스팟 인스턴스 요청을 생성하는 즉시 요청은 pending-evaluation 상태로 전환됩니다.

상태 코드 요청 상태 인스턴스 상태
pending-evaluation open 해당 사항 없음
bad-parameters closed 해당 사항 없음
보류

하나 이상의 요청 제약 조건이 적용되지만 아직 충족될 수 없는 경우 또는 용량이 부족한 경우 요청은 제약 조건이 충족될 때까지 대기하는 보류 상태로 전환됩니다. 요청 옵션은 요청이 이행될 가능성에 영향을 미칩니다. 예를 들어 용량이 없는 경우 가용 용량이 가용할 때까지 요청은 보류 상태로 유지됩니다. 가용 영역 그룹을 지정할 경우 가용 영역 제약 조건이 충족될 때까지 요청은 보류 상태로 유지됩니다.

특정 가용 영역 중단 시, 다른 가용 영역에서의 스팟 인스턴스 요청에 사용할 수 있는 예비 EC2 용량이 영향을 받을 수 있습니다.

상태 코드 요청 상태 인스턴스 상태
capacity-not-available open

해당 사항 없음

price-too-low open

해당 사항 없음

not-scheduled-yet open

해당 사항 없음

launch-group-constraint open

해당 사항 없음

az-group-constraint open

해당 사항 없음

placement-group-constraint open

해당 사항 없음

constraint-not-fulfillable open

해당 사항 없음

평가/이행 보류-끝

특정 기간 동안에만 유효한 요청을 생성하는 경우 요청이 이행 보류 단계에 도달하기 전에 이 기간이 만료되면 스팟 인스턴스 요청은 terminal 상태로 전환될 수 있습니다. 요청을 취소하거나 시스템 오류가 발생하는 경우에도 이와 같이 될 수 있습니다.

상태 코드 요청 상태 인스턴스 상태
schedule-expired cancelled

해당 사항 없음

canceled-before-fulfillment ¹ cancelled

해당 사항 없음

bad-parameters failed

해당 사항 없음

system-error closed

해당 사항 없음

¹ 사용자가 요청을 취소하는 경우.

이행 보류

지정한 제약 조건(있는 경우)이 충족되면 스팟 요청이 pending-fulfillment 상태가 됩니다.

이 시점에 Amazon EC2는 요청한 인스턴스를 프로비저닝할 준비를 합니다. 프로세스가 이 시점에 중지되는 경우 스팟 인스턴스가 시작되기 전에 사용자가 프로세스를 취소했기 때문일 수 있습니다. 예기치 않은 시스템 오류가 원인일 수도 있습니다.

상태 코드 요청 상태 인스턴스 상태
pending-fulfillment open

해당 사항 없음

이행됨

스팟 인스턴스에 대한 모든 사양이 충족되면 스팟 요청이 이행됩니다. Amazon EC2가 스팟 인스턴스를 시작합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다. 중단된 스팟 인스턴스가 최대 절전 모드로 전환되거나 중지되는 경우 요청을 다시 이행할 수 있거나 요청이 취소될 때까지 인스턴스는 이 상태를 유지합니다.

상태 코드 요청 상태 인스턴스 상태
fulfilled active pendingrunning
fulfilled active stoppedrunning

스팟 인스턴스를 중지하면 스팟 인스턴스를 다시 시작할 수 있거나 요청을 취소할 때까지 스팟 요청이 marked-for-stop 또는 instance-stopped-by-user 상태로 전환됩니다.

상태 코드 요청 상태 인스턴스 상태
marked-for-stop active stopping
instance-stopped-by-user ¹ disabled 또는 cancelled ² stopped

¹ 인스턴스를 중지하거나 인스턴스에서 종료 명령을 실행하면 스팟 인스턴스가 instance-stopped-by-user 상태가 됩니다. 인스턴스를 중지한 후 다시 시작할 수 있습니다. 다시 시작하면 스팟 인스턴스 요청이 pending-evaluation 상태가 되고 제약 조건이 충족되면 Amazon EC2가 새 스팟 인스턴스를 시작합니다.

² 스팟 인스턴스를 중지하지만 요청을 취소하지 않는 경우 스팟 요청 상태는 disabled입니다. 스팟 인스턴스가 중지되고 요청이 만료되는 경우 요청 상태는 cancelled입니다.

이행됨-끝

스팟 인스턴스는 인스턴스 유형에 사용 가능한 용량이 있고 인스턴스를 종료하지 않는 한 계속 실행됩니다. Amazon EC2가 스팟 인스턴스를 종료해야 하는 경우 스팟 요청은 터미널 상태가 됩니다. 사용자가 스팟 요청을 취소하거나 스팟 인스턴스를 종료하는 경우에도 요청이 종료 상태로 전환됩니다.

상태 코드 요청 상태 인스턴스 상태
request-canceled-and-instance-running cancelled running
marked-for-stop active running
marked-for-termination active running
instance-stopped-by-price disabled stopped
instance-stopped-by-user disabled stopped
instance-stopped-no-capacity disabled stopped
instance-terminated-by-price closed(일회), open(영구) terminated
instance-terminated-by-schedule closed terminated
instance-terminated-by-service cancelled terminated
instance-terminated-by-user closed 또는 cancelled ¹ terminated
instance-terminated-no-capacity closed(일회), open(영구) running
instance-terminated-no-capacity closed(일회), open(영구) terminated
instance-terminated-launch-group-constraint closed(일회), open(영구) terminated

¹ 인스턴스를 종료하되 요청을 취소하지 않는 경우 요청 상태는 closed입니다. 인스턴스를 종료하고 요청을 취소하는 경우 요청 상태는 cancelled입니다. 스팟 요청을 취소하기 전에 스팟 인스턴스를 종료해도 Amazon EC2에서 스팟 인스턴스가 종료되었음을 감지하기 전까지 지연이 발생할 수 있습니다. 이 경우 요청 상태는 closed 또는 cancelled일 수 있습니다.

† 용량이 다시 필요하고 인스턴스가 중단 시 종료되도록 구성된 경우 Amazon EC2가 스팟 인스턴스를 중단하면 상태가 즉시 instance-terminated-no-capacity로 설정됩니다(marked-for-termination으로 설정되지 않음). 그러나 인스턴스가 스팟 인스턴스 중단 알림을 수신한 2분 기간을 반영하기 위해 인스턴스는 2분 동안 running 상태를 유지합니다. 2분 후 인스턴스 상태가 terminated로 설정됩니다.

영구 요청

스팟 인스턴스가 종료될 때(사용자가 종료하거나 Amazon EC2에서 종료) 스팟 요청이 영구 요청인 경우 pending-evaluation 상태로 복귀한 후 제약 조건이 충족되면 Amazon EC2에서 새로운 스팟 인스턴스를 시작할 수 있습니다.

요청 상태 정보 가져오기

AWS Management Console 또는 명령줄 도구를 사용하여 요청 상태 정보를 가져올 수 있습니다.

요청 상태 정보를 가져오려면(콘솔)
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 스팟 요청을 선택한 다음 스팟 요청을 선택합니다.

  3. 상태를 확인하려면 설명 탭에서 상태 필드를 선택합니다.

명령줄을 사용하여 요청 상태 정보를 가져오려면

다음 명령 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2 액세스 단원을 참조하세요.

스팟 요청 상태 코드

스팟 요청 상태 정보는 상태 코드, 업데이트 시간 및 상태 메시지로 구성됩니다. 이러한 정보를 하나로 모으면 스팟 요청 배치를 결정하는 데 도움이 됩니다.

다음은 스팟 요청 상태 코드입니다.

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 Web Services 일반 참조에서 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-ddThh:mm:ssZ", "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" } }

자세한 내용은 Amazon EventBridge 사용자 설명서를 참조하세요.