혼합 인스턴스 그룹 생성을 위한 설정 개요 - Amazon EC2 Auto Scaling

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

혼합 인스턴스 그룹 생성을 위한 설정 개요

이 항목에서는 Auto Scaling 혼합 인스턴스 그룹을 생성하는 방법에 대한 개요와 모범 사례를 제공합니다.

개요

혼합 인스턴스 그룹 생성을 위한 두 가지 옵션은 다음과 같습니다.

Manual selection

다음 단계에서는 인스턴스 유형을 수동으로 선택하여 혼합 인스턴스 그룹을 생성하는 방법을 설명합니다.

  1. EC2 인스턴스를 시작하기 위한 파라미터가 포함된 시작 템플릿을 선택합니다. 시작 템플릿의 파라미터는 선택 사항이지만 Amazon Machine Image(AMI) ID가 시작 템플릿에 없는 경우 Amazon EC2 Auto Scaling에서 인스턴스를 시작할 수 없습니다.

  2. 시작 템플릿을 재정의하는 옵션을 선택합니다.

  3. 워크로드에 적합한 인스턴스 유형을 수동으로 선택합니다.

  4. 시작할 온디맨드 인스턴스 및 스팟 인스턴스의 비율을 지정합니다.

  5. Amazon EC2 Auto Scaling이 가능한 인스턴스 유형에서 온디맨드 및 스팟 용량을 충족하는 방법을 결정하는 할당 전략을 선택하세요.

  6. 인스턴스를 시작할 가용 영역 및 VPC 서브넷을 선택합니다.

  7. 그룹의 초기 크기(원하는 용량)와 그룹의 최소 및 최대 크기를 지정합니다.

시작 템플릿에 선언된 인스턴스 유형을 재정의하고 Auto Scaling 그룹의 자체 리소스 정의에 포함된 여러 인스턴스 유형을 사용하려면 재정의가 필요합니다. 사용 가능한 인스턴스 유형에 대한 자세한 내용은 Amazon EC2 사용 설명서의 인스턴스 유형을 참조하십시오.

또한 각 인스턴스 유형에 대해 다음과 같은 선택적 파라미터를 구성할 수 있습니다.

  • LaunchTemplateSpecification— 필요에 따라 인스턴스 유형에 다른 시작 템플릿을 할당할 수 있습니다. 현재 콘솔에서는 이 옵션을 사용할 수 없습니다. 자세한 정보는 인스턴스 유형에 대해 서로 다른 시작 템플릿 사용을 참조하세요.

  • WeightedCapacity— 원하는 용량에 포함되는 인스턴스의 양을 그룹 내 나머지 인스턴스와 비교하여 결정합니다. 하나의 인스턴스 유형에 대해 WeightedCapacity 값을 지정하는 경우 모든 인스턴스 유형에 대해 WeightedCapacity 값을 지정해야 합니다. 기본적으로 각 인스턴스는 원하는 용량에 대해 1개로 계산됩니다. 자세한 내용은 인스턴스 가중치를 사용하도록 Auto Scaling 그룹을 구성합니다.(을)를 참조하세요.

Attribute-based selection

Amazon EC2 Auto Scaling에서 특정 인스턴스 속성에 따라 인스턴스 유형을 자동으로 선택하도록 하려면 다음 단계를 사용하여 컴퓨팅 요구 사항을 지정하고 혼합 인스턴스 그룹을 생성하세요.

  1. EC2 인스턴스를 시작하기 위한 파라미터가 포함된 시작 템플릿을 선택합니다. 시작 템플릿의 파라미터는 선택 사항이지만 Amazon Machine Image(AMI) ID가 시작 템플릿에 없는 경우 Amazon EC2 Auto Scaling에서 인스턴스를 시작할 수 없습니다.

  2. 시작 템플릿을 재정의하는 옵션을 선택합니다.

  3. vCPU 및 메모리 요구 사항 등의 컴퓨팅 요구 사항과 일치하는 인스턴스 속성을 지정합니다.

  4. 시작할 온디맨드 인스턴스 및 스팟 인스턴스의 비율을 지정합니다.

  5. Amazon EC2 Auto Scaling이 가능한 인스턴스 유형에서 온디맨드 및 스팟 용량을 충족하는 방법을 결정하는 할당 전략을 선택하세요.

  6. 인스턴스를 시작할 가용 영역 및 VPC 서브넷을 선택합니다.

  7. 그룹의 초기 크기(원하는 용량)와 그룹의 최소 및 최대 크기를 지정합니다.

시작 템플릿에 선언된 인스턴스 유형을 재정의하고 컴퓨팅 요구 사항을 설명하는 인스턴스 속성 세트를 사용하려면 재정의가 필요합니다. 지원되는 속성은 Amazon EC2 Auto Scaling API 참조를 참조하십시오 InstanceRequirements. 또는 인스턴스 속성 정의가 이미 있는 시작 템플릿을 사용할 수 있습니다.

필요에 따라 인스턴스 요구 사항 세트에 다른 시작 템플릿을 할당하도록 재정의 구조 내에서 LaunchTemplateSpecification 파라미터를 구성할 수도 있습니다. 현재 콘솔에서는 이 옵션을 사용할 수 없습니다. 자세한 내용은 Amazon EC2 Auto Scaling API 레퍼런스를 참조하십시오 LaunchTemplateOverrides.

기본적으로 인스턴트 수를 Auto Scaling 그룹의 원하는 용량으로 설정합니다.

또는 원하는 용량 값을 vCPU 수 또는 메모리 양으로 설정할 수 있습니다. 이렇게 하려면, CreateAutoScalingGroup API 작업의 DesiredCapacityType 속성을 사용하거나 AWS Management Console의 원하는 용량 유형 드롭다운 필드를 사용합니다. 이는 인스턴스 가중치에 대한 유용한 대안입니다.

인스턴스 유형 유연성

가용성을 높이려면 애플리케이션을 여러 인스턴스 유형에 배포합니다. 용량 요구 사항을 충족하려면 여러 인스턴스 유형을 사용하는 것이 가장 좋습니다. 이러한 방식으로 Amazon EC2 Auto Scaling은 선택한 가용 영역에 인스턴스 용량이 부족한 경우 다른 인스턴스 유형을 시작할 수 있습니다.

스팟 인스턴스에 인스턴스 용량이 부족할 경우 Amazon EC2 Auto Scaling은 다른 스팟 인스턴스 풀에서 시작하려고 계속 시도합니다. (사용하는 풀은 선택한 인스턴스 유형 및 할당 전략에 따라 결정됩니다.) Amazon EC2 Auto Scaling을 사용하면 온디맨드 인스턴스 대신 스팟 인스턴스를 시작하여 스팟 인스턴스의 비용 절감 효과를 활용할 수 있습니다.

각 워크로드에 대해 최소 10개의 인스턴스 유형을 유연하게 선택할 것을 권장합니다. 인스턴스 유형을 선택할 때 가장 많이 사용되는 새 인스턴스 유형으로 사용자 자신을 제한하지 마세요. 이전 세대의 인스턴스 유형을 선택하면 온디맨드 고객의 수요가 적기 때문에 스팟 중단이 적은 경향이 있습니다.

가용 영역 유연성

Auto Scaling 그룹을 여러 가용 영역으로 확장하는 것이 좋습니다. 여러 가용 영역을 사용하면 복원력을 높이기 위해 영역 간에 자동으로 장애 조치가 이루어지는 애플리케이션을 설계할 수 있습니다.

추가 이점으로, 단일 가용 영역의 그룹과 비교할 때 더 깊은 Amazon EC2 용량 풀에 액세스할 수 있습니다. 용량은 각 가용 영역에서 인스턴스 유형과 관계없이 변동되므로, 인스턴스 유형과 가용 영역이 둘 다 유연한 경우 대부분 더 많은 컴퓨팅 용량을 확보할 수 있습니다.

다중 가용 영역 사용에 대한 자세한 내용은 예: 가용 영역 전반에 인스턴스 분산(을)를 참조하세요.

스팟 최고가

AWS CLI 또는 SDK를 사용하여 Auto Scaling 그룹을 생성할 때 SpotMaxPrice 파라미터를 지정할 수 있습니다. SpotMaxPrice 파라미터는 스팟 인스턴스 시간당 지불하려는 최고 가격을 결정합니다.

오버라이드(그룹 수준의 "DesiredCapacityType": "vcpu" 또는 "DesiredCapacityType": "memory-mib")에서 WeightedCapacity 파라미터를 지정하는 경우 최고 가격은 전체 인스턴스의 최고 가격이 아니라 최고 단가를 나타냅니다.

최고 가격을 지정하지 않는 것이 매우 좋습니다. 스팟 인스턴스를 받지 못하면(예: 최고가가 너무 낮은 경우) 애플리케이션이 실행되지 않을 수 있습니다. 최고 가격을 지정하지 않는 경우, 기본 최고 가격은 온디맨드 가격입니다. 시작하는 스팟 인스턴스에 대해 스팟 가격만 지불합니다. 스팟 인스턴스에서 제공하는 대폭 할인 금액은 여전히 적용됩니다. 이러한 할인은 스팟 요금 모델을 사용해 실현된 안정적인 스팟 요금 덕분에 가능해진 것입니다. 자세한 내용은 Amazon EC2 사용 설명서의 요금 및 절감을 참조하십시오.

사전 대응 용량 재분배

사용 사례에서 허용하는 경우, 용량 재분배를 권장합니다. 용량 재분배를 사용하면 실행 중인 스팟 인스턴스에 스팟 인스턴스 중단 2분 전 공지가 수신되기 전에 미리 새 스팟 인스턴스로 플릿을 보강할 수 있으므로 워크로드 가용성을 유지하는 데 도움이 됩니다.

용량 재분배를 활성화하면 Amazon EC2 Auto Scaling이 재분배 권장 사항을 받은 스팟 인스턴스를 사전에 교체하려고 합니다. 이는 중단 위험이 높지 않은 새로운 스팟 인스턴스로 워크로드를 재분배할 수 있는 기회를 제공합니다.

자세한 내용은 용량 재조정을 사용하여 Amazon EC2 스팟 중단 처리(을)를 참조하세요.

크기 조정 동작

혼합 인스턴스 그룹을 생성하면 기본적으로 온디맨드 인스턴스가 사용됩니다. 스팟 인스턴스를 사용하려면 온디맨드 인스턴스로 시작할 그룹의 비율을 수정해야 합니다. 온디맨드 백분율에 0에서 100까지의 숫자를 지정할 수 있습니다.

선택 사항으로, 시작할 온디맨드 인스턴스의 기본 수를 지정할 수도 있습니다. 이러한 경우 Amazon EC2 Auto Scaling은 그룹 스케일 아웃 시 온디맨드 인스턴스의 기본 용량을 시작한 후에만 스팟 인스턴스를 시작합니다. 기본 용량을 초과하는 용량은 온디맨드 백분율을 사용하여 시작할 온디맨드 인스턴스 및 스팟 인스턴스 수를 결정합니다.

Amazon EC2 Auto Scaling은 백분율을 상응하는 인스턴스 수로 변환합니다. 변환 결과에 소수가 포함되면 온디맨드 인스턴스를 위해 다음 정수로 반올림합니다.

이 수가 증가하거나 감소할 경우 Auto Scaling 그룹은 다음 표와 같이 동작합니다.

예: 확장 동작
구매 옵션 구매 옵션 전체에서 실행되는 인스턴스 그룹의 크기와 수
10 20 30 40

예 1: 기본 10, 50/50% 온디맨드/스팟

온디맨드 인스턴스 (기본 금액) 10 10 10 10
온디맨드 인스턴스 0 5 10 15
스팟 인스턴스 0 5 10 15

예 2: 기본 0, 0/100% 온디맨드/스팟

온디맨드 인스턴스 (기본 금액) 0 0 0 0
온디맨드 인스턴스 0 0 0 0
스팟 인스턴스 10 20 30 40

예 3: 기본 0, 60/40% 온디맨드/스팟

온디맨드 인스턴스 (기본 금액) 0 0 0 0
온디맨드 인스턴스 6 12 18 24
스팟 인스턴스 4 8 12 16

예 4: 기본 0, 100/0% 온디맨드/스팟

온디맨드 인스턴스 (기본 금액) 0 0 0 0
온디맨드 인스턴스 10 20 30 40
스팟 인스턴스 0 0 0 0

예 5: 기본 12, 0/100% 온디맨드/스팟

온디맨드 인스턴스 (기본 금액) 10 12 12 12
온디맨드 인스턴스 0 0 0 0
스팟 인스턴스 0 8 18 28

그룹 크기가 커지면 Amazon EC2 Auto Scaling이 지정된 가용 영역 전체에 용량을 고르게 유지하도록 조정합니다. 그런 다음, 지정한 할당 전략에 따라 인스턴스 유형을 시작합니다.

그룹 크기가 줄어들면 Amazon EC2 Auto Scaling이 먼저 두 가지 유형(스팟 또는 온디맨드) 중 종료해야 하는 유형을 식별합니다. 그런 다음, 지정된 가용 영역 전체에서 균형 잡힌 방식으로 인스턴스 종료를 시도합니다. 또한 할당 전략에 더 가깝게 정렬하는 방식으로 인스턴스를 종료하는 것이 좋습니다. 종료 정책에 대한 자세한 내용은 Amazon EC2 Auto Scaling에 대한 종료 정책을 구성합니다.(을)를 참조하세요.

인스턴스 유형의 지역별 가용성

EC2 인스턴스 유형의 가용성은 사용자에 따라 다릅니다. AWS 리전예를 들어, 최신 세대 인스턴스 유형을 지정된 리전에서 아직 사용하지 못할 수 있습니다. 리전마다 인스턴스 가용성이 다르기 때문에 재정의의 여러 인스턴스 유형을 해당 리전에서 사용할 수 없는 경우 프로그래밍 방식 요청을 할 때 문제가 발생할 수 있습니다. 해당 리전에서 사용할 수 없는 여러 인스턴스 유형을 사용하면 요청이 완전히 실패할 수 있습니다. 문제를 해결하려면 다양한 인스턴스 유형으로 요청을 재시도하고 해당 리전에서 각 인스턴스 유형을 사용할 수 있는지 확인합니다. 위치별로 제공되는 인스턴스 유형을 검색하려면 describe-instance-type-offerings명령을 사용합니다. 자세한 내용은 Amazon EC2 사용 설명서에서 Amazon EC2 인스턴스 유형 찾기를 참조하십시오.

스팟 인스턴스에 대한 자세한 모범 사례는 Amazon EC2 사용 설명서의 EC2 스팟 모범 사례를 참조하십시오.

제한 사항

혼합 인스턴스 정책을 사용하여 Auto Scaling 그룹에 재정의를 추가한 후 UpdateAutoScalingGroup API 호출을 사용하여 재정의를 업데이트할 수는 있지만 삭제할 수는 없습니다. 오버라이드를 완전히 제거하려면 먼저 혼합 인스턴스 정책 대신 시작 템플릿 또는 시작 구성을 사용하도록 Auto Scaling 그룹을 전환해야 합니다. 그런 다음 재정의 없이 혼합 인스턴스 정책을 다시 추가할 수 있습니다.