스팟 인스턴스 지원 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

스팟 인스턴스 지원

Amazon EC2 스팟 인스턴스 를 활용하려면 환경에 스팟 옵션을 활성화하면 됩니다. 그런 다음 환경의 Auto Scaling 그룹은 Amazon EC2 구매 옵션을 결합하고 온디맨드 인스턴스와 스팟 인스턴스를 혼합하여 유지합니다.

참고

EnableSpot 옵션 설정을 사용하면 Elastic Beanstalk가 시작 템플릿으로 환경을 생성하거나 시작 구성에서 시작 템플릿으로 기존 환경을 업데이트할 수 있습니다. 자세한 내용은 시작 템플릿 섹션을 참조하세요.

이 주제에서는 환경에 대한 스팟 인스턴스 요청을 활성화하는 다음 방법을 설명합니다.

중요

스팟 인스턴스에 대한 수요는 순간마다 크게 다를 수 있으며, 스팟 인스턴스의 가용성은 미사용 Amazon EC2 인스턴스 수에 따라 크게 달라질 수 있습니다. 스팟 인스턴스가 중단될 가능성은 항상 있습니다.

이러한 중단이 애플리케이션에 미치는 영향을 최소화하기 위해 Amazon EC2 Auto Scaling 에 포함된 용량 재조정 옵션을 활성화할 수 있습니다. 이 기능을 활성화하면 는 Auto Scaling 그룹의 스팟 인스턴스가 중단되기 전에 EC2 자동으로 교체를 시도합니다. 이 기능을 활성화하려면 Elastic Beanstalk 콘솔을 사용해 Auto Scaling 그룹을 구성합니다. 또는 aws:autoscaling:asg 네임스페이스에 Elastic Beanstalk EnableCapacityRebalancing 구성 옵션true로 설정할 수 있습니다.

자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서용량 재조정Amazon EC2 사용 설명서스팟 인스턴스 중단을 참조하세요.

Elastic Beanstalk에서는 스팟 기능을 지원하는 몇 가지 구성 옵션을 제공합니다. Auto Scaling 그룹 구성에 대해 설명하는 다음 단원에서 설명되어 있습니다.

aws:ec2:instances 네임 스페이스에서 해당 옵션 중 두 가지는 특별히 주의할 필요가 있습니다.

  • SpotFleetOnDemandBase

  • SpotFleetOnDemandAboveBasePercentage

해당 두 옵션은 aws:autoscaling:asg 네임스페이스의 MinSize 옵션과 연관이 있습니다.

  • MinSize만이 환경의 초기 용량, 즉 실행하려는 최소 인스턴스 수를 결정합니다.

  • SpotFleetOnDemandBase는 초기 용량에 영향을 주지 않습니다. 스팟이 활성화된 경우 이 옵션만이 스팟 인스턴스가 고려되기 전에 프로비저닝되는 온디맨드 인스턴스 수를 결정합니다.

  • SpotFleetOnDemandBaseMinSize보다 작은 경우를 가정합니다. 그래도 여전히 MinSize 인스턴스를 초기 용량으로 가져올 것입니다. 적어도 그 중 SpotFleetOnDemandBase는 온디맨드 인스턴스여야 합니다.

  • SpotFleetOnDemandBaseMinSize보다 큰 경우를 가정합니다. 환경을 확장함에 따라 적어도 두 값의 차이와 동일한 추가 인스턴스 수를 확보하게 됩니다. 즉, SpotFleetOnDemandBase 요구 사항을 만족하기 전에 적어도 추가 (SpotFleetOnDemandBase - MinSize) 인스턴스를 온디맨드로 확보하게 됩니다.

프로덕션 환경에서 스팟 인스턴스는 로드 밸런싱 수행 및 확장 가능 환경의 일부로 특히 유용합니다. 단일 인스턴스 환경에서는 스팟을 사용하지 않는 것이 좋습니다. 스팟 인스턴스를 사용할 수 없는 경우 환경의 전체 용량(단일 인스턴스)이 손실될 수 있습니다. 개발 또는 테스트를 위해 여전히 단일 인스턴스 환경에서 스팟 인스턴스를 사용할 수 있습니다. 이 경우 SpotFleetOnDemandBaseSpotFleetOnDemandAboveBasePercentage를 모두 0으로 설정해야 합니다. 다른 설정은 온디맨드 인스턴스를 생성합니다.

참고
  • 일부 이전 AWS 계정은 스팟 인스턴스(예: t1.micro)를 지원하지 않는 기본 인스턴스 유형을 Elastic Beanstalk에 제공할 수 있습니다. 스팟 인스턴스 요청을 활성화하고 None of the instance types you specified supports Spot(지정한 인스턴스 유형이 스팟을 지원하지 않음) 오류가 표시되면 스팟을 지원하는 인스턴스 유형을 구성해야 합니다. 스팟 인스턴스 유형을 선택하려면 스팟 인스턴스 어드바이저를 사용합니다.

  • 스팟 인스턴스 요청을 활성화하려면 Amazon EC2 시작 템플릿을 사용해야 합니다. 환경 생성 또는 업데이트 중에 이 기능을 구성하면 Elastic Beanstalk는 Amazon EC2 시작 템플릿을 사용하도록 환경을 구성하려고 시도합니다(환경이 아직 사용하지 않는 경우). 이 경우 사용자 정책에 필요한 권한이 없으면 환경 생성 또는 업데이트가 실패할 수 있습니다. 따라서 관리형 사용자 정책을 사용하거나 사용자 지정 정책에 필요한 권한을 추가하는 것이 좋습니다. 필요한 권한에 대한 자세한 내용은 맞춤형 사용자 지정 정책 생성 단원을 참조하십시오.

다음 예제에서는 다양한 조정 옵션을 설정하는 다양한 시나리오를 보여줍니다. 모든 예는 스팟 인스턴스 요청이 활성화된 로드 밸런싱 수행 환경이라고 가정합니다.

예 1: 초기 용량의 일부인 온디맨드 및 스팟
옵션 설정
옵션 네임스페이스

MinSize

aws:autoscaling:asg

10

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

이 예에서 환경은 10개의 인스턴스로 시작합니다. 그 중 7개는 온디맨드(기본 4개, 6개의 50%는 기본 이상)이고 3개는 스팟입니다. 환경은 최대 24개의 인스턴스까지 확장할 수 있습니다. 확장 시, 4개의 기본 온디맨드 인스턴스 이상인 플릿의 온디맨드 부분은 50%로 유지되며 전체적으로 최대 24개까지 확장됩니다. 이 중 14개는 온디맨드(기본 4개, 20개 중 50%는 기본 이상)이고 10개는 스팟입니다.

예 2: 모든 온디맨드 초기 용량
옵션 설정
옵션 네임스페이스

MinSize

aws:autoscaling:asg

4

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

이 예에서 환경은 네 개의 인스턴스로 시작하며 모두 온디맨드 인스턴스입니다. 환경은 최대 24개의 인스턴스까지 확장할 수 있습니다. 확장 시, 4개의 기본 온디맨드 인스턴스 이상인 플릿의 온디맨드 부분은 50%로 유지되며 전체적으로 최대 24개까지 확장됩니다. 이 중 14개는 온디맨드(기본 4개, 20개 중 50%는 기본 이상)이고 10개는 스팟입니다.

예 3: 초기 용량을 초과하는 추가 온디맨드 기본
옵션 설정
옵션 네임스페이스

MinSize

aws:autoscaling:asg

3

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

이 예에서 환경은 세 개의 인스턴스로 시작하며 모두 온디맨드 인스턴스입니다. 환경은 최대 24개의 인스턴스까지 확장할 수 있습니다. 초기의 세 개 인스턴스에 처음 추가되는 인스턴스는 네 개의 기본 온디맨드 인스턴스를 완성하기 위한 온디맨드 인스턴스입니다. 계속 확장됨에 따라, 4개의 기본 온디맨드 인스턴스 이상인 플릿의 온디맨드 부분은 50%로 유지되며 전체적으로 최대 24개까지 확장됩니다. 이 중 14개는 온디맨드(기본 4개, 20개 중 50%는 기본 이상)이고 10개는 스팟입니다.