할당 전략을 사용하여 EC2 플릿 또는 스팟 플릿이 스팟 및 온디맨드 용량을 충족하는 방법 결정 - Amazon Elastic Compute Cloud

할당 전략을 사용하여 EC2 플릿 또는 스팟 플릿이 스팟 및 온디맨드 용량을 충족하는 방법 결정

EC2 플릿 또는 스팟 플릿에서 여러 용량 풀(각각 인스턴스 유형과 가용 영역으로 구성)을 사용하는 경우 할당 전략을 사용하여 Amazon EC2가 해당 용량 풀에서 스팟 및 온디맨드 용량을 충족하는 방식을 관리할 수 있습니다. 할당 전략을 통해 가용 용량, 가격 및 사용할 인스턴스 유형을 최적화할 수 있습니다. 스팟 인스턴스 및 온디맨드 인스턴스에 대한 할당 전략은 서로 다릅니다.

스팟 인스턴스를 위한 할당 전략

시작 구성은 EC2 플릿 또는 스팟 플릿이 스팟 인스턴스를 시작할 수 있는 모든 스팟 용량 풀(인스턴스 유형, 가용 영역)을 결정합니다. 하지만 인스턴스를 시작할 때 플릿은 지정한 할당 전략을 사용하여 가능한 풀에서 특정 풀을 선택합니다.

참고

(Linux 인스턴스만 해당) AMD SEV-SNP가 켜진 상태에서 스팟 인스턴스를 시작하도록 구성하면 선택한 인스턴스 유형의 온디맨드 시간당 요금의 10%에 해당하는 시간당 사용 요금이 추가로 부과됩니다. 할당 전략에서 가격을 입력으로 사용하는 경우 플릿에는 이 추가 요금이 포함되지 않습니다. 스팟 가격만 사용됩니다.

스팟 인스턴스에는 다음 할당 전략 중 하나를 지정할 수 있습니다.

가격 용량 최적화(권장)

플릿은 시작하는 인스턴스의 수에 맞추어 용량 가용성이 가장 높은 풀을 가져옵니다. 즉, 가까운 시일 내에 중단될 가능성이 가장 낮다고 판단되는 풀에서 스팟 인스턴스를 요청합니다. 그러면 플릿이 해당 풀에서 가장 가격이 낮은 스팟 인스턴스를 요청합니다.

가격 용량 최적화 할당 전략은 컨테이너화된 상태 비저장 애플리케이션, 마이크로서비스, 웹 애플리케이션, 데이터 및 분석 작업, 배치 처리와 같은 대부분의 스팟 워크로드에 가장 적합합니다.

AWS CLI를 사용하는 경우 파라미터 이름은 EC2 플릿의 경우 price-capacity-optimized, 스팟 플릿의 경우 priceCapacityOptimized입니다.

용량 최적화

플릿은 시작하는 인스턴스의 수에 맞추어 용량 가용성이 가장 높은 풀을 가져옵니다. 즉, 가까운 시일 내에 중단될 가능성이 가장 낮다고 판단되는 풀에서 스팟 인스턴스를 요청합니다. 플릿의 각 인스턴스 유형에 대해 우선 순위를 설정할 수 있습니다. 이 경우 플릿은 용량을 먼저 최적화하지만 최선의 노력을 기준으로 인스턴스 유형 우선 순위를 고려합니다.

스팟 인스턴스에서 요금은 시간이 지나면서 수요 및 공급의 장기 추세에 따라 서서히 변화하지만 용량은 실시간으로 변동합니다. 용량 최적화 전략은 실시간 용량 데이터를 기준으로 가장 가용성이 높은 풀을 예측하여 자동으로 스팟 인스턴스를 가장 가용성이 높은 풀로 시작합니다. 이 전략은 작업 재시작 시 중단으로 인한 비용이 상대적으로 높을 수 있는 워크로드에 유용합니다. 이 전략은 긴 지속적 통합(CI), 이미지 및 미디어 렌더링, 딥 러닝, 고성능 컴퓨팅(HPC)과 같이 작업 재시작 비용이 상대적으로 높을 수 있는 워크로드에 유용합니다. 용량 최적화 전략은 중단을 줄일 수 있는 가능성을 제공함으로써 전체 워크로드 비용을 낮출 수 있습니다.

사용자는 용량 최적화 우선 할당 전략과 우선 순위 파라미터를 사용하여 우선 순위가 높은 순서에서 낮은 순서로 인스턴스 유형 우선 순위를 지정할 수 있습니다. 여러 인스턴스 유형에 동일한 우선 순위를 설정할 수 있습니다. 플릿은 용량을 우선으로 최적화하지만 최선의 노력을 기준으로 인스턴스 유형 우선 순위를 따릅니다. 예를 들어 플릿에서 최적 용량으로 프로비저닝하는 데 우선 순위가 큰 영향을 미치지 않을 수 있습니다. 이 옵션은 중단 가능성을 최소화해야 하고 특정 인스턴스 유형에 대한 선호도가 중요한 워크로드에 적합합니다. 스팟 용량의 인스턴스 유형에 대한 우선 순위를 설정할 때 온디맨드 할당 전략이 우선 순위로 설정되어 있으면 온디맨드 인스턴스에도 동일한 우선 순위가 적용됩니다. 스팟 플릿의 경우 우선 순위 사용은 플릿이 시작 템플릿을 사용하는 경우에만 지원됩니다.

AWS CLI를 사용하는 경우 파라미터 이름은 EC2 플릿의 경우 capacity-optimizedcapacity-optimized-prioritized, 스팟 플릿의 경우 capacityOptimizedcapacityOptimizedPrioritized입니다.

다각화

스팟 인스턴스는 모든 스팟 용량 풀에 걸쳐 분산됩니다. AWS CLI를 사용하는 경우 파라미터 이름은 EC2 플릿과 스팟 플릿 모두에서 diversified입니다.

최저 가격(권장되지 않음)
주의

최저 가격 할당 전략은 스팟 인스턴스의 중단 위험이 가장 높기 때문에 권장하지 않습니다.

스팟 인스턴스는 용량이 있는 최저 가격 풀에서 제공됩니다. AWS CLI를 사용하는 경우에는 기본 전략입니다. 하지만 가격 용량 최적화 할당 전략을 지정하여 기본값을 재정의하는 것이 좋습니다.

최저 가격 전략을 사용하면 가장 낮은 가격의 풀에 사용 가능한 용량이 없는 경우 스팟 인스턴스는 사용 가능한 용량이 있는 다음으로 가장 낮은 가격의 풀에서 제공됩니다. 목표 용량을 충족하기 전에 풀에 용량이 부족해질 경우 플릿은 다음으로 가격이 낮은 풀에서 끌어와 요청을 계속 이행합니다. 목표 용량이 충족되었는지 확인하기 위해 여러 풀에서 스팟 인스턴스를 받을 수도 있습니다.

이 전략은 인스턴스 가격만 고려하고 용량 가용성은 고려하지 않기 때문에 중단률이 높아질 수 있습니다.

최저 가격 할당 전략은 AWS CLI를 사용하는 경우에만 제공됩니다. 파라미터 이름은 EC2 플릿의 경우 lowest-price, 스팟 플릿의 경우 lowestPrice입니다.

사용할 풀 수

대상 스팟 용량을 할당할 스팟 풀 수입니다. 스팟 할당 전략이 최저 가격으로 설정된 경우에만 유효합니다. 플릿에서 가격이 가장 낮은 스팟 풀을 선택하고 지정한 스팟 풀 수에 걸쳐 대상 스팟 용량을 균등하게 할당합니다.

플릿은 가능한 한도에서 지정한 풀 수에서 스팟 인스턴스를 끌어오려고 합니다. 목표 용량을 충족하기 전에 풀에 스팟 용량이 부족해질 경우 플릿은 다음으로 가격이 낮은 풀에서 끌어와 요청을 계속 이행합니다. 목표 용량이 충족되도록 하기 위해 지정한 풀 수보다 많은 수의 스팟 인스턴스를 받게 될 수 있습니다. 마찬가지로 대부분의 풀에 스팟 용량이 없는 경우 지정한 풀 수보다 적은 수의 풀에서 전체 목표 용량을 받을 수 있습니다.

이 파라미터는 최저 가격 할당 전략을 지정하고 AWS CLI를 사용하는 경우에만 제공됩니다. 파라미터 이름은 EC2 플릿과 스팟 플릿 모두에서 InstancePoolsToUseCount입니다.

온디맨드 인스턴스 할당 전략

시작 구성은 EC2 플릿 또는 스팟 플릿이 온디맨드 인스턴스를 시작할 수 있는 모든 용량 풀(인스턴스 유형, 가용 영역)을 결정합니다. 하지만 인스턴스를 시작할 때 플릿은 지정한 할당 전략을 사용하여 가능한 풀에서 특정 풀을 선택합니다.

온디맨드 인스턴스에는 다음 할당 전략 중 하나를 지정할 수 있습니다.

최저 가격

온디맨드 인스턴스는 용량이 있는 최저 가격 풀에서 제공됩니다. 이는 기본 전략입니다.

가장 낮은 가격의 풀에 사용 가능한 용량이 없는 경우 온디맨드 인스턴스는 사용 가능한 용량이 있는 다음으로 가장 낮은 가격의 풀에서 제공됩니다.

목표 용량을 충족하기 전에 풀에 용량이 부족해질 경우 플릿은 다음으로 가격이 낮은 풀에서 끌어와 요청을 계속 이행합니다. 목표 용량이 충족되었는지 확인하기 위해 여러 풀에서 온디맨드 인스턴스를 받을 수도 있습니다.

우선 순위

플릿은 각 시작 템플릿 재정의에 할당한 우선 순위를 사용하여 최우선 순위 순서로 인스턴스 유형을 시작합니다. 이 전략은 속성 기반 인스턴스 유형 선택과 함께 사용할 수 없습니다. 이 할당 전략을 사용하는 방법에 대한 예제는 온디맨드 용량에 대한 인스턴스 유형 우선순위 지정의 내용을 참조하세요.

적합한 스팟 할당 전략 선택

적절한 스팟 할당 전략을 선택하여 사용 사례에 따라 플릿을 최적화할 수 있습니다.

최저 가격과 용량 가용성의 균형

가장 가격이 낮은 스팟 용량 풀과 용량 가용성이 가장 높은 스팟 용량 풀 간의 균형을 맞추려면 가격 용량 최적화 할당 전략을 사용하는 것이 좋습니다. 이 전략은 풀 가격과 해당 풀에 있는 스팟 인스턴스의 용량 가용성을 기준으로 스팟 인스턴스를 요청할 풀을 결정합니다. 즉, 가격을 고려하는 동시에 가까운 시일 내에 중단될 가능성이 가장 낮다고 판단되는 풀에서 스팟 인스턴스를 요청합니다.

플릿이 컨테이너화된 애플리케이션, 마이크로서비스, 웹 애플리케이션, 데이터 및 분석 작업, 배치 처리 등 복원력이 뛰어난 상태 비저장 워크로드를 실행하는 경우, 가격 용량 최적화 할당 전략을 사용하여 최적의 비용과 용량 가용성을 확보하세요.

플릿에서 작업 재시작 시 중단으로 인한 비용이 상대적으로 높을 수 있는 워크로드를 실행하는 경우, 애플리케이션이 중단되었을 때 해당 시점부터 다시 시작할 수 있도록 체크포인트를 구현해야 합니다. 체크포인트를 사용하면 가격이 가장 낮으면서 스팟 인스턴스 중단률도 낮은 풀에서 용량이 할당되므로, 가격 용량 최적화 할당 전략이 이러한 워크로드에도 적합하게 될 수 있습니다.

가격 용량 최적화 할당 전략을 사용하는 JSON 구성의 예제는 다음을 참조하세요.

워크로드의 중단 비용이 높은 경우

비슷한 가격의 인스턴스 유형을 사용하는 워크로드를 실행하거나 중단 비용이 너무 높아 중단이 미미하게 증가하는 데도 비용 절감 효과가 너무 적은 워크로드를 실행하는 경우, 용량 최적화 전략을 선택적으로 사용할 수 있습니다. 이 전략은 중단을 줄일 수 있는 가능성을 제공하는 가용성이 가장 높은 스팟 용량 풀에서 용량을 할당하므로, 전체 워크로드 비용을 낮출 수 있습니다.

중단 가능성을 최소화해야 하지만 특정 인스턴스 유형을 우선적으로 사용해야 하는 경우, 용량 최적화 우선 할당 전략을 사용한 다음 사용할 인스턴스 유형의 순서를 가장 높은 우선 순위에서 가장 낮은 우선 순위로 설정하여 풀 우선 순위를 표현할 수도 있습니다.

용량 최적화 우선에 대한 우선 순위를 설정할 때 온디맨드 할당 전략이 우선 순위로 설정되어 있으면 온디맨드 인스턴스에도 동일한 우선 순위가 적용됩니다. 또한 스팟 플릿의 경우 우선 순위 사용은 플릿이 시작 템플릿을 사용하는 경우에만 지원됩니다.

용량 최적화 할당 전략을 사용하는 JSON 구성의 예제는 다음을 참조하세요.

용량 최적화 우선 할당 전략을 사용하는 JSON 구성의 예제는 다음을 참조하세요.

시간이 유동적이고 용량 가용성이 중요하지 않은 워크로드의 경우

플릿이 작거나 짧은 시간 동안 실행될 경우, 가격 용량 최적화를 사용하여 가용성을 고려하면서 비용 절감 효과를 극대화할 수 있습니다.

플릿 규모가 크거나 장시간 실행되는 경우

플릿이 크거나 장시간 실행될 경우 다각화 전략을 사용하여 여러 풀에 걸쳐 스팟 인스턴스를 분산하여 플릿의 가용성을 높일 수 있습니다. 예를 들어 플릿이 풀 10개와 인스턴스 100개의 목표 용량을 지정하는 경우 플릿은 각 풀에서 스팟 인스턴스 10개를 시작합니다. 풀에서 스팟 가격이 최고 가격을 초과하는 경우, 플릿 중 10%만 영향을 받습니다. 이 전략을 사용하면 플릿이 시간이 지나면서 어느 한 풀에서 발생하는 스팟 가격의 상승에 덜 민감해집니다. 다각화 전략을 사용하면 플릿은 온디맨드 가격보다 높거나 이 가격과 동일한 스팟 가격의 풀로 스팟 인스턴스를 시작하지 않습니다.

스팟 인스턴스의 목표 용량 유지

스팟 가격 또는 스팟 용량 풀의 가용 용량 변화로 인해 스팟 인스턴스가 종료된 후 maintain 유형의 플릿은 대체 스팟 인스턴스를 시작합니다. 이 할당 전략은 다음과 같이 대체 인스턴스를 시작할 풀을 결정합니다.

  • 가격 용량 최적화 할당 전략을 사용하는 경우, 플릿은 스팟 인스턴스 용량 가용성이 가장 높은 풀에서 대체 인스턴스를 시작하면서 동시에 가격도 고려합니다. 즉, 용량 가용성이 높으면서 가격이 가장 낮은 풀을 식별합니다.

  • 할당 전략이 용량 최적화인 경우, 플릿은 스팟 인스턴스 용량의 가용성이 가장 높은 풀에서 대체 인스턴스를 시작합니다.

  • 할당 전략이 다각화인 경우 플릿은 나머지 풀에 대체 스팟 인스턴스를 배포합니다.

온디맨드 용량에 대한 인스턴스 유형 우선순위 지정

EC2 플릿 또는 스팟 플릿이 온디맨드 용량을 채우려고 시도하는 경우 기본적으로 최저 가격의 인스턴스 유형을 먼저 시작합니다. 온디맨드 할당 전략이 우선 순위로 설정된 경우 플릿은 온디맨드 용량을 충족할 때 먼저 사용할 인스턴스 유형을 우선 순위를 사용하여 결정합니다. 시작 템플릿 재정의에 우선 순위를 할당하고 우선 순위가 가장 높은 것을 먼저 시작합니다.

예: 인스턴스 유형 우선순위

예를 들어, 서로 다른 인스턴스 유형을 각각 지닌 3개의 시작 템플릿 재정의를 구성했다고 가정해 보겠습니다.

인스턴스 유형에 대한 온디맨드 요금 가격 범위. 다음은 이 예제에서 사용된 인스턴스 유형이며, 가격이 가장 낮은 인스턴스 유형부터 가격 순서대로 나열되어 있습니다.

  • m4.large - 가장 낮은 가격

  • m5.large

  • m5a.large

우선순위를 사용해 순서를 결정하지 않는 경우 플릿은 가격이 가장 낮은 인스턴스 유형으로 시작하여 온디맨드 용량을 채웁니다.

하지만 가장 먼저 사용하려는 m5.large 예약 인스턴스를 사용하지 않았다고 가정해 보겠습니다. 다음과 같이 인스턴스 유형이 우선순위에 따라 사용되도록 시작 템플릿 재정의 우선순위를 설정할 수 있습니다.

  • m5.large - 우선순위 1

  • m4.large - 우선순위 2

  • m5a.large - 우선순위 3