스팟 인스턴스 작업
스팟 인스턴스를 사용하려면 원하는 인스턴스 수, 인스턴스 유형, 가용 영역이 포함된 스팟 인스턴스 요청을 생성합니다. 용량을 사용할 수 있는 경우 Amazon EC2는 요청을 즉시 이행합니다. 그렇지 않으면 요청이 이행될 수 있을 때까지 또는 사용자가 요청을 취소할 때까지 Amazon EC2가 대기합니다.
다음 그림에서는 스팟 인스턴스 요청이 작동하는 방식을 보여 줍니다. 요청 유형(일회성 또는 영구적)에 따라 Amazon EC2가 스팟 인스턴스를 중단할 때 또는 사용자가 스팟 인스턴스를 중지하는 경우 요청이 다시 열리는지 여부가 결정됩니다. 요청이 영구적인 경우 스팟 인스턴스가 중단된 후 요청이 다시 열립니다. 요청이 영구적이고 사용자가 스팟 인스턴스를 중지하는 경우 스팟 인스턴스를 시작한 후에만 요청이 열립니다.

목차
스팟 인스턴스 요청 상태
스팟 인스턴스 요청 상태는 다음 중 하나일 수 있습니다.
-
open
- 요청이 이행될 때까지 대기 중입니다. -
active
- 요청이 이행되었으며 요청에 연결된 스팟 인스턴스가 있습니다. -
failed
- 요청에 하나 이상의 잘못된 파라미터가 있습니다. -
closed
- 스팟 인스턴스가 중단되거나 종료되었습니다. -
disabled
- 사용자가 스팟 인스턴스를 중지했습니다. -
cancelled
- 사용자가 요청을 취소했거나 요청이 만료되었습니다.
다음 그림은 요청 상태 간의 전환을 나타냅니다. 전환은 요청 유형(일회 또는 영구)에 따라 다릅니다.

일회성 스팟 인스턴스 요청은 Amazon EC2가 스팟 인스턴스를 시작하거나, 요청이 만료되거나, 사용자가 요청을 취소할 때까지 활성 상태로 유지됩니다. 용량을 사용할 수 없는 경우 스팟 인스턴스가 종료되고 스팟 인스턴스 요청이 종료됩니다.
영구적 스팟 인스턴스 요청은 요청이 이행되더라도 요청이 만료되거나 사용자가 요청을 취소할 때까지 활성 상태로 유지됩니다. 용량을 사용할 수 없는 경우 스팟 인스턴스가 중단됩니다. 인스턴스가 중단된 후 용량을 다시 사용할 수 있게 되면 스팟 인스턴스가 중지된 경우 시작되고 최대 절전 모드인 경우 재개됩니다. 용량을 사용할 수 있는 경우 스팟 인스턴스를 중지하고 다시 시작할 수 있습니다. 스팟 인스턴스가 종료되는 경우(스팟 인스턴스가 중지 또는 실행 중 상태인지 여부와 상관없이) 스팟 인스턴스 요청이 다시 열리고 Amazon EC2가 새 스팟 인스턴스를 시작합니다. 자세한 내용은 스팟 인스턴스 중지, 스팟 인스턴스 시작, 스팟 인스턴스 종료 섹션을 참조하세요.
이 상태를 통해 스팟 인스턴스 요청의 상태뿐 아니라 시작된 스팟 인스턴스의 상태도 추적할 수 있습니다. 자세한 내용은 스팟 요청 상태 섹션을 참조하세요.
스팟 인스턴스에 대한 테넌시 지정
스팟 인스턴스를 단일 테넌트 하드웨어에서 실행할 수 있습니다. 전용 스팟 인스턴스는 다른 AWS 계정에 속하는 인스턴스로부터 물리적으로 격리됩니다. 자세한 내용은 전용 인스턴스 및 Amazon EC2 전용 인스턴스
전용 스팟 인스턴스를 실행하려면 다음 중 하나를 수행합니다.
-
스팟 인스턴스 요청을 생성할 때 테넌시를
dedicated
로 지정합니다. 자세한 내용은 스팟 인스턴스 요청 생성 섹션을 참조하세요. -
VPC에서 인스턴스 테넌시
dedicated
를 사용하여 스팟 인스턴스를 요청합니다. 자세한 내용은 전용 인스턴스 테넌시로 VPC 생성 섹션을 참조하세요. VPC에서 인스턴스 테넌시dedicated
로 스팟 인스턴스를 요청한 경우 테넌시default
로 스팟 인스턴스를 요청할 수 없습니다.
T 인스턴스를 제외한 모든 인스턴스 패밀리가 전용 스팟 인스턴스를 지원합니다. 지원되는 각 인스턴스 패밀리에서 가장 큰 인스턴스 크기 또는 메탈 크기만이 전용 스팟 인스턴스를 지원합니다.
스팟 인스턴스 요청에 대한 서비스 연결 역할
Amazon EC2는 다른 AWS 서비스를 자동으로 호출하는 데 필요한 권한에 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 AWS 서비스에 직접 연결된 고유한 유형의 IAM 역할입니다. 연결된 서비스만 서비스 연결 역할을 담당할 수 있으므로 서비스 연결 역할은 AWS 서비스로 권한을 위임하는 안전한 방법을 제공합니다. 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 사용을 참조하세요.
Amazon EC2는 AWSServiceRoleForEC2Spot이라는 이름의 서비스 연결 역할을 사용하여 사용자 대신 스팟 인스턴스를 시작하고 관리합니다.
AWSServiceRoleForEC2Spot에서 부여된 권한
Amazon EC2는 AWSServiceRoleForEC2Spot을 사용하여 다음 작업을 완료합니다.
-
ec2:DescribeInstances
- 스팟 인스턴스 설명 -
ec2:StopInstances
- 스팟 인스턴스 중지 -
ec2:StartInstances
- 스팟 인스턴스 시작
서비스 연결 역할 생성
대부분의 상황에서는 서비스 연결 역할을 수동으로 생성할 필요가 없습니다. 사용자가 콘솔을 사용하여 스팟 인스턴스를 처음으로 요청하면 Amazon EC2가 AWSServiceRoleForEC2Spot 서비스 연결 역할을 생성합니다.
Amazon EC2가 이 서비스 연결 역할을 지원하기 시작한 2017년 10월 이전에 활성 스팟 인스턴스 요청을 보유한 경우 사용자의 AWS 계정에 AWSServiceRoleForEC2Spot 역할이 이미 생성되어 있습니다. 자세한 내용은 IAM 사용 설명서의 내 계정에 표시되는 새 역할을 참조하세요.
AWS CLI 또는 API를 사용하여 스팟 인스턴스를 요청하는 경우 먼저 이 역할이 있는지 확인해야 합니다.
콘솔을 사용하여 AWSServiceRoleForEC2Spot 생성
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 역할을 선택합니다.
-
Create role(역할 생성)을 선택합니다.
-
신뢰할 수 있는 유형의 엔터티 선택 페이지의 EC2에서 EC2 - 스팟 인스턴스를 선택한 후 다음: 권한을 선택합니다.
-
다음 페이지에서 다음:검토(Next:Review)를 선택합니다.
-
검토 페이지에서 역할 만들기를 선택합니다.
AWS CLI를 사용하여 AWSServiceRoleForEC2Spot 생성
다음과 같이 create-service-linked-role 명령을 사용합니다.
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
스팟 인스턴스이 더 이상 필요 없으면 AWSServiceRoleForEC2Spot 역할을 삭제하는 것이 좋습니다. 계정에서 이 역할이 삭제된 후 스팟 인스턴스를 요청하면 Amazon EC2에서 다시 해당 역할을 생성합니다.
암호화된 AMI 및 EBS 스냅샷에 사용할 고객 관리형 키에 대한 액세스 권한 부여
스팟 인스턴스 요청에서 암호화된 AMI 또는 암호화된 Amazon EBS 스냅샷을 지정하고 암호화용 고객 관리형 키를 사용하는 경우 AWSServiceRoleForEC2Spot 역할에 고객 관리형 키를 사용할 수 있는 권한을 부여해야 Amazon EC2가 사용자를 대신하여 스팟 인스턴스를 시작할 수 있습니다. 이렇게 하려면 다음 절차에 표시된 바와 같이 고객 관리형 키에 대한 권한 부여를 추가해야 합니다.
권한을 제공할 때 권한 부여는 키 정책을 대체합니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 권한 부여 사용 및 AWS KMS의 키 정책 사용을 참조하세요.
AWSServiceRoleForEC2Spot 역할에 고객 관리형 키를 사용할 수 있는 권한 부여
-
create-grant 명령을 사용하여 고객 관리형 키에 대한 권한 부여를 추가하고 권한 부여에 의해 허용되는 작업을 수행할 수 있는 권한이 부여된 보안 주체(AWSServiceRoleForEC2Spot 서비스 연결 역할)를 지정합니다. 고객 관리형 키는
key-id
파라미터와 고객 관리형 키의 ARN으로 지정됩니다. 보안 주체는 AWSServiceRoleForEC2Spot 서비스 연결 역할의grantee-principal
파라미터 및 ARN에 의해 지정됩니다.aws kms create-grant \ --region
us-east-1
\ --key-id arn:aws:kms:us-east-1
:444455556666
:key/1234abcd-12ab-34cd-56ef-1234567890ab
\ --grantee-principal arn:aws:iam::111122223333
:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
스팟 인스턴스 요청 생성
Amazon EC2 콘솔의 인스턴스 시작 마법사 또는 run-instances AWS CLI 명령을 사용하여 온디맨드 인스턴스를 시작하는 것과 동일한 방식으로 스팟 인스턴스를 요청할 수 있습니다. 이 방법은 다음과 같은 이유로만 권장됩니다.
-
이미 인스턴스 시작 마법사 또는 run-instances 명령을 사용하여 온디맨드 인스턴스를 시작하고 있으며 단일 파라미터를 변경하여 스팟 인스턴스 시작으로 변경하려고 합니다.
-
인스턴스 유형이 다른 여러 인스턴스는 필요하지 않습니다.
이 방법은 여러 인스턴스 유형을 지정할 수 없고 동일한 요청에서 스팟 인스턴스와 온디맨드 인스턴스를 시작할 수 없기 때문에 일반적으로 스팟 인스턴스를 시작하는 데 권장되지 않습니다. 스팟 인스턴스와 여러 인스턴스 유형의 온디맨드 인스턴스를 포함하는 플릿을 시작하는 방법을 비롯하여 스팟 인스턴스를 시작하는 데 선호되는 방법은 어느 스팟 요청 방법을 사용하는 것이 최선인가요? 섹션을 참조하세요.
여러 스팟 인스턴스를 한 번에 요청하는 경우 각 요청 상태를 개별적으로 추적할 수 있도록 Amazon EC2에서 개별 스팟 인스턴스 요청을 생성합니다. 스팟 인스턴스 요청 추적에 대한 자세한 내용은 스팟 요청 상태 섹션을 참조하세요.
실행 중인 스팟 인스턴스 찾기
Amazon EC2는 용량이 사용 가능할 때 스팟 인스턴스를 시작합니다. 스팟 인스턴스는 중단되거나 사용자가 직접 종료할 때까지 실행됩니다.
실행 중인 스팟 인스턴스를 찾으려면(콘솔)
-
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 창에서 스팟 요청을 선택합니다. 스팟 인스턴스 요청과 스팟 플릿 요청을 모두 볼 수 있습니다. 스팟 인스턴스 요청이 이행된 경우 [용량(Capacity)]은 스팟 인스턴스의 ID입니다. 스팟 플릿의 경우 [용량(Capacity)]은 요청된 용량 중 이행된 용량을 나타냅니다. 스팟 플릿의 인스턴스 ID를 보려면 확장 화살표를 선택하거나 플릿을 선택한 후 [인스턴스(Instances)]를 선택합니다.
참고
스팟 플릿에 의해 생성된 스팟 인스턴스 요청의 경우, 요청이 속해 있는 스팟 플릿을 나타내는 시스템 태그가 요청에 즉시 태깅되지 않으며 일정 기간 동안 요청이 스팟 플릿 요청과 별도로 나타날 수 있습니다.
또는 탐색 창에서 인스턴스를 선택합니다. 오른쪽 상단에서 설정 아이콘(
)을 선택한 다음 속성 열에서 인스턴스 수명 주기를 선택합니다. 각 인스턴스에 대해 인스턴스 수명 주기는
normal
,spot
또는scheduled
입니다.
실행 중인 스팟 인스턴스를 찾으려면(AWS CLI)
스팟 인스턴스를 나열하려면 --query
옵션과 함께 describe-spot-instance-requests 명령을 사용합니다.
aws ec2 describe-spot-instance-requests \ --query "SpotInstanceRequests[*].{ID:InstanceId}"
다음은 예시 출력입니다.
[
{
"ID": "i-1234567890abcdef0"
},
{
"ID": "i-0598c7d356eba48d7"
}
]
또는 --filters
옵션과 함께 describe-instance 명령을 사용하여 스팟 인스턴스를 나열할 수도 있습니다.
aws ec2 describe-instances \ --filters "Name=instance-lifecycle,Values=spot"
단일 스팟 인스턴스 인스턴스를 설명하려면 describe-spot-instance-requests 명령을 --spot-instance-request-ids
옵션과 함께 사용합니다.
aws ec2 describe-spot-instance-requests \ --spot-instance-request-ids
sir-08b93456
스팟 인스턴스 요청 태깅
스팟 인스턴스 요청을 쉽게 분류하고 관리하려면 사용자 지정 메타데이터로 이 요청을 태깅할 수 있습니다. 스팟 인스턴스 요청을 생성할 때 또는 생성한 후 스팟 인스턴스 요청에 태그를 할당할 수 있습니다. Amazon EC2 콘솔이나 명령줄 도구를 사용하여 태그를 지정할 수 있습니다.
스팟 인스턴스 요청을 태깅하는 경우 스팟 인스턴스 요청에서 시작된 인스턴스 및 볼륨은 자동으로 태깅되지 않습니다. 스팟 인스턴스 요청에서 시작된 인스턴스 및 볼륨을 명시적으로 태깅해야 합니다. 시작 중 또는 이후에 스팟 인스턴스 및 볼륨에 태그를 할당할 수 있습니다.
태그 작동 방식에 대한 자세한 내용은 Amazon EC2 리소스 태깅 섹션을 참조하세요.
필수 조건
사용자에게 리소스에 태그를 지정할 수 있는 권한을 부여합니다. IAM 정책 및 예제 정책에 대한 자세한 내용은 예: 태그 리소스 섹션을 참조하세요.
생성하는 IAM 정책은 스팟 인스턴스 요청을 생성할 때 사용하는 방법에 따라 결정됩니다.
-
인스턴스 시작 마법사 또는
run-instances
를 사용하여 스팟 인스턴스를 요청하는 경우 To grant a user the permission to tag resources when using the launch instance wizard or run-instances 섹션을 참조하세요. -
request-spot-instances
명령을 사용하여 스팟 인스턴스를 요청하는 방법에 대한 자세한 내용은 To grant a user the permission to tag resources when using request-spot-instances 섹션을 참조하세요.
사용자에게 인스턴스 시작 마법사 또는 run-instances를 사용할 때 리소스에 태그를 지정할 수 있는 권한 부여
다음을 포함하는 IAM 정책을 만듭니다.
-
ec2:RunInstances
작업 사용자에게 인스턴스 시작 권한이 부여됩니다. -
Resource
에spot-instances-request
을 지정합니다. 이렇게 하면 사용자가 스팟 인스턴스를 요청하는 스팟 인스턴스 요청을 생성할 수 있습니다. -
ec2:CreateTags
작업 사용자에게 태그 생성 권한이 부여됩니다. -
Resource
에*
을 지정합니다. 이를 통해 사용자가 인스턴스 시작 중에 생성된 모든 리소스에 태그를 지정할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLaunchInstances", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", "arn:aws:ec2:us-east-1:*:spot-instances-request/*" ] }, { "Sid": "TagSpotInstanceRequests", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }
참고
RunInstances 작업을 사용하여 스팟 인스턴스 요청을 생성하고 생성 시 스팟 인스턴스 요청을 태깅하는 경우 Amazon EC2가 RunInstances 문에서 spot-instances-request
리소스를 평가하는 방법을 알고 있어야 합니다.
spot-instances-request
리소스는 다음과 같이 IAM 정책에서 평가됩니다.
-
생성 시 스팟 인스턴스 요청을 태깅하지 않으면 Amazon EC2가 RunInstances 문에서
spot-instances-request
리소스를 평가하지 않습니다. -
생성 시 스팟 인스턴스 요청을 태깅하면 Amazon EC2가 RunInstances 문에서
spot-instances-request
리소스를 평가합니다.
따라서 spot-instances-request
리소스의 경우 IAM 정책에 다음 규칙이 적용됩니다.
-
RunInstances를 사용하여 스팟 인스턴스 요청을 생성하고 생성 시 스팟 인스턴스 요청을 태깅하지 않으려는 경우
spot-instances-request
리소스를 명시적으로 허용할 필요가 없습니다. 호출이 성공합니다. -
RunInstances를 사용하여 스팟 인스턴스 요청을 생성하고 생성 시 스팟 인스턴스 요청을 태깅하려는 경우 RunInstances allow 문에
spot-instances-request
리소스를 포함해야 합니다. 그러지 않으면 호출이 실패합니다. -
RunInstances를 사용하여 스팟 인스턴스 요청을 생성하고 생성 시 스팟 인스턴스 요청을 태깅하려는 경우 CreateTags allow 문에서
spot-instances-request
리소스를 지정하거나*
와일드카드를 포함해야 합니다. 그러지 않으면 호출이 실패합니다.
스팟 인스턴스 요청에 지원되지 않는 정책을 포함한 예제 IAM 정책은 스팟 인스턴스 작업 섹션을 참조하세요.
사용자에게 request-spot-instances를 사용할 때 리소스에 태그를 지정할 수 있는 권한 부여
다음을 포함하는 IAM 정책을 만듭니다.
-
ec2:RequestSpotInstances
작업 사용자에게 스팟 인스턴스 요청을 생성할 수 있는 권한이 부여됩니다. -
ec2:CreateTags
작업 사용자에게 태그 생성 권한이 부여됩니다. -
Resource
에spot-instances-request
을 지정합니다. 이렇게 하면 사용자가 스팟 인스턴스 요청만 태깅할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotInstanceRequest", "Effect": "Allow", "Action": [ "ec2:RequestSpotInstances", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:
us-east-1
:111122223333
:spot-instances-request/*" }
새 스팟 인스턴스 요청을 태깅하려면
콘솔을 사용하여 새 스팟 인스턴스 요청을 태깅하려면
-
스팟 인스턴스 요청 생성의 절차를 따르세요.
-
태그를 추가하려면 태그 추가 페이지에서 태그 추가를 선택하고 해당 태그에 대한 키와 값을 입력합니다. 각 추가 태그에 다른 태그 추가를 선택합니다.
각 태그에 대해 동일한 태그로 스팟 인스턴스 요청, 스팟 인스턴스 및 볼륨을 태깅할 수 있습니다. 세 가지 모두를 태깅하려면 [인스턴스(Instances)], [볼륨(Volumes)] 및 [스팟 인스턴스 요청(Spot Instance Requests)]이 선택되어 있는지 확인합니다. 한두 개만 태그를 지정하려면 태그를 지정할 리소스가 선택되어 있고 나머지 리소스는 선택 취소되어 있는지 확인합니다.
-
필수 필드를 입력하여 스팟 인스턴스 요청을 생성한 다음 [시작(Launch)]을 선택합니다. 자세한 내용은 스팟 인스턴스 요청 생성 섹션을 참조하세요.
AWS CLI를 사용하여 새 스팟 인스턴스 요청을 태깅하려면
스팟 인스턴스 요청을 생성할 때 태깅하려면 스팟 인스턴스 요청 구성을 다음과 같이 구성합니다.
-
--tag-specification
파라미터를 사용하여 스팟 인스턴스 요청에 대한 태그를 지정합니다. -
ResourceType
에spot-instances-request
을 지정합니다. 다른 값을 지정하면 스팟 인스턴스 요청이 실패합니다. -
Tags
에 대해 키-값 페어를 지정합니다. 둘 이상의 키-값 페어를 지정할 수 있습니다.
다음 예제에서 스팟 인스턴스 요청에는 Key=Environment 및 Value=Production와 Key=Cost-Center 및 Value=123이라는 2개의 태그가 태깅됩니다.
aws ec2 request-spot-instances \ --instance-count
5
\ --type "one-time" \ --launch-specification file://specification.json
\ --tag-specification 'ResourceType=spot-instances-request,Tags=[{Key=Environment
,Value=Production
},{Key=Cost-Center
,Value=123
}]'
기존 스팟 인스턴스 요청을 태깅하려면
콘솔을 사용하여 기존 스팟 인스턴스 요청을 태깅하려면
스팟 인스턴스 요청을 생성한 후 콘솔을 사용하여 스팟 인스턴스 요청에 태그를 추가할 수 있습니다.
https://console.aws.amazon.com/ec2/
-
탐색 창에서 스팟 요청을 선택합니다.
-
스팟 인스턴스 요청을 선택합니다.
-
태그 탭을 선택하고 태그 생성을 선택합니다.
콘솔을 사용하여 기존 스팟 인스턴스를 태깅하려면
스팟 인스턴스 요청에서 스팟 인스턴스가 시작된 후 콘솔을 사용하여 인스턴스에 태그를 추가할 수 있습니다. 자세한 내용은 개별 리소스의 태그 추가 및 삭제 섹션을 참조하세요.
AWS CLI를 사용하여 기존 스팟 인스턴스 요청 또는 스팟 인스턴스를 태깅하려면
create-tags 명령을 사용하여 기존 리소스에 태그를 지정합니다. 다음 예제에서 기존 스팟 인스턴스 요청 및 스팟 인스턴스는 Key=purpose 및 Value=test로 태깅됩니다.
aws ec2 create-tags \ --resources
sir-08b93456
i-1234567890abcdef0
\ --tags Key=purpose
,Value=test
스팟 인스턴스 요청 태그 보기
콘솔을 사용하여 스팟 인스턴스 요청 태그를 보려면
https://console.aws.amazon.com/ec2/
-
탐색 창에서 스팟 요청을 선택합니다.
-
스팟 인스턴스 요청을 선택하고 [태그(Tags)] 탭을 선택합니다.
스팟 인스턴스 요청 태그를 설명하려면
describe-tags 명령을 사용하여 지정된 리소스에 대한 태그를 표시합니다. 다음 예제에서는 지정된 요청에 대한 태그를 설명합니다.
aws ec2 describe-tags \ --filters "Name=resource-id,Values=
sir-11112222-3333-4444-5555-66666EXAMPLE
"
{
"Tags": [
{
"Key": "Environment",
"ResourceId": "sir-11112222-3333-4444-5555-66666EXAMPLE",
"ResourceType": "spot-instances-request",
"Value": "Production"
},
{
"Key": "Another key",
"ResourceId": "sir-11112222-3333-4444-5555-66666EXAMPLE",
"ResourceType": "spot-instances-request",
"Value": "Another value"
}
]
}
스팟 인스턴스 요청을 설명하여 스팟 인스턴스 요청의 태그를 볼 수도 있습니다.
describe-spot-instance-requests 명령을 사용하여 지정된 스팟 인스턴스 요청의 구성을 볼 수 있습니다. 여기에는 요청에 지정된 모든 태그가 포함됩니다.
aws ec2 describe-spot-instance-requests \ --spot-instance-request-ids
sir-11112222-3333-4444-5555-66666EXAMPLE
{
"SpotInstanceRequests": [
{
"CreateTime": "2020-06-24T14:22:11+00:00",
"InstanceId": "i-1234567890EXAMPLE",
"LaunchSpecification": {
"SecurityGroups": [
{
"GroupName": "launch-wizard-6",
"GroupId": "sg-1234567890EXAMPLE"
}
],
"BlockDeviceMappings": [
{
"DeviceName": "/dev/xvda",
"Ebs": {
"DeleteOnTermination": true,
"VolumeSize": 8,
"VolumeType": "gp2"
}
}
],
"ImageId": "ami-1234567890EXAMPLE",
"InstanceType": "t2.micro",
"KeyName": "my-key-pair",
"NetworkInterfaces": [
{
"DeleteOnTermination": true,
"DeviceIndex": 0,
"SubnetId": "subnet-11122233"
}
],
"Placement": {
"AvailabilityZone": "eu-west-1c",
"Tenancy": "default"
},
"Monitoring": {
"Enabled": false
}
},
"LaunchedAvailabilityZone": "eu-west-1c",
"ProductDescription": "Linux/UNIX",
"SpotInstanceRequestId": "sir-1234567890EXAMPLE",
"SpotPrice": "0.012600",
"State": "active",
"Status": {
"Code": "fulfilled",
"Message": "Your spot request is fulfilled.",
"UpdateTime": "2020-06-25T18:30:21+00:00"
},
"Tags": [
{
"Key": "Environment",
"Value": "Production"
},
{
"Key": "Another key",
"Value": "Another value"
}
],
"Type": "one-time",
"InstanceInterruptionBehavior": "terminate"
}
]
}
스팟 인스턴스 요청 취소
스팟 인스턴스 요청이 더 이상 필요하지 않은 경우 취소할 수 있습니다. open
, active
또는 disabled
상태인 스팟 인스턴스 요청만 취소할 수 있습니다.
-
요청이 아직 이행되지 않았고 인스턴스가 시작되지 않았을 때 스팟 인스턴스 요청 상태는
open
입니다. -
요청이 이행되었고 그 결과로 스팟 인스턴스가 시작된 경우 스팟 인스턴스 요청 상태는
active
입니다. -
스팟 인스턴스를 중지하면 스팟 인스턴스 요청이
disabled
상태가 됩니다.
스팟 인스턴스 요청이 active
상태이고 실행 중인 스팟 인스턴스가 연결되어 있을 때 요청을 취소하면 인스턴스가 종료되지 않습니다. 스팟 인스턴스 종료에 대한 자세한 내용은 스팟 인스턴스 종료 섹션을 참조하세요.
스팟 인스턴스 요청을 취소하려면(콘솔)
-
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 창에서 [스팟 요청(Spot Requests)]을 선택한 다음 스팟 인스턴스 요청을 선택합니다.
-
작업을 선택한 후, 요청 취소를 선택합니다.
-
(선택 사항) 연결된 스팟 인스턴스에 대한 작업을 완료했으면 종료할 수 있습니다. 스팟 요청 취소 대화 상자에서 인스턴스 종료를 선택한 다음 확인을 선택합니다.
스팟 인스턴스 요청을 취소하려면(AWS CLI)
-
cancel-spot-instance-requests 명령을 사용하여 지정된 스팟 인스턴스 요청을 취소합니다.
aws ec2 cancel-spot-instance-requests --spot-instance-request-ids
sir-08b93456
스팟 인스턴스 중지
지금 스팟 인스턴스가 필요하지 않지만 나중에 Amazon EBS 볼륨에 영구적으로 있는 데이터를 잃어버리지 않고 인스턴스를 다시 시작하려면 인스턴스를 중지할 수 있습니다. 스팟 인스턴스를 중지하는 단계는 온디맨드 인스턴스를 중지하는 단계와 비슷합니다.
참고
스팟 인스턴스가 중지되었을 때 일부 인스턴스 속성을 수정할 수 있지만 인스턴스 유형은 수정할 수 없습니다.
중지된 스팟 인스턴스에 대해 사용 요금이나 데이터 전송 요금이 부과되지는 않지만 모든 Amazon EBS 볼륨에 대한 스토리지 요금은 부과됩니다.
제한 사항
-
스팟 인스턴스가
persistent
스팟 인스턴스 요청에서 시작된 경우에만 스팟 인스턴스를 중지할 수 있습니다. -
연결된 스팟 인스턴스 요청이 취소된 경우에는 스팟 인스턴스를 중지할 수 없습니다. 스팟 인스턴스 요청이 취소되면 스팟 인스턴스를 종료하는 작업만 수행할 수 있습니다.
-
플릿 또는 시작 그룹이나 가용 영역 그룹의 일부인 경우 스팟 인스턴스를 중지할 수 없습니다.
스팟 인스턴스 시작
이전에 중지한 스팟 인스턴스를 시작할 수 있습니다. 스팟 인스턴스를 시작하는 단계는 온디맨드 인스턴스를 시작하는 단계와 비슷합니다.
필수 조건
다음 경우에만 스팟 인스턴스를 시작할 수 있습니다.
-
스팟 인스턴스를 수동으로 중지했습니다.
-
스팟 인스턴스가 EBS 지원 인스턴스입니다.
-
스팟 인스턴스 용량을 사용할 수 있습니다.
-
스팟 가격이 최고 가격보다 낮습니다.
제한 사항
-
플릿 또는 시작 그룹이나 가용 영역 그룹의 일부인 경우 스팟 인스턴스를 시작할 수 없습니다.
스팟 인스턴스 종료
영구 스팟 인스턴스 요청에서 시작된 실행 중이거나 중지된 스팟 인스턴스를 종료하면 새 스팟 인스턴스를 시작할 수 있도록 스팟 인스턴스 요청이 open
상태로 전환됩니다. 새로운 스팟 인스턴스가 시작되지 않도록 먼저 스팟 인스턴스 요청을 취소해야 합니다.
실행 중인 스팟 인스턴스를 보유한 active
스팟 인스턴스 요청을 취소하는 경우 실행 중인 스팟 인스턴스가 자동으로 종료되지 않습니다. 스팟 인스턴스를 수동으로 종료해야 합니다.
중지된 스팟 인스턴스를 보유한 disabled
스팟 인스턴스 요청을 취소하는 경우 중지된 스팟 인스턴스가 Amazon EC2 스팟 서비스에 의해 자동으로 종료됩니다. 스팟 인스턴스 요청을 취소할 때와 스팟 서비스에서 스팟 인스턴스를 종료할 때 사이에는 짧은 지연이 있을 수 있습니다.
스팟 인스턴스 요청 취소에 대한 내용은 스팟 인스턴스 요청 취소 섹션을 참조하세요.