스팟 집합요청 건 - Amazon Elastic Compute Cloud

스팟 집합요청 건

스팟 집합을 사용하려면 목표 용량, 옵션 온디맨드 부분, 인스턴스에 대한 하나 이상의 시작 사양, 지불하고자 하는 최고 가격을 포함한 스팟 집합 요청을 생성합니다. Amazon EC2가 스팟 가격 변경에 따라 스팟 집합의 목표 용량을 유지하도록 시도합니다. 자세한 내용은 스팟 집합 작동 방식 단원을 참조하십시오.

스팟 집합 요청에는 두 가지 유형인 requestmaintain이 있습니다. 스팟 집합을 생성하여 원하는 용량을 위한 일회성 요청을 제출하거나, 일정 시간 동안 목표 용량을 유지하도록 요구할 수 있습니다. 두 가지 유형의 요청 모두 스팟 집합의 할당 전략에 따른 이익을 볼 수 있습니다.

일회성 요청을 생성하는 경우 스팟 집합에서는 필요한 요청을 수행하되, 용량이 줄어도 스팟 인스턴스를 보충하려고 하지는 않습니다. 용량이 가용 상태가 아닌 경우 스팟 집합은 대체 스팟 풀에서 요청을 제출하지 않습니다.

목표 용량 유지를 위해 스팟 집합은 이 목표 용량을 충족하도록 요청을 수행하고 중단된 모든 인스턴스를 자동으로 보충합니다.

일회성 요청이 일단 제출되고 나면 이 요청의 목표 용량을 수정할 수 없습니다. 목표 용량을 변경하려면 요청을 취소하고 새 요청을 제출합니다.

스팟 집합 요청은 요청이 만료되거나 사용자가 요청을 취소할 때까지 활성 상태로 유지됩니다. 스팟 집합 요청을 취소할 경우에는 스팟 집합 요청을 취소하면 스팟 집합에 속한 스팟 인스턴스가 종료되는지 여부를 지정할 수 있습니다.

각 시작 사양에는 AMI, 인스턴스 유형, 서브넷 또는 가용 영역, 하나 이상의 보안 그룹과 같이 Amazon EC2가 인스턴스를 시작하는 데 필요로 하는 정보가 포함됩니다.

스팟 집합 요청 상태

스팟 집합 요청은 다음 상태 중 하나일 수 있습니다.

  • submitted – 스팟 집합 요청을 평가 중이며 Amazon EC2가 목표 개수만큼 인스턴스를 시작하기 위해 준비 중입니다.

  • active – 스팟 집합 요청이 확인되었으며 Amazon EC2에서는 실행 중인 스팟 인스턴스를 목표 개수만큼 유지하려 하고 있습니다. 그 요청은 수정 또는 취소될 때까지 계속 이 상태로 유지됩니다.

  • modifying – 스팟 집합 요청을 수정하고 있습니다. 그 요청은 수정이 완전히 처리될 때까지 또는 스팟 집합이 취소될 때까지 계속 이 상태로 유지됩니다. 일회성 request는 수정할 수 없으며, 이 상태가 이런 스팟 요청에 적용되지 않습니다.

  • cancelled_running – 스팟 집합이 취소되고 추가 스팟 인스턴스를 시작하지 않습니다. 중단되거나 종료될 때까지 기존 스팟 인스턴스가 계속 실행됩니다. 그 요청은 모든 인스턴스가 중단 또는 종료될 때까지 계속 이 상태로 유지됩니다.

  • cancelled_terminating – 스팟 집합이 취소되고 해당 스팟 인스턴스가 종료 중입니다. 그 요청은 모든 인스턴스가 종료될 때까지 계속 이 상태로 유지됩니다.

  • cancelled – 스팟 집합이 취소되고 실행 중인 스팟 인스턴스가 없습니다. 스팟 집합 요청은 인스턴스 종료 2일 후에 삭제됩니다.

다음 그림은 요청 상태 간의 전환을 나타냅니다. 스팟 집합 한계를 초과하면 즉시 요청이 취소됩니다.


					스팟 집합 요청 상태

스팟 집합 상태 확인

스팟 집합은 2분마다 플릿에 있는 스팟 인스턴스의 상태를 확인합니다. 인스턴스의 상태는 healthy 또는 unhealthy입니다. 스팟 집합은 Amazon EC2에서 제공하는 상태 확인을 사용하여 인스턴스의 상태를 판단합니다. 세 번의 연속 상태 확인에서 인스턴스 상태 또는 시스템 상태가 impaired이면, 해당 인스턴스의 상태는 unhealthy입니다. 그렇지 않으면 상태는 healthy입니다. 자세한 내용은 인스턴스 상태 확인 단원을 참조하십시오.

비정상 인스턴스를 교체하도록 스팟 집합을 구성할 수 있습니다. 상태 확인 교체를 활성화하면 상태가 unhealthy로 보고된 인스턴스가 교체됩니다. 스팟 집합은 비정상 인스턴스가 교체되는 동안 최대 몇 분간 목표 용량보다 적어질 수 있습니다.

요구 사항

  • 상태 확인 교체는 목표 용량을 유지하는 스팟 집합에서만 지원되고 1회용 스팟 집합에서는 지원되지 않습니다.

  • 비정상 인스턴스를 생성할 경우에만 이를 교체하도록 스팟 집합을 구성할 수 있습니다.

  • IAM 사용자는 ec2:DescribeInstanceStatus 작업을 호출할 권한이 있는 경우에만 상태 확인 교체를 사용할 수 있습니다.

스팟 집합 요청 계획

스팟 집합 요청을 생성하려면 그 전에 먼저 스팟 모범 사례를 살펴보는 것이 좋습니다. 특히 스팟 집합 요청을 계획하여 원하는 인스턴스 유형을 최저 가격으로 프로비저닝하려면 이러한 모범 사례가 필요합니다. 또한, 다음을 수행하는 것이 좋습니다.

  • 원하는 목표 용량을 위한 일회성 요청을 제출하는 스팟 집합을 생성할지, 아니면 시간 경과에 따라 목표 용량을 유지하는 스팟 플릿을 생성할지 여부를 결정합니다.

  • 인스턴스 유형을 결정하고 애플리케이션 요건을 만족합니다.

  • 스팟 집합 요청의 목표 용량을 결정합니다. 인스턴스 또는 사용자 지정 단위에서 목표 용량을 설정할 수 있습니다. 자세한 내용은 스팟 집합 인스턴스 가중치 부여 단원을 참조하십시오.

  • 스팟 집합 목표 용량 중에서 온디맨드 용량이어야 하는 부분을 결정합니다. 온디맨드 용량으로 0을 지정할 수 있습니다.

  • 인스턴스 가중치를 사용하는 경우에는 단위당 가격을 결정합니다. 단위당 가격을 계산하려면 인스턴스 시간당 가격을 이 인스턴스가 나타내는 단위 수(또는 가중치)로 나눕니다 인스턴스 가중치를 사용하지 않는 경우 단위당 기본 가격은 인스턴스 시간당 가격입니다.

  • 스팟 집합 요청에 대해 가능한 옵션을 살펴봅니다. 자세한 내용은 AWS CLI Command Referencerequest-spot-fleet 명령을 참조하십시오. 추가 예제는 다음(스팟 집합 구성의 예)을 참조하십시오.

스팟 집합 권한

IAM 사용자가 스팟 집합을 생성하거나 관리하는 경우 필요한 권한을 부여해야 합니다.

Amazon EC2 콘솔을 사용하여 스팟 집합을 생성하는 경우 AWSServiceRoleForEC2SpotFleet라는 서비스 연결 역할과 스팟 집합에게 사용자 대신 리소스를 요청, 시작, 종료 및 태그 지정할 수 있는 권한을 부여하는 aws-ec2-spot-fleet-tagging-role라는 역할이 생성됩니다. AWS CLI 또는 API를 사용하는 경우 이러한 역할이 존재하는지 확인해야 합니다.

다음 지침에 따라 필요한 권한을 부여하고 역할을 생성합니다.

IAM 사용자에게 스팟 집합에 대한 권한 부여

스팟 집합을 생성하거나 관리하는 IAM 사용자에게는 다음과 같이 필요한 권한을 부여해야 합니다.

스팟 집합의 IAM 사용자 권한을 부여하려면

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 정책을 선택한 후 정책 생성을 선택합니다.

  3. 정책 생성 페이지에서 JSON을 선택하고 텍스트를 다음과 같이 바꿉니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateTags", "ec2:RequestSpotFleet", "ec2:ModifySpotFleetRequest", "ec2:CancelSpotFleetRequests", "ec2:DescribeSpotFleetRequests", "ec2:DescribeSpotFleetInstances", "ec2:DescribeSpotFleetRequestHistory" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/aws-ec2-spot-fleet-tagging-role" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:ListRoles", "iam:ListInstanceProfiles" ], "Resource": "*" } ] }

    위의 예제 정책은 IAM 사용자에게 대부분의 스팟 집합 사용 사례에 필요한 권한을 부여합니다. 사용자를 특정 API 작업으로 제한하려면 대신 해당 작업만 지정하십시오.

    필수 EC2 및 IAM API

    다음 API가 정책에 포함되어야 합니다.

    • ec2:RunInstances – 스팟 집합에서 인스턴스를 시작하는 데 필요합니다.

    • ec2:CreateTags – 스팟 집합 요청, 인스턴스 또는 볼륨에 태그를 지정하는 데 필요합니다.

    • iam:PassRole – 스팟 집합 역할을 지정하는 데 필요합니다.

    • iam:CreateServiceLinkedRole – 서비스 연결 역할을 생성하는 데 필요합니다.

    • iam:ListRoles – 기존 IAM 역할을 열거하는 데 필요합니다.

    • iam:ListInstanceProfiles – 기존 인스턴스 프로파일을 열거하는 데 필요합니다.

    중요

    시작 사양 또는 시작 템플릿에서 IAM 인스턴스 프로파일에 대한 역할을 지정하는 경우, IAM 사용자에게 역할을 서비스에 전달할 수 있는 권한을 부여해야 합니다. 이를 위해 IAM 정책에 iam:PassRole 작업을 위한 "arn:aws:iam::*:role/IamInstanceProfile-role" 리소스를 포함시키십시오. 자세한 내용은 IAM 사용 설명서사용자에게 AWS 서비스에 역할을 전달할 수 있는 권한 부여 단원을 참조하십시오.

    스팟 집합 API

    필요에 따라 다음 스팟 집합 API 작업을 정책에 추가합니다.

    • ec2:RequestSpotFleet

    • ec2:ModifySpotFleetRequest

    • ec2:CancelSpotFleetRequests

    • ec2:DescribeSpotFleetRequests

    • ec2:DescribeSpotFleetInstances

    • ec2:DescribeSpotFleetRequestHistory

    선택적 IAM API

    (선택 사항) IAM 사용자가 IAM 콘솔을 사용하여 역할 또는 인스턴스 프로파일을 생성할 수 있도록 하려면 정책에 다음 작업을 추가해야 합니다.

    • iam:AddRoleToInstanceProfile

    • iam:AttachRolePolicy

    • iam:CreateInstanceProfile

    • iam:CreateRole

    • iam:GetRole

    • iam:ListPolicies

  4. [Review policy]를 선택합니다.

  5. 정책 검토 페이지에 정책 이름과 설명을 입력한 다음 정책 생성을 선택합니다.

  6. 탐색 창에서 사용자를 선택하고 사용자를 선택합니다.

  7. 권한을 선택하고, Add permissions(권한 추가)를 선택합니다.

  8. Attach existing policies directly(기존 정책 직접 연결)를 선택합니다. 앞에서 만든 정책을 선택하고 다음: 검토(Next: Review)를 선택합니다.

  9. 권한 추가를 선택합니다.

스팟 집합의 서비스 연결 역할

Amazon EC2는 다른 AWS 서비스를 자동으로 호출하는 데 필요한 권한에 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 AWS 서비스에 직접 연결된 고유한 유형의 IAM 역할입니다. 연결된 서비스만 서비스 연결 역할을 담당할 수 있으므로 서비스 연결 역할은 AWS 서비스로 권한을 위임하는 안전한 방법을 제공합니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 사용을 참조하십시오.

Amazon EC2는 AWSServiceRoleForEC2Spot이라는 이름의 서비스 연결 역할을 사용하여 사용자 대신 인스턴스를 시작하고 관리합니다.

중요

스팟 집합에서 암호화된 AMI 또는 암호화된 Amazon EBS 스냅샷을 지정하는 경우 Amazon EC2에서 사용자를 대신하여 인스턴스를 시작할 수 있도록 AWSServiceRoleForec2SpotFleet 역할에 CMK를 사용할 권한을 부여해야 합니다. 자세한 내용은 암호화된 AMI 및 EBS 스냅샷과 함께 사용할 CMK에 대한 액세스 권한 부여 단원을 참조하십시오.

AWSServiceRoleForEC2SpotFleet에서 부여된 권한

Amazon EC2는 AWSServiceRoleForEC2SpotFleet을 사용하여 다음 작업을 완료합니다.

  • ec2:RequestSpotInstances - 스팟 인스턴스 요청

  • ec2:RunInstances - 인스턴스 시작

  • ec2:TerminateInstances - 인스턴스 종료

  • ec2:DescribeImages - 인스턴스에 대한 Amazon 머신 이미지(AMI) 설명

  • ec2:DescribeInstanceStatus - 인스턴스 상태 설명

  • ec2:DescribeSubnets - 인스턴스의 서브넷 설명

  • ec2:CreateTags - 스팟 집합 요청, 인스턴스 및 볼륨에 태그 추가

  • elasticloadbalancing:RegisterInstancesWithLoadBalancer - 지정된 로드 밸런서에 지정된 인스턴스 추가

  • elasticloadbalancing:RegisterTargets - 지정된 대상 그룹에 지정된 대상 등록

서비스 연결 역할 생성

대부분의 경우 서비스 연결 역할을 수동으로 생성할 필요가 없습니다. Amazon EC2는 처음으로 콘솔을 사용하여 스팟 집합을 생성할 때 AWSServiceRoleForEC2SpotFleet 서비스 연결 역할을 생성합니다.

AWS CLI 또는 API를 사용할 경우 이 역할이 존재하는지 확인해야 합니다.

Amazon EC2가 이 서비스 연결 역할을 지원하기 시작한 2017년 10월 이전에 활성 스팟 집합를 요청한 경우 Amazon EC2에서 사용자 AWS 계정에 AWSServiceRoleForEC2SpotFleet 역할을 이미 생성했습니다. 자세한 내용은 IAM 사용 설명서내 AWS 계정에 표시되는 새 역할을 참조하십시오.

AWS CLI 또는 API를 사용하여 스팟 집합을 만들려면 먼저 이 역할이 있어야 합니다. 역할을 생성하려면 다음과 같이 IAM 콘솔을 사용하십시오.

AWSServiceRoleForEC2SpotFleet 서비스 연결 역할을 수동으로 생성하려면

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다.

  3. 역할 생성을 선택합니다.

  4. 신뢰할 수 있는 유형의 엔터티 선택 페이지의 EC2에서 EC2 - 스팟 플릿을 선택한 후 다음: 권한을 선택합니다.

  5. 다음 페이지에서 다음:검토(Next:Review)를 선택합니다.

  6. 검토 페이지에서 역할 만들기를 선택합니다.

스팟 집합이 더 이상 필요 없는 경우에는 AWSServiceRoleForEC2SpotFleet 역할을 삭제할 것을 권합니다. 계정에서 이 역할이 삭제된 후 콘솔을 사용하여 스팟 집합을 요청하면 Amazon EC2에서 다시 해당 역할을 생성합니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 삭제를 참조하십시오.

암호화된 AMI 및 EBS 스냅샷과 함께 사용할 CMK에 대한 액세스 권한 부여

스팟 집합 요청에서 암호화된 AMI 또는 암호화된 Amazon EBS 스냅샷을 지정하고 암호화용 고객 관리형 고객 마스터 키(CMK)를 사용하는 경우 AWSServiceRoleForEC2SpotFleet 역할에 CMK를 사용할 수 있는 권한을 부여해야 Amazon EC2가 사용자를 대신하여 인스턴스를 시작할 수 있습니다. 이렇게 하려면 다음 절차에 표시된 바와 같이 CMK에 권한을 추가해야 합니다.

권한을 제공할 때 권한 부여는 키 정책을 대체합니다. 자세한 내용은 AWS Key Management Service Developer Guide권한 부여 사용AWS KMS에서 키 정책 사용 단원을 참조하십시오.

CMK를 사용할 수 있도록 AWSServiceRoleForEC2SpotFleet 역할 권한을 부여하려면

  • create-grant 명령을 사용하여 CMK에 권한을 추가하고 허용된 작업을 수행할 수 있는 권한이 부여된 보안 주체(AWSServiceRoleForEC2SpotFleet 서비스 연결 역할)를 지정합니다. CMK는 CMK의 key-id 파라미터 및 ARN에 의해 지정됩니다. 보안 주체는 AWSServiceRoleForEC2SpotFleet 서비스 연결 역할의 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/AWSServiceRoleForEC2SpotFleet \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"

스팟 집합에 대한 IAM 역할

aws-ec2-spot-fleet-tagging-role IAM 역할은 스팟 집합에 스팟 집합 요청, 인스턴스 및 볼륨에 태그를 지정할 권한을 부여합니다. 자세한 내용은 스팟 집합 태그 지정 단원을 참조하십시오.

중요

플릿에서 인스턴스에 태그를 지정하고 목표 용량을 유지하기로 선택하면(스팟 집합 요청이 maintain 유형) IAM 사용자와 IamFleetRole의 권한 차이로 인해 플릿에서 인스턴스의 태그 지정 동작이 일치하지 않을 수 있습니다. IamFleetRoleCreateTags 권한이 없으면 플릿에서 시작한 일부 인스턴스에 태그가 지정되지 않을 수 있습니다. 이러한 불일치를 수정하는 동안 플릿에서 시작한 모든 인스턴스에 태그가 지정되도록 하려면 IamFleetRoleaws-ec2-spot-fleet-tagging-role 역할을 사용하는 것이 좋습니다. 또는 기존 역할을 사용하려면 AmazonEC2SpotFleetTaggingRole AWS 관리형 정책을 기존 역할에 연결합니다. 그렇지 않으면 기존 정책에 CreateTags 권한을 수동으로 추가해야 합니다.

IAM 태그 지정에 대한 스팟 집합 역할을 만들려면

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다.

  3. 신뢰할 수 있는 유형의 엔터티 선택 페이지에서 AWS 서비스, EC2, EC2 - 스팟 플릿 태그 지정, 다음: 권한을 차례로 선택합니다.

  4. 연결된 권한 정책(Attached permissions policy) 페이지에서 다음: 검토(Next: Review)를 선택합니다.

  5. 검토 페이지에서 역할의 이름(예: aws-ec2-spot-fleet-tagging-role)을 입력하고 역할 생성을 선택합니다.

스팟 집합 요청 생성

AWS Management 콘솔을 사용하면 필요한 애플리케이션 또는 작업과 최소 계산 사양을 선택해 스팟 집합 요청을 빠르게 생성할 수 있습니다. Amazon EC2에서는 필요에 가장 잘 맞는 플릿을 구성하고 스팟 모범 사례를 따릅니다. 자세한 내용은 빠르게 스팟 집합 요청 생성(콘솔) 단원을 참조하십시오. 그렇지 않으면 어떠한 기본 설정이든 수정할 수 있습니다. 자세한 내용은 정의된 파라미터를 사용하여 스팟 집합 요청 생성(콘솔) 단원을 참조하십시오.

빠르게 스팟 집합 요청 생성(콘솔)

다음 단계에 따라 빠르게 스팟 집합 요청을 생성합니다.

권장되는 설정을 사용하여 스팟 집합 요청을 생성하려면(콘솔)

  1. https://console.aws.amazon.com/ec2spot에서 스팟 콘솔을 엽니다.

  2. 스팟을 처음 사용하는 경우 시작 페이지가 표시되면 시작하기를 선택합니다. 그렇지 않다면 스팟 인스턴스 요청을 선택합니다.

  3. Tell us your application or task need(필요한 애플리케이션 또는 작업 알리기)에서 Flexible workloads(유연한 워크로드), Load balancing workloads(워크로드 로드 밸런싱), 빅 데이터 워크로드 또는 Defined duration workloads(정의된 기간 워크로드)를 선택합니다.

  4. 인스턴스 구성에서 Minimum compute unit(최소 컴퓨팅 단위)에 대해 애플리케이션 또는 작업에 필요한 최소 하드웨어 사양(vCPU, 메모리, 및 스토리지)으로 as specs(사양으로) 또는 as an instance type(인스턴스 유형으로)을 선택합니다.

    • as specs(사양으로)에 대해 필요한 vCPU 수와 메모리 양을 지정합니다.

    • as an instance type(인스턴스 유형으로)에 대해 기본 인스턴스 유형을 수락하거나 Change instance type(인스턴스 유형 변경)을 선택하여 다른 인스턴스 유형을 선택합니다.

  5. Tell us how much capacity you need(필요한 용량 알리기)에서 Total target capacity(총 목표 용량)에 대해 목표 용량으로 요청할 단위 수를 지정합니다. 인스턴스 또는 vCPU를 선택할 수 있습니다.

  6. 선택한 애플리케이션 또는 작업을 바탕으로 권장되는 Fleet request settings(플릿 요청 설정)를 살펴보고 시작을 선택합니다.

정의된 파라미터를 사용하여 스팟 집합 요청 생성(콘솔)

정의하는 파라미터를 사용하여 스팟 집합을 생성할 수 있습니다.

정의된 파라미터를 사용하여 스팟 집합 요청을 생성하려면(콘솔)

  1. https://console.aws.amazon.com/ec2spot에서 스팟 콘솔을 엽니다.

  2. 스팟을 처음 사용하는 경우 시작 페이지가 표시되면 시작하기를 선택합니다. 그렇지 않다면 스팟 인스턴스 요청을 선택합니다.

  3. Tell us your application or task need(필요한 애플리케이션 또는 작업 알리기)에서 Flexible workloads(유연한 워크로드), Load balancing workloads(워크로드 로드 밸런싱), 빅 데이터 워크로드 또는 Defined duration workloads(정의된 기간 워크로드)를 선택합니다.

  4. 인스턴스 구성에 대해 다음을 수행합니다.

    1. (선택 사항) 시작 템플릿에서 시작 템플릿을 선택합니다. 시작 템플릿이 Amazon 머신 이미지(AMI)를 지정해야 합니다. 사용자가 시작 템플릿을 지정할 경우 스팟 집합을 사용하여 AMI를 재정의할 수 없기 때문입니다.

      중요

      Optional On-Demand portion(옵션 온디맨드 부분)을 지정할 경우 시작 템플릿을 선택해야 합니다.

    2. AMI에 대해서는 AWS가 제공하는 기본 AMI 중 하나를 선택하거나 AMI 검색을 선택하여 사용자 커뮤니티의 AMI, AWS Marketplace의 AMI 또는 자체 AMI를 사용합니다.

    3. Minimum compute unit(최소 컴퓨팅 단위)에 대해 애플리케이션 또는 작업에 필요한 최소 하드웨어 사양(vCPU, 메모리, 및 스토리지)으로 as specs(사양으로) 또는 as an instance type(인스턴스 유형으로)을 선택합니다.

      • as specs(사양으로)에 대해 필요한 vCPU 수와 메모리 양을 지정합니다.

      • as an instance type(인스턴스 유형으로)에 대해 기본 인스턴스 유형을 수락하거나 Change instance type(인스턴스 유형 변경)을 선택하여 다른 인스턴스 유형을 선택합니다.

    4. 네트워크에서 기존 VPC를 선택하거나 새로 생성합니다.

      [기존 VPC] VPC를 선택합니다.

      [새 VPC] Amazon VPC 콘솔로 이동하려면 새 VPC 생성을 선택합니다. 마친 후에 마법사로 돌아와 목록을 새로 고칩니다.

    5. (선택 사항) 가용 영역의 경우 AWS에서 스팟 인스턴스에 대한 가용 영역을 자동으로 선택하도록 하거나 가용 영역을 하나 이상 지정합니다.

      가용 영역에 두 개 이상의 서브넷이 있는 경우 서브넷에서 알맞은 서브넷을 선택합니다. 서브넷을 추가하려면 새 서브넷 생성을 선택하여 Amazon VPC 콘솔로 이동합니다. 마친 후에 마법사로 돌아와 목록을 새로 고칩니다.

    6. (선택 사항) 키 페어 이름에서 기존 키 페어를 선택하거나 새로 생성합니다.

      [기존 키 페어] 키 페어를 선택합니다.

      [새 키 페어] 새 키 페어 생성을 선택해 Amazon VPC 콘솔로 이동합니다. 마친 후에 마법사로 돌아와 목록을 새로 고칩니다.

  5. (선택 사항) 추가 구성에서 다음을 수행합니다.

    1. (선택 사항) 스토리지를 추가하려면 인스턴스 유형에 따라 추가 인스턴스 스토어 볼륨이나 Amazon EBS 볼륨을 지정합니다.

    2. (선택 사항) Amazon EBS 최적화를 활성화하려면 EBS-optimized(EBS 최적화)에서 EBS 최적 인스턴스 시작을 선택합니다.

    3. (선택 사항) 인스턴스에 대해 임시 블록 수준 스토리지를 추가하려면 인스턴스 스토어에 대해 시작 시 연결을 선택합니다.

    4. (선택 사항) 기본적으로 인스턴스에 대해 기본 모니터링 기능이 활성화됩니다. 세부 모니터링을 활성화하려면 모니터링에 대해 CloudWatch 세부 모니터링 활성화를 선택합니다.

    5. (선택 사항) 비정상 인스턴스를 대체하려면 상태 검사(Health check)에서 비정상 인스턴스 교체(Replace unhealthy instances)를 선택합니다. 이 옵션을 활성화하려면 먼저 대상 용량 유지를 선택해야 합니다.

    6. (선택 사항) 전용 스팟 인스턴스를 실행하려면 테넌시에 대해 전용 - 전용 인스턴스로 실행을 선택합니다.

    7. (선택 사항) 보안 그룹에 대해 하나 이상의 보안 그룹을 선택하거나 보안 그룹을 생성합니다.

      [기존 보안 그룹] 하나 이상의 보안 그룹을 선택합니다.

      [새 보안 그룹] 새 보안 그룹 생성을 선택하여 Amazon VPC 콘솔로 이동합니다. 마친 후에 마법사로 돌아와 목록을 새로 고칩니다.

    8. (선택 사항) 인터넷에서 인스턴스에 연결할 수 있도록 하려면 IPv4 퍼블릭 IP 자동 할당에 대해 활성화를 선택합니다.

    9. (선택 사항) IAM 역할로 스팟 인스턴스를 시작하려면 IAM 인스턴스 프로파일에서 역할을 선택합니다.

    10. (선택 사항) 시작 스크립트를 실행하려면 해당 스크립트를 사용자 데이터에 복사합니다.

    11. (선택 사항) 태그를 추가하려면 새로운 태그 추가를 선택하고 해당 태그에 대한 키와 값을 입력합니다. 각 태그에 대해 반복합니다.

      각 태그에서 인스턴스와 스팟 집합 요청에 같은 태그를 사용하여 태그를 지정하려면 Instance tags(인스턴스 태그)Fleet tags(플릿 태그)가 모두 선택되어 있는지 확인합니다. 플릿에서 시작한 인스턴스에만 태그를 지정하려면 Fleet tags(플릿 태그) 선택을 취소합니다. 스팟 집합 요청에만 태그를 지정하려면 인스턴스 태그의 선택을 취소합니다.

  6. Tell us how much capacity you need(필요한 용량 알리기)에 대해 다음을 수행합니다.

    1. Total target capacity(총 목표 용량)에 목표 용량으로 요청할 단위 수를 지정합니다. 인스턴스 또는 vCPU를 선택할 수 있습니다. 나중에 용량을 추가할 수 있도록 목표 용량을 0으로 지정하려면 Maintain target capacity(목표 용량 유지)를 선택합니다.

    2. (선택 사항) Optional On-Demand portion(옵션 온디맨드 부분)에 요청할 온디맨드 단위 수를 지정합니다. 이 값은 Total target capacity(총 목표 용량)보다 작아야 합니다. Amazon EC2가 차이를 계산하고 스팟 단위에 요청할 차이를 할당합니다.

      중요

      옵션 온디맨드 부분을 지정하려면 먼저, 시작 템플릿을 선택해야 합니다.

    3. (선택 사항) 스팟 서비스는 중단된 스팟 인스턴스를 종료하도록 기본 설정되어 있습니다. 목표 용량을 유지하려면 Maintain target capacity(목표 용량 유지)를 선택합니다. 그런 다음 스팟 서비스가 중단된 스팟 인스턴스를 종료, 중지 또는 최대 절전 모드로 전환하도록 지정할 수 있습니다. 이를 위해 인터럽트 방식에서 해당 옵션을 선택합니다.

  7. Fleet request settings(플릿 요청 설정)에서 다음을 수행합니다.

    1. 선택한 애플리케이션 또는 작업을 바탕으로 플릿 요청 및 플릿 할당 전략을 살펴봅니다. 인스턴스 유형 또는 할당 전략을 변경하려면 Apply recommendations(권장 사항 적용)를 선택 취소합니다.

    2. (선택 사항) 인스턴스 유형을 제거하려면 Fleet request(플릿 요청)에 대해 제거를 선택합니다. 인스턴스 유형을 추가하려면 인스턴스 유형 선택을 선택합니다.

    3. (선택 사항) Fleet allocation strategy(플릿 할당 전략)으로 필요에 맞는 전략을 선택합니다. 자세한 내용은 스팟 인스턴스의 할당 전략 단원을 참조하십시오.

  8. (선택 사항) Additional request details(추가 요청 세부 정보)에서 다음을 수행합니다.

    1. 추가 요청 세부 정보를 검토합니다. 변경하려면 Apply defaults(기본값 적용)의 선택을 취소합니다.

    2. (선택 사항) IAM fleet role(IAM 플릿 역할)에서 기본 역할을 사용하거나 다른 역할을 선택할 수 있습니다. 역할을 변경한 후 기본 역할을 사용하려면 기본 역할 사용을 선택합니다.

    3. (선택 사항) 최고 가격에서는 기본 최고 가격(온디맨드 가격)을 사용하거나 지불하고자 하는 최고 가격을 지정합니다. 최고 가격이 선택한 인스턴스 유형에 대한 스팟 가격보다 낮으면 스팟 인스턴스가 시작되지 않습니다.

    4. (선택 사항) 특정 기간 동안만 유효한 요청을 생성하려면 요청 유효 시작 시간요청 유효 종료 시간(Request valid until)을 편집합니다.

    5. (선택 사항) 기본적으로 요청 만료 시 스팟 인스턴스를 종료합니다. 요청 만료 후에도 계속 실행하려면 Terminate the instances when the request expires(요청 만료 시 인스턴스 종료)를 선택 취소합니다.

    6. (선택 사항) 로드 밸런서에 스팟 인스턴스를 등록하려면 하나 이상의 로드 밸런서에서 트래픽 수신을 선택하고 하나 이상의 Classic Load Balancer나 대상 그룹을 선택합니다.

  9. (선택 사항) AWS CLI용 시작 구성의 복사본을 다운로드하려면 JSON 구성을 선택합니다.

  10. 시작을 선택합니다.

    스팟 집합 요청 형식은 fleet입니다. 요청이 이행되면 instance 유형의 요청이 추가되며, 그 상태는 active이고 상황은 fulfilled입니다.

AWS CLI를 사용하여 스팟 집합 요청을 생성하려면

aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json

구성 파일에 대한 예시는 스팟 집합 구성의 예 단원을 참조하십시오.

다음은 예제 출력입니다.

{ "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" }

스팟 집합 태그 지정

스팟 집합 요청을 쉽게 분류하고 관리할 수 있도록 사용자 지정 메타데이터로 이 요청에 태그를 지정할 수 있습니다. 스팟 집합 요청을 만들 때 또는 만든 후 요청에 태그를 지정할 수 있습니다. Amazon EC2 콘솔이나 명령줄 도구를 사용하여 태그를 지정할 수 있습니다.

스팟 집합 요청에 태그를 지정하면 스팟 집합에서 시작한 인스턴스 및 볼륨은 자동으로 태그가 지정되지 않습니다. 스팟 집합에서 시작한 인스턴스 및 볼륨에 명시적으로 태그를 지정해야 합니다. 스팟 집합 요청에만, 플릿에서 시작한 인스턴스에만, 플릿에서 시작한 인스턴스에 연결된 볼륨에만, 또는 세 가지 모두에 태그를 할당하도록 선택할 수 있습니다.

참고

볼륨 태그는 온디맨드 인스턴스에 연결된 볼륨에 대해서만 지원됩니다. 스팟 인스턴스에 연결된 볼륨에는 태그를 지정할 수 없습니다.

태그 작동 방식에 대한 자세한 내용은 Amazon EC2 리소스에 태그 지정 단원을 참조하십시오.

사전 조건

IAM 사용자에게 리소스에 태그를 지정할 수 있는 권한을 부여합니다. 자세한 내용은 예제: 리소스에 태그 지정 단원을 참조하십시오.

IAM 사용자에게 리소스에 태그를 지정할 수 있는 권한을 부여하려면

다음을 포함하는 IAM 정책을 만듭니다.

  • ec2:CreateTags 작업. IAM 사용자에게 태그 생성 권한이 부여됩니다.

  • ec2:RequestSpotFleet 작업. IAM 사용자에게 스팟 집합 요청 생성 권한이 부여됩니다.

  • Resource의 경우 "*"를 지정해야 합니다. 이를 통해 사용자는 모든 리소스 유형에 태그를 지정할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotFleetRequest", "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "*" }
중요

spot-fleet-request 리소스에 대한 리소스 수준 권한은 현재 지원되지 않습니다. spot-fleet-request를 리소스로 지정하면 플릿에 태그를 지정하려고 할 때 승인되지 않은 예외가 발생합니다. 다음 예에서는 정책을 설정하지 않는 방법을 보여 줍니다.

{ "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/*" }

새 스팟 집합에 태그 지정

콘솔을 사용하여 새 스팟 집합 요청에 태그를 지정하려면

  1. 정의된 파라미터를 사용하여 스팟 집합 요청 생성(콘솔)의 절차를 따르십시오.

  2. 태그를 추가하려면 추가 구성을 확장하고 새로운 태그 추가를 선택한 다음 태그의 키와 값을 입력합니다. 각 태그에 대해 반복합니다.

    각 태그에 대해 동일한 태그로 스팟 집합 요청과 인스턴스에 태그를 지정할 수 있습니다. 인스턴스와 요청에 모두 태그를 지정하려면 Instance tags(인스턴스 태그)Fleet tags(플릿 태그)가 모두 선택되어 있는지 확인합니다. 스팟 집합 요청에만 태그를 지정하려면 인스턴스 태그의 선택을 취소합니다. 플릿에서 시작한 인스턴스에만 태그를 지정하려면 Fleet tags(플릿 태그) 선택을 취소합니다.

  3. 필수 필드를 입력하여 스팟 집합 요청을 생성한 다음 시작을 선택합니다. 자세한 내용은 정의된 파라미터를 사용하여 스팟 집합 요청 생성(콘솔) 단원을 참조하십시오.

AWS CLI를 사용하여 새 스팟 집합 요청에 태그를 지정하려면

스팟 집합 요청을 생성할 때 태그를 지정하려면 다음과 같이 스팟 집합 요청 구성을 구성합니다.

  • SpotFleetRequestConfig에서 스팟 집합 요청에 대한 태그를 지정합니다.

  • ResourceType에 대해 spot-fleet-request를 지정합니다. 다른 값을 지정하면 플릿 요청이 실패합니다.

  • Tags에 대해 키-값 페어를 지정합니다. 둘 이상의 키-값 페어를 지정할 수 있습니다.

다음 예에서 스팟 집합 요청에는 Key=Environment 및 Value=Production, Key=Cost-Center 및 Value=123 두 개의 태그가 지정됩니다.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }

새 스팟 집합 및 해당 플릿이 시작하는 인스턴스 및 볼륨에 태그 지정

AWS CLI를 사용하여 새 스팟 집합 요청 및 해당 플릿이 시작하는 인스턴스 및 볼륨에 태그를 지정하려면

스팟 집합 요청을 생성할 때 태그를 지정하고 해당 플릿에 의해 시작할 때 인스턴스 및 볼륨에 태그를 지정하려면 스팟 집합 요청 구성을 다음과 같이 구성합니다.

스팟 집합 요청 태그:

  • SpotFleetRequestConfig에서 스팟 집합 요청에 대한 태그를 지정합니다.

  • ResourceType에 대해 spot-fleet-request를 지정합니다. 다른 값을 지정하면 플릿 요청이 실패합니다.

  • Tags에 대해 키-값 페어를 지정합니다. 둘 이상의 키-값 페어를 지정할 수 있습니다.

인스턴스 태그:

  • LaunchSpecifications의 인스턴스에 대한 태그를 지정합니다.

  • ResourceType에 대해 instance를 지정합니다. 다른 값을 지정하면 플릿 요청이 실패합니다.

  • Tags에 대해 키-값 페어를 지정합니다. 둘 이상의 키-값 페어를 지정할 수 있습니다.

    또는 스팟 집합 요청에서 참조되는 시작 템플릿에서 인스턴스에 대한 태그를 지정할 수 있습니다.

볼륨 태그:

  • 스팟 집합 요청에서 참조되는 시작 템플릿의 볼륨에 대한 태그를 지정합니다. LaunchSpecifications에서의 볼륨 태그 지정은 지원되지 않습니다.

다음 예에서 스팟 집합 요청에는 Key=Environment 및 Value=Production, Key=Cost-Center 및 Value=123 두 개의 태그가 지정됩니다. 플릿에서 시작한 인스턴스에는 스팟 집합 요청의 태그 중 하나와 동일한 Key=Cost-Center 및 Value=123 태그 하나만 지정됩니다.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }

AWS CLI를 사용하여 스팟 집합에서 시작한 인스턴스에 태그를 지정하려면

플릿에서 시작될 때 인스턴스에 태그를 지정하려면 스팟 집합 요청에서 참조되는 시작 템플릿에서 태그를 지정하거나 다음과 같이 스팟 집합 요청 구성에서 태그를 지정할 수 있습니다.

  • LaunchSpecifications의 인스턴스에 대한 태그를 지정합니다.

  • ResourceType에 대해 instance를 지정합니다. 다른 값을 지정하면 플릿 요청이 실패합니다.

  • Tags에 대해 키-값 페어를 지정합니다. 둘 이상의 키-값 페어를 지정할 수 있습니다.

다음 예에서는 플릿에 의해 시작되는 인스턴스에 Key=Cost-Center 및 Value=123 태그가 지정되어 있습니다.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1 } }

AWS CLI를 사용하여 스팟 집합이 시작한 온디맨드 인스턴스에 연결된 볼륨에 태그를 지정하려면

플릿이 생성하는 볼륨에 태그를 지정하려면 스팟 집합 요청에서 참조되는 시작 템플릿에서 태그를 지정하십시오.

참고

볼륨 태그는 온디맨드 인스턴스에 연결된 볼륨에 대해서만 지원됩니다. 스팟 인스턴스에 연결된 볼륨에는 태그를 지정할 수 없습니다.

LaunchSpecifications에서의 볼륨 태그 지정은 지원되지 않습니다.

기존 스팟 집합에 태그 지정

콘솔을 사용하여 기존 스팟 집합 요청에 태그를 지정하려면

스팟 집합 요청을 생성한 후 콘솔을 사용하여 플릿 요청에 태그를 추가할 수 있습니다.

  1. https://console.aws.amazon.com/ec2spot에서 스팟 콘솔을 엽니다.

  2. 스팟 집합 요청을 선택합니다.

  3. 태그 탭을 선택하고 태그 생성을 선택합니다.

AWS CLI를 사용하여 기존 스팟 집합 요청에 태그를 지정하려면

create-tags 명령을 사용해 기존 리소스에 태그를 지정할 수 있습니다. 다음 예에서, 기존 스팟 집합 요청은 Key=purpose 및 Value=test로 태그가 지정되어 있습니다.

aws ec2 create-tags \ --resources sfr-11112222-3333-4444-5555-66666EXAMPLE \ --tags Key=purpose,Value=test

스팟 집합 요청 태그 보기

콘솔을 사용하여 스팟 집합 요청 태그를 보려면

  1. https://console.aws.amazon.com/ec2spot에서 스팟 콘솔을 엽니다.

  2. 스팟 집합 요청을 선택하고 태그 탭을 선택합니다.

스팟 집합 요청 태그를 설명하려면

describe-tags 명령을 사용하여 지정된 리소스에 대한 태그를 표시합니다. 다음 예제에서는 지정된 스팟 집합 요청에 대한 태그를 설명합니다.

aws ec2 describe-tags \ --filters "Name=resource-id,Values=sfr-11112222-3333-4444-5555-66666EXAMPLE"
{ "Tags": [ { "Key": "Environment", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Production" }, { "Key": "Another key", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Another value" } ] }

스팟 집합 요청을 설명하여 스팟 집합 요청의 태그를 볼 수도 있습니다.

describe-spot-fleet-requests 명령을 사용하여 지정된 스팟 집합 요청의 구성을 볼 수 있습니다. 여기에는 플릿 요청에 대해 지정된 태그가 모두 포함되어 있습니다.

aws ec2 describe-spot-fleet-requests \ --spot-fleet-request-ids sfr-11112222-3333-4444-5555-66666EXAMPLE
{ "SpotFleetRequestConfigs": [ { "ActivityStatus": "fulfilled", "CreateTime": "2020-02-13T02:49:19.709Z", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", "OnDemandAllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "Default", "FulfilledCapacity": 2.0, "OnDemandFulfilledCapacity": 0.0, "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "TargetCapacity": 2, "OnDemandTargetCapacity": 0, "Type": "maintain", "ReplaceUnhealthyInstances": false, "InstanceInterruptionBehavior": "terminate" }, "SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "SpotFleetRequestState": "active", "Tags": [ { "Key": "Environment", "Value": "Production" }, { "Key": "Another key", "Value": "Another value" } ] } ] }

스팟 집합 모니터링

스팟 집합는 최고 가격이 스팟 가격을 초과하고 용량이 가용 상태일 때 스팟 인스턴스를 시작합니다. 스팟 인스턴스는 중단되거나 사용자가 직접 종료할 때까지 실행됩니다.

스팟 집합을 모니터링하려면(콘솔)

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

  3. 스팟 집합 요청을 선택합니다. 구성 세부 정보를 보려면 설명을 선택합니다.

  4. 스팟 집합에 대한 스팟 인스턴스를 나열하려면 인스턴스를 선택합니다.

  5. 스팟 집합에 대한 기록을 보려면 기록을 선택합니다.

스팟 집합을 모니터링하려면(AWS CLI)

describe-spot-fleet-requests 명령을 사용하여 스팟 집합 요청을 설명합니다.

aws ec2 describe-spot-fleet-requests

describe-spot-fleet-instances 명령을 사용하여 지정한 스팟 집합에 대한 스팟 인스턴스를 설명합니다.

aws ec2 describe-spot-fleet-instances \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE

describe-spot-fleet-request-history 명령을 사용하여 지정한 스팟 집합 요청에 대한 기록을 설명합니다.

aws ec2 describe-spot-fleet-request-history \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --start-time 2015-05-18T00:00:00Z

스팟 집합 요청 수정

다음 작업을 완료하기 위해 활성 스팟 집합 요청을 수정할 수 있습니다.

  • 목표 용량 및 온디맨드 부분을 늘립니다.

  • 목표 용량 및 온디맨드 부분을 줄입니다.

참고

일회용 스팟 집합 요청은 수정할 수 없습니다. 스팟 집합 요청을 만들 때 대상 용량 유지를 선택한 경우에만 스팟 집합 요청을 수정할 수 있습니다.

목표 용량을 늘리면 스팟 집합에서 추가 스팟 인스턴스를 시작합니다. 온디맨드 부분을 늘리면 스팟 집합에서 추가 온디맨드 인스턴스를 시작합니다.

목표 용량을 늘리면 스팟 집합이 스팟 집합 요청에 대한 할당 전략에 따라 추가 스팟 인스턴스를 시작합니다. 할당 전략이 lowestPrice이면 스팟 집합이 스팟 집합 요청에 있는 최저 가격의 스팟 인스턴스 풀에서 인스턴스를 시작합니다. 할당 전략이 diversified인 경우 스팟 집합은 스팟 집합 요청의 풀 전체에 인스턴스를 배포합니다.

목표 용량을 줄이면 스팟 집합이 새 목표 용량을 초과하는 모든 열린 요청을 취소합니다. 플릿의 크기가 새 목표 용량에 도달할 때까지 스팟 집합이 스팟 인스턴스를 종료하도록 요청할 수 있습니다. 할당 전략이 lowestPrice인 경우 스팟 집합은 단위당 최고 가격이 있는 인스턴스를 종료합니다. 할당 전략이 diversified인 경우 스팟 집합은 풀 전체의 인스턴스를 종료합니다. 또는 스팟 집합이 플릿을 현재 크기로 유지하도록 요청할 수 있습니다. 그러나 중단되거나 수동으로 종료한 스팟 인스턴스는 교체하지 마십시오.

목표 용량이 줄어 스팟 집합이 인스턴스를 종료하면 해당 인스턴스는 스팟 인스턴스 중단 공지를 받습니다.

스팟 집합 요청을 수정하려면(콘솔)

  1. https://console.aws.amazon.com/ec2spot/home/fleet에서 스팟 콘솔을 엽니다.

  2. 스팟 집합 요청을 선택합니다.

  3. 작업을 선택한 다음, Modify target capacity(목표 용량 수정)을 선택합니다.

  4. 목표 용량 수정(Modify target capacity)에서 다음 작업을 수행하십시오.

    1. 새 목표 용량 및 온디맨드 부분을 입력합니다.

    2. (선택 사양) 목표 용량을 줄이지만 집합은 현재 크기로 유지하고자 한다면, 인스턴스 종료 선택을 취소합니다.

    3. 제출을 선택합니다.

AWS CLI를 사용하여 스팟 집합 요청을 수정하려면

modify-spot-fleet-request 명령을 사용하여 지정된 스팟 집합 요청의 목표 용량을 업데이트합니다.

aws ec2 modify-spot-fleet-request \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --target-capacity 20

다음과 같이 이전 명령을 수정하여 결과적으로 어떤 스팟 인스턴스도 종료하지 않고 지정된 스팟 집합의 목표 용량을 줄일 수 있습니다.

aws ec2 modify-spot-fleet-request \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --target-capacity 10 \ --excess-capacity-termination-policy NoTermination

스팟 집합 요청 취소

스팟 집합 사용을 마쳤으면 스팟 집합 요청을 취소할 수 있습니다. 이렇게 하면 스팟 집합과 연결된 스팟 요청이 모두 취소되므로 스팟 집합에 대해 시작되는 새 스팟 인스턴스가 없습니다. 스팟 집합이 스팟 인스턴스를 종료할지 여부를 지정해야 합니다. 인스턴스를 종료하면 스팟 집합 요청은 cancelled_terminating 상태가 됩니다. 인스턴스를 종료하지 않으면, 스팟 플릿 요청은 cancelled_running 상태가 되고 인스턴스는 중단되거나 사용자가 수동으로 종료하지 않는 한 계속 실행됩니다.

스팟 집합 요청을 취소하려면(콘솔)

  1. https://console.aws.amazon.com/ec2spot/home/fleet에서 스팟 콘솔을 엽니다.

  2. 스팟 집합 요청을 선택합니다.

  3. 작업을 클릭하고 Cancel spot request(스팟 요청 취소)를 선택합니다.

  4. 스팟 요청 취소(Cancel spot request)에서 스팟 집합을 취소하겠다는 것을 확인합니다. 집합을 현재 크기로 유지하려면 인스턴스 종료를 선택 취소합니다. 준비가 완료되면 확인을 선택합니다.

AWS CLI를 사용하여 스팟 집합 요청을 취소하려면

cancel-spot-fleet-requests 명령을 사용하여 지정한 스팟 집합 요청을 취소하고 인스턴스를 종료합니다.

aws ec2 cancel-spot-fleet-requests \ --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --terminate-instances

다음은 예제 출력입니다.

{ "SuccessfulFleetRequests": [ { "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "CurrentSpotFleetRequestState": "cancelled_terminating", "PreviousSpotFleetRequestState": "active" } ], "UnsuccessfulFleetRequests": [] }

다음과 같이 이전 명령을 수정하여 인스턴스를 종료하지 않고 지정된 스팟 집합 요청을 취소할 수 있습니다.

aws ec2 cancel-spot-fleet-requests \ --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --no-terminate-instances

다음은 예제 출력입니다.

{ "SuccessfulFleetRequests": [ { "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "CurrentSpotFleetRequestState": "cancelled_running", "PreviousSpotFleetRequestState": "active" } ], "UnsuccessfulFleetRequests": [] }