스팟 플릿 생성 - Amazon Elastic Compute Cloud

스팟 플릿 생성

AWS Management Console을 사용하여 AMI와 원하는 총 대상 용량만 선택하면 스팟 플릿 요청을 빠르게 생성할 수 있습니다. Amazon EC2는 스팟 모범 사례를 따르며 요구 사항을 가장 잘 충족하는 플릿을 구성합니다. 또는 어떠한 기본 설정이든 수정할 수 있습니다.

플릿에 온디맨드 인스턴스를 포함하려면 요청에서 시작 템플릿을 지정하고 원하는 온디맨드 용량을 지정해야 합니다.

플릿은 가용 용량이 있을 때 온디맨드 인스턴스를 시작하고, 최고 가격이 스팟 가격을 초과하고 가용 용량이 있을 때 스팟 인스턴스를 시작합니다.

플릿에 스팟 인스턴스가 포함되어 있고 유형이 maintain인 경우 Amazon EC2에서 스팟 인스턴스가 중단되어도 플릿 목표 용량을 유지하려고 합니다.

필수 권한

자세한 내용은 스팟 플릿 권한 섹션을 참조하세요.

스팟 플릿 요청을 빠르게 생성

다음과 같은 단계에 따라 Amazon EC2 콘솔을 사용하여 빠르게 스팟 플릿 요청을 생성합니다.

권장되는 설정을 사용하여 스팟 플릿 요청을 생성하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

  3. 스팟을 처음 사용하는 경우 시작 페이지가 표시되면 시작하기를 선택합니다. 그렇지 않으면 스팟 플릿 요청 생성을 선택합니다.

  4. 시작 파라미터(Launch parameters) 아래에서 시작 파라미터 수동 구성(Manually configure launch parameters)을 선택합니다.

  5. AMI에서 AMI를 선택합니다.

  6. 목표 용량(Target capacity)총 목표 용량(Total target capacity)에 요청할 단위 수를 지정합니다. 단위 유형에서 인스턴스, vCPU 또는 메모리(GiB)를 선택할 수 있습니다.

  7. 플릿 요청 살펴보기에서 플릿 구성을 검토하고 시작을 선택합니다.

정의된 파라미터를 사용하여 스팟 플릿 요청 생성

정의한 파라미터를 사용하여 스팟 플릿을 생성할 수 있습니다.

Console
정의된 파라미터를 사용하여 스팟 플릿 요청을 생성하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

  3. 스팟을 처음 사용하는 경우 시작 페이지가 표시되면 시작하기를 선택합니다. 그렇지 않으면 스팟 플릿 요청 생성을 선택합니다.

  4. 시작 파라미터의 경우 다음과 같이 시작 파라미터를 수동으로 구성하거나 시작 템플릿을 사용할 수 있습니다.

    1. [수동 구성] Amazon EC2 콘솔에서 시작 파라미터를 정의하려면 시작 파라미터 수동 구성을 선택하고 다음을 수행합니다.

      1. AMI의 경우 AWS가 제공하는 기본 AMI 중 하나를 선택하거나 AMI 검색(Search for AMI)을 선택하여 사용자 커뮤니티, AWS Marketplace 또는 자체 AMI를 사용합니다.

        참고

        시작 파라미터에 지정된 AMI가 등록 취소되거나 비활성화된 경우 AMI에서 새 인스턴스를 시작할 수 없습니다. 목표 용량을 유지하도록 설정된 플릿의 경우 목표 용량이 유지되지 않습니다.

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

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

        [새 키 페어] 새 키 페어 생성을 선택하여 키 페어 페이지로 이동합니다. 마친 후에 스팟 요청(Spot Requests) 페이지로 돌아가고 목록을 새로 고칩니다.

      3. (선택 사항) 추가 시작 파라미터(Additional launch parameters)를 확장하고 다음을 수행합니다.

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

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

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

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

        5. (선택 사항) 전용 스팟 인스턴스를 실행하려면 [테넌시(Tenancy)]에서 전용 - 전용 인스턴스 실행(Dedicated - run a dedicated instance)]을 선택합니다.

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

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

          [새 보안 그룹] 새 보안 그룹 생성(Create new security group)을 선택하여 보안 그룹(Security Groups) 페이지로 이동합니다. 마친 후에 스팟 요청(Spot Requests) 페이지로 돌아가고 목록을 새로 고칩니다.

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

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

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

        10. (선택 사항) 태그를 추가하려면 태그 생성(Create tag)을 선택하고 해당 태그에 대한 키와 값을 입력한 다음 생성(Create)을 선택합니다. 각 태그에 대해 반복합니다.

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

    2. [시작 템플릿] 시작 템플릿에서 생성한 구성을 사용하려면 시작 템플릿 사용을 선택하고, 시작 템플릿에서 시작 템플릿을 선택합니다.

      참고

      스팟 플릿에서 온디맨드 용량을 사용하려면 시작 템플릿을 지정해야 합니다.

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

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

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

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

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

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

  6. 목표 용량(Target capacity)에서 다음을 수행합니다.

    1. 총 목표 용량(Total target capacity)에서 요청할 단위 수를 지정합니다. 단위 유형에서 인스턴스(Instances), vCPU(vCPUs) 또는 메모리(MiB)(Memory (MiB))를 선택할 수 있습니다. 나중에 용량을 추가할 수 있도록 목표 용량을 0으로 지정하려면 목표 용량 유지를 선택해야 합니다.

    2. (선택 사항) 온디맨드 기반 용량 포함(Include On-Demand base capacity)에서 요청할 온디맨드 단위 수를 지정합니다. 이 수는 [총 목표 용량(Total target capacity)]보다 작아야 합니다. Amazon EC2는 차이를 계산하고 스팟 단위에 요청할 차이를 할당합니다.

      중요

      선택적 온디맨드 용량을 지정하려면 먼저 시작 템플릿을 선택해야 합니다.

    3. (선택 사항) 기본적으로 Amazon EC2는 스팟 인스턴스가 중단되면 스팟 인스턴스를 종료합니다. 목표 용량을 유지하려면 목표 용량 유지(Maintain target capacity)를 선택합니다. 그런 다음, 스팟 인스턴스가 중단되면 Amazon EC2는 해당 스팟 인스턴스를 종료하거나 중지하거나 최대 절전 모드로 전환합니다. 이를 위해 인터럽트 방식에서 해당 옵션을 선택합니다.

      참고

      시작 파라미터에 지정된 AMI가 등록 취소되거나 비활성화된 경우 AMI에서 새 인스턴스를 시작할 수 없습니다. 이 경우 목표 용량을 유지하도록 설정된 플릿의 목표 용량이 유지되지 않습니다.

    4. (선택 사항) 플릿의 기존 스팟 인스턴스에 대해 인스턴스 재분배 알림이 생성될 때 스팟 플릿에서 대체 스팟 인스턴스를 시작할 수 있도록 하려면 용량 재분배(Capacity rebalance)를 선택한 다음 인스턴스 대체 전략을 선택합니다. 종료 전 시작을 선택하는 경우 Amazon EC2에서 이전 인스턴스를 종료하기 전의 지연 시간(초)을 지정합니다. 자세한 내용은 EC2 플릿 및 스팟 플릿의 용량 리밸런싱을 사용하여 위험이 있는 스팟 인스턴스 교체 섹션을 참조하세요.

    5. (선택 사항) 플릿의 모든 스팟 인스턴스에 대해 시간당 지불하는 금액을 관리하려면 스팟 인스턴스의 최대 비용 설정(Set maximum cost for Spot Instances)을 선택한 다음 시간당 지불할 최대 총 금액을 입력합니다. 최대 총 금액에 도달하면 스팟 플릿은 목표 용량을 충족하지 않은 경우에도 스팟 인스턴스 시작을 중지합니다. 자세한 내용은 EC2 플릿 또는 스팟 플릿에 지출 한도 설정 섹션을 참조하세요.

  7. 네트워크(Network)에서 다음을 수행합니다.

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

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

      [새 VPC] Amazon VPC 콘솔로 이동하려면 새 VPC 생성을 선택합니다. 완료되면 이 화면으로 돌아와 목록을 새로 고칩니다.

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

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

  8. 인스턴스 유형 요구 사항(Instance type requirements)에서 인스턴스 속성을 지정하고 Amazon EC2가 해당 속성으로 인스턴스 유형을 식별하도록 하거나 인스턴스 목록을 지정할 수 있습니다. 자세한 내용은 EC2 플릿 또는 스팟 플릿의 인스턴스 유형 선택에 대한 속성 지정 섹션을 참조하세요.

    1. 컴퓨팅 요구 사항에 맞는 인스턴스 속성 지정(Specify instance attributes that match your compute requirements)을 선택하는 경우 다음과 같이 인스턴스 속성을 지정합니다.

      1. vCPU(vCPUs)에 원하는 최소 및 최대 vCPU 수를 입력합니다. 무한을 지정하려면 최소 없음, 최대 없음 또는 두 가지 모두를 선택합니다.

      2. 메모리(GiB)(Memory (GiB))에 원하는 최소 및 최대 메모리 양을 입력합니다. 무한을 지정하려면 최소 없음, 최대 없음 또는 두 가지 모두를 선택합니다.

      3. (선택 사항) 추가 인스턴스 속성에서 필요에 따라 하나 이상의 속성을 지정하여 컴퓨팅 요구 사항을 더 자세히 표현할 수 있습니다. 각 추가 속성은 요청에 추가 제약 조건을 추가합니다. 추가 속성을 생략할 수 있으며 생략 시 기본값이 사용됩니다. 각 속성과 기본값에 대한 설명은 get-spot-placement-scores를 참조하세요.

      4. (선택 사항) 지정한 속성을 가진 인스턴스 유형을 보려면 일치하는 인스턴스 유형 미리 보기(Preview matching instance types)를 확장합니다. 요청에 사용되는 인스턴스 유형을 제외하려면 인스턴스를 선택한 다음 선택한 인스턴스 유형 제외(Exclude selected instance types)를 선택합니다.

    2. 수동으로 인스턴스 유형 선택(Manually select instance types)을 선택하는 경우 스팟 플릿은 기본 인스턴스 유형 목록을 제공합니다. 인스턴스 유형을 더 많이 선택하려면 인스턴스 유형 추가(Add instance types)를 선택하고 요청에 사용할 인스턴스 유형을 선택한 다음 선택(Select)을 선택합니다. 인스턴스 유형을 삭제하려면 인스턴스 유형을 선택하고 삭제(Delete)를 선택합니다.

  9. 할당 전략의 경우 필요에 맞는 스팟 할당 전략과 온디맨드 할당 전략을 선택합니다. 자세한 내용은 할당 전략을 사용하여 EC2 플릿 또는 스팟 플릿이 스팟 및 온디맨드 용량을 충족하는 방법 결정 섹션을 참조하세요.

  10. 플릿 요청 한눈에 보기(Your fleet request at a glance)에서 플릿 구성을 검토하고 필요한 경우 조정합니다.

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

  12. 스팟 플릿을 시작할 준비가 되면 시작을 선택합니다.

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

AWS CLI
스팟 플릿 요청을 생성하는 방법

request-spot-fleet 명령을 사용합니다.

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

구성 파일에 대한 예시는 예제 CLI 구성 스팟 플릿 섹션을 참조하세요.

PowerShell
스팟 플릿 요청을 생성하는 방법

Request-EC2SpotFleet cmdlet을 사용합니다. 다음 예제는 용량 최적화 플릿에서 스팟 인스턴스를 시작합니다.

Request-EC2SpotFleet ` -SpotFleetRequestConfig_TargetCapacity 50 ` -SpotFleetRequestConfig_AllocationStrategy "CapacityOptimized" ` -SpotFleetRequestConfig_IamFleetRole "arn:aws:iam::123456789012:role/my-spot-fleet-role" ` -SpotFleetRequestConfig_LaunchTemplateConfig @($launchConfig)

다음과 같이 시작 구성을 정의하여 시작 템플릿을 설정하고 필요한 속성을 재정의합니다. 구성에 대한 예시는 예제 CLI 구성 스팟 플릿 섹션을 참조하세요.

$lcSpec = Amazon.EC2.Model.FleetLaunchTemplateSpecification # To do - Set FleetLaunchTemplateSpecification properties $lcOverrides = New-Object Amazon.EC2.Model.LaunchTemplateOverrides # To do - Set LaunchTemplateOverrides properties $launchConfig = New-Object Amazon.EC2.Model.LaunchTemplateConfig $launchConfig.LaunchTemplateSpecification $lcSpec $launchConfig.Overrides @($lcOverrides)

비정상 스팟 인스턴스를 교체하는 스팟 플릿 생성

스팟 플릿은 2분마다 플릿의 스팟 인스턴스 상태를 확인합니다. 인스턴스의 상태는 healthy 또는 unhealthy입니다.

스팟 플릿은 Amazon EC2에서 제공하는 상태 확인을 사용하여 인스턴스의 상태를 판단합니다. 세 번의 연속 상태 확인에서 인스턴스 상태 또는 시스템 상태가 unhealthy인 경우, 해당 인스턴스의 상태는 impaired로 확인됩니다. 자세한 내용은 Amazon EC2 인스턴스 상태 확인 섹션을 참조하세요.

플릿을 구성하여 비정상 스팟 인스턴스를 교체할 수 있습니다. 상태 확인 교체를 사용하도록 설정한 이후 스팟 인스턴스는 unhealthy로 보고될 때 교체됩니다. 플릿은 비정상 스팟 인스턴스가 교체되는 동안 최대 몇 분간 목표 용량을 밑돌 수 있습니다.

요구 사항
  • 상태 확인 대체는 목표 용량을 유지하는스팟 집합(maintain 유형 플릿)에만 지원되며 일회성 스팟 집합(request 유형 플릿)에는 지원되지 않습니다.

  • 상태 확인 교체는 스팟 인스턴스에 대해서만 지원됩니다. 이 기능은 온디맨드 인스턴스에 대해 지원되지 않습니다.

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

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

Console
비정상 스팟 인스턴스를 교체하도록 스팟 플릿을 구성하는 방법
  1. 정의된 파라미터를 사용하여 스팟 플릿 요청 생성의 스팟 플릿 생성 단계를 따릅니다.

  2. 비정상 스팟 인스턴스를 교체하도록 플릿을 구성하려면 추가 시작 파라미터를 확장하고 상태 확인에서 비정상 인스턴스 교체를 선택합니다. 이 옵션을 활성화하려면 먼저 대상 용량 유지를 선택해야 합니다.

AWS CLI
비정상 스팟 인스턴스를 교체하도록 스팟 플릿을 구성하는 방법

ReplaceUnhealthyInstances 속성이 SpotFleetRequestConfigrequest-spot-fleet 명령을 사용합니다.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "TargetCapacity": 10, "ReplaceUnhealthyInstances": true } }
PowerShell
비정상 스팟 인스턴스를 교체하도록 스팟 플릿 요청을 구성하는 방법

Request-EC2SpotFleet cmdlet을 -SpotFleetRequestConfig_ReplaceUnhealthyInstance 파라미터와 함께 사용합니다.

-SpotFleetRequestConfig_ReplaceUnhealthyInstance $true