스팟 인스턴스 요청 생성 - Amazon Elastic Compute Cloud

스팟 인스턴스 요청 생성

스팟 인스턴스를 사용하려면 원하는 인스턴스 수, 인스턴스 유형, 가용 영역이 포함된 스팟 인스턴스 요청을 생성합니다. 용량을 사용할 수 있는 경우 Amazon EC2는 요청을 즉시 이행합니다. 그렇지 않으면 요청이 이행될 수 있을 때까지 또는 사용자가 요청을 취소할 때까지 Amazon EC2가 대기합니다.

Amazon EC2 콘솔의 인스턴스 시작 마법사 또는 run-instances AWS CLI 명령을 사용하여 온디맨드 인스턴스를 시작하는 것과 동일한 방식으로 스팟 인스턴스를 요청할 수 있습니다. 이 방법은 다음과 같은 이유로만 권장됩니다.

  • 이미 인스턴스 시작 마법사 또는 run-instances 명령을 사용하여 온디맨드 인스턴스를 시작하고 있으며 단일 파라미터를 변경하여 스팟 인스턴스 시작으로 변경하려고 합니다.

  • 인스턴스 유형이 다른 여러 인스턴스는 필요하지 않습니다.

이 방법은 여러 인스턴스 유형을 지정할 수 없고 동일한 요청에서 스팟 인스턴스와 온디맨드 인스턴스를 시작할 수 없기 때문에 일반적으로 스팟 인스턴스를 시작하는 데 권장되지 않습니다. 스팟 인스턴스와 여러 인스턴스 유형의 온디맨드 인스턴스를 포함하는 플릿을 시작하는 방법을 비롯하여 스팟 인스턴스를 시작하는 데 선호되는 방법은 어느 스팟 요청 방법을 사용하는 것이 최선인가요? 섹션을 참조하세요.

여러 스팟 인스턴스를 한 번에 요청하는 경우 각 요청 상태를 개별적으로 추적할 수 있도록 Amazon EC2에서 개별 스팟 인스턴스 요청을 생성합니다. 스팟 인스턴스 요청 추적에 대한 자세한 내용은 스팟 인스턴스 요청 상태 가져오기 섹션을 참조하세요.

Console
인스턴스 시작 마법사를 사용하여 스팟 인스턴스 요청 생성

1~9단계는 온디맨드 인스턴스를 시작하는 데 사용하는 단계와 동일합니다. 10단계에서는 스팟 인스턴스 요청을 구성합니다.

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

  2. 화면 상단의 탐색 모음에서 리전을 선택합니다.

  3. Amazon EC2 콘솔 대시보드에서 인스턴스 시작을 선택합니다.

  4. (선택 사항) 이름 및 태그(Name and tags)에서 인스턴스의 이름을 지정하고 스팟 인스턴스 요청, 인스턴스, 볼륨 및 탄력적 그래픽에 태깅할 수 있습니다. 태그에 대한 자세한 내용은 Amazon EC2 리소스 태깅 섹션을 참조하세요.

    1. 이름(Name)에 인스턴스를 설명하는 이름을 입력합니다.

      인스턴스 이름은 태그이며, 여기서 키는 이름이고 값은 사용자가 지정하는 이름입니다. 이름을 지정하지 않으면 인스턴스를 시작할 때 자동으로 생성되는 ID로 인스턴스를 식별할 수 있습니다.

    2. 스팟 인스턴스 요청, 인스턴스, 볼륨 및 탄력적 그래픽에 태깅하려면 추가 태그 추가(Add additional tags)를 선택합니다. 태그 추가(Add tag)를 선택한 다음 키와 값을 입력하고 태그를 지정할 리소스 유형을 선택합니다. 추가할 각 추가 태그에 대해 태그 추가(Add tag)를 다시 선택합니다.

  5. 애플리케이션 및 OS 이미지(Amazon Machine Image)(Application and OS Images (Amazon Machine Image))에서 인스턴스의 운영 체제(OS)를 선택한 다음 AMI를 선택합니다. 자세한 내용은 애플리케이션 및 OS 이미지(Amazon Machine Image) 단원을 참조하십시오.

  6. 인스턴스 유형(Instance type)에서 하드웨어 구성 및 인스턴스 크기에 대한 요구 사항을 충족하는 인스턴스 유형을 선택합니다. 자세한 내용은 인스턴스 유형 단원을 참조하십시오.

  7. 키 페어(로그인)(Key pair (login))에서 기존 키 페어를 선택하거나 새로운 키 페어 생성(Create new key pair)을 선택하여 새로 생성합니다. 자세한 내용은 Amazon EC2 키 페어 및 Amazon EC2 인스턴스 단원을 참조하십시오.

    중요

    키 페어 없이 진행(Proceed without key pair)(권장하지 않음) 옵션을 선택할 경우 사용자가 다른 방법으로 로그인할 수 있도록 구성된 AMI를 선택해야만 인스턴스에 연결할 수 있습니다.

  8. 네트워크 설정(Network settings)에서 기본 설정을 사용하거나 편집(Edit)을 선택하여 필요에 따라 네트워크 설정을 구성합니다.

    보안 그룹은 네트워크 설정의 일부를 구성하고 인스턴스에 대한 방화벽 규칙을 정의합니다. 이 규칙은 인스턴스에 전달되는 수신 네트워크 트래픽을 정의합니다.

    자세한 내용은 네트워크 설정 단원을 참조하십시오.

  9. 선택한 AMI에는 루트 디바이스 볼륨을 포함한 하나 이상의 스토리지 볼륨이 있습니다. 스토리지 구성(Configure storage) 페이지에서 새 볼륨 추가(Add new volume)를 선택하여 인스턴스에 연결할 추가 볼륨을 지정할 수 있습니다. 자세한 내용은 스토리지 구성 단원을 참조하십시오.

  10. 고급 세부 정보(Advanced details)에서 스팟 인스턴스 요청을 다음과 같이 구성합니다.

    1. 구매 옵션(Purchasing option)에서 스팟 인스턴스 요청(Request Spot Instances) 확인란을 선택합니다.

    2. 스팟 인스턴스 요청에 대한 기본 구성을 유지하거나 사용자 지정(Customize)(오른쪽)을 선택하여 스팟 인스턴스 요청에 대한 사용자 지정 설정을 지정할 수 있습니다.

      사용자 지정(Customize)을 선택하면 다음 필드가 나타납니다.

      1. 최고 가격(Maximum price): 스팟 가격(온디맨드 가격으로 제한됨)으로 스팟 인스턴스를 요청하거나 지불할 의향이 있는 최대 금액을 지정할 수 있습니다.

        주의

        최고 가격을 지정하면 최고 가격 없음(No maximum price)을 선택하는 경우보다 인스턴스가 더 자주 중단됩니다.

        • 최고 가격 없음(No maximum price): 스팟 인스턴스가 현재 스팟 가격으로 시작됩니다. 가격은 온디맨드 가격을 초과하지 않습니다. (권장)

        • 최고 가격 설정(인스턴스/시간당)(Set your maximum price (per instance/hour)): 지불할 의향이 있는 최고 금액을 지정할 수 있습니다.

          • 현재 스팟 가격보다 낮은 최고가를 지정하면 스팟 인스턴스가 시작되지 않습니다.

          • 현재 스팟 가격보다 높은 최고 가격을 지정하면 스팟 인스턴스가 현재 스팟 가격으로 시작되고 현재 스팟 가격을 기준으로 요금이 부과됩니다. 스팟 인스턴스가 실행된 후 스팟 가격이 최고 가격보다 높아지면 Amazon EC2가 스팟 인스턴스를 중단합니다.

          • 지정한 최고 가격과 관계없이 항상 현재 스팟 가격을 기준으로 비용이 청구됩니다.

          스팟 가격 추세를 검토하려면 스팟 인스턴스 요금 기록 섹션을 참조하세요.

      2. 요청 유형(Request type): 선택하는 스팟 인스턴스 요청 유형에 따라 스팟 인스턴스가 중단될 때의 동작이 결정됩니다.

        • 일회성(One-time): Amazon EC2가 스팟 인스턴스에 대해 일회성 요청을 보냅니다. 스팟 인스턴스가 중단되면 요청이 다시 제출되지 않습니다.

        • 영구 요청(Persistent request): Amazon EC2가 스팟 인스턴스에 대한 영구 요청을 합니다. 스팟 인스턴스가 중단되면 중단된 스팟 인스턴스를 보충하기 위해 요청이 다시 제출됩니다.

        값을 지정하지 않으면 기본값은 일회성 요청입니다.

      3. 유효 기간 종료(Valid to): 영구 스팟 인스턴스 요청의 만료 날짜입니다.

        일회성 요청에는 이 필드가 지원되지 않습니다. 일회성 요청은 요청의 모든 인스턴스가 시작되거나 요청을 취소할 때까지 활성 상태로 유지됩니다.

        • 요청 만료 날짜 없음(No request expiry date): 요청이 취소될 때까지 활성 상태로 유지됩니다.

        • 요청 만료 날짜 설정(Set your request expiry date): 영구 요청은 지정한 날짜까지 또는 취소될 때까지 활성 상태로 유지됩니다.

      4. 인터럽트 방식(Interruption behavior): 선택하는 동작에 따라 스팟 인스턴스가 중단될 때의 동작이 결정됩니다.

        • 영구 요청의 경우 유효한 값은 중지(Stop)최대 절전(Hibernate)입니다. 인스턴스가 중지되면 EBS 볼륨 스토리지에 대한 요금이 적용됩니다.

          참고

          이제 온디맨드 인스턴스와 동일한 최대 절전 모드 기능을 스팟 인스턴스에서 사용합니다. 최대 절전 모드를 활성화하려면 여기에서 최대 절전 모드를 선택하거나 시작 인스턴스 마법사의 아래쪽에 나타나는 중지 - 최대 절전 모드 동작 필드에서 활성화를 선택하면 됩니다. 최대 절전 모드 사전 조건은 Amazon EC2 인스턴스 최대 절전 모드를 위한 사전 조건의 섹션을 참조하세요.

        • 일회성 요청의 경우 종료(Terminate)만 유효합니다.

        값을 지정하지 않으면 기본값은 영구 스팟 인스턴스 요청에 유효하지 않은 종료(Terminate)입니다. 기본값을 유지하고 영구 스팟 인스턴스 요청을 시작하려고 하면 오류가 발생합니다.

        자세한 내용은 스팟 인스턴스 중단 동작 단원을 참조하십시오.

  11. 요약(Summary) 패널의 인스턴스 수(Number of instances)에 시작할 인스턴스 수를 입력합니다.

    참고

    Amazon EC2는 각 스팟 인스턴스에 대해 별도의 요청을 생성합니다.

  12. 요약(Summary) 패널에서 인스턴스의 세부 정보를 검토하고 필요에 따라 변경합니다. 스팟 인스턴스 요청을 제출한 후에는 요청의 파라미터를 변경할 수 없습니다. 요약(Summary) 패널에서 해당 링크를 선택하여 인스턴스 시작 마법사의 섹션으로 직접 이동할 수 있습니다. 자세한 내용은 요약 단원을 참조하십시오.

  13. 인스턴스를 시작할 준비가 되면 인스턴스 시작(Launch instance)을 선택합니다.

    인스턴스가 시작하지 않거나 상태가 terminated이 아닌 running로 변경되는 경우, Amazon EC2 인스턴스 시작 문제 해결 섹션을 참조하세요.

AWS CLI
run-instances를 사용하여 스팟 인스턴스 요청 생성

run-instances 명령을 사용하고 --instance-market-options 파라미터에 스팟 인스턴스 옵션을 지정합니다.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type t2.micro \ --count 5 \ --subnet-id subnet-08fc749671b2d077c \ --key-name MyKeyPair \ --security-group-ids sg-0b0384b66d7d692f9 \ --instance-market-options file://spot-options.json

다음은 --instance-market-options에 대해 JSON 파일에 지정할 데이터 구조입니다. ValidUntilInstanceInterruptionBehavior도 지정할 수 있습니다. 데이터 구조에서 필드를 지정하지 않으면 기본값이 사용됩니다.

다음 예제에서는 persistent 요청을 만듭니다.

{ "MarketType": "spot", "SpotOptions": { "SpotInstanceType": "persistent" } }

 

request-spot-instances를 사용하여 스팟 인스턴스 요청 생성

참고

스팟 인스턴스는 계획된 투자가 없는 레거시 API이므로 request-spot-instances 명령을 사용하여 스팟 인스턴스를 요청하지 않는 것이 좋습니다. 자세한 내용은 어느 스팟 요청 방법을 사용하는 것이 최선인가요? 섹션을 참조하세요.

request-spot-instances 명령을 사용하여 일회성 요청을 생성합니다.

aws ec2 request-spot-instances \ --instance-count 5 \ --type "one-time" \ --launch-specification file://specification.json

request-spot-instances 명령을 사용하여 영구 요청을 생성합니다.

aws ec2 request-spot-instances \ --instance-count 5 \ --type "persistent" \ --launch-specification file://specification.json

이러한 명령과 함께 사용할 시작 사양 파일에 대한 예시는 스팟 인스턴스 요청 예제 시작 사양 섹션을 참조하세요. 스팟 요청 콘솔에서 시작 사양 파일을 다운로드하는 경우 request-spot-fleet 명령을 대신 사용해야 합니다(스팟 요청 콘솔은 스팟 플릿을 사용하여 스팟 인스턴스 요청을 지정함).