View a markdown version of this page

용량 예약으로 인스턴스를 시작하도록 Auto Scaling 그룹 구성 - Amazon EC2 Auto Scaling

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

용량 예약으로 인스턴스를 시작하도록 Auto Scaling 그룹 구성

Amazon EC2 용량 예약 및 MLCapacity Blocks용 인스턴스를 시작하도록 Auto Scaling 그룹을 구성하려면 접근 방식과 일치하는 절차를 선택합니다.

용량 예약 사양 사용

새 Auto Scaling 그룹을 생성할 때 다음 방법 중 하나를 사용하여 용량 예약 사양을 구성합니다.

Console
새 그룹에 용량 예약 사양을 구성하려면(콘솔)
  1. 최대 2단계Amazon EC2 시작 마법사를 사용하여 Auto Scaling 그룹 생성까지의 단계를 따릅니다.

  2. 인스턴스 시작 옵션 선택 페이지의 추가 용량 설정에서 용량 예약 기본 설정을 선택합니다. 선택적으로 용량 예약 대상을 선택합니다. 자세한 내용은 용량 예약 기본 설정 및 용량 예약 대상 섹션을 참조하세요.

  3. 마법사의 나머지 단계를 계속 진행합니다.

AWS CLI

create-auto-scaling-group 명령에 --capacity-reservation-specification 파라미터를 추가합니다. 파라미터는 기본 설정과 선택적 대상을 허용합니다. 자세한 내용은 용량 예약 기본 설정 및 용량 예약 대상 섹션을 참조하세요.

다음 예제에서는 기본 설정이 capacity-reservations-only 이고 특정 용량 예약을 대상으로 하는 Auto Scaling 그룹을 생성합니다.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --min-size 1 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a,subnet-abc1234b" \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-only", "CapacityReservationTarget": { "CapacityReservationIds": ["cr-1234567890abcdef1"] } }'

기존 Auto Scaling 그룹 업데이트

기존 Auto Scaling 그룹의 용량 예약 사양을 변경하려면 다음 방법 중 하나를 사용합니다.

Console
기존 그룹의 용량 예약 사양을 변경하려면(콘솔)
  1. 에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling 그룹을 https://console.aws.amazon.com/ec2/선택합니다.

  2. 상단의 탐색 모음에서 Auto Scaling 그룹이 AWS 리전 있는를 선택합니다.

  3. Auto Scaling 그룹 옆의 확인란을 선택합니다. 페이지 하단에 분할 창이 열립니다.

  4. 세부 정보 탭의 용량 예약 기본 설정에서 편집을 선택합니다.

  5. 용량 예약 기본 설정을 선택하고 선택적으로 용량 예약 대상을 선택합니다.

  6. 업데이트를 선택합니다.

AWS CLI

update-auto-scaling-group 명령에 --capacity-reservation-specification 파라미터를 추가합니다.

다음 예제에서는 용량 예약 리소스 그룹을 기본 설정의 대상으로 사용하도록 Auto Scaling 그룹을 업데이트합니다capacity-reservations-first.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": ["arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group"] } }'

시작 템플릿에서 대상 Capacity Blocks 또는 중단 가능한 용량 예약

launch-template-based 대상 지정을 사용하여 Auto Scaling 그룹에서 용량 예약을 사용하거나 Capacity Blocks 중단할 수 있습니다. 이 접근 방식을 사용하려면 시작 템플릿에서 시장 유형을 설정하고 용량 예약 ID를 Auto Scaling 그룹의 대상으로 지정해야 합니다.

Auto Scaling 그룹에서 혼합 인스턴스 정책을 사용하는 경우 배포 세그먼트를 대신 사용하는 것이 좋습니다. 이렇게 하면 Auto Scaling 그룹의 한 곳에서 용량 예약을 구성할 수 있습니다. Auto Scaling 그룹이 단일 인스턴스 유형을 사용하는 경우 Launch-template-based 대상 지정이 필요합니다.

시작 템플릿 구성

시작 템플릿에서 다음을 설정합니다.

  • 인스턴스 시장 유형(InstanceMarketOptions.MarketType)을의 capacity-block 경우 Capacity Block로, 중단 가능한 용량 예약의 interruptible-capacity-reservation 경우 로 설정합니다.

  • 용량 예약 대상(CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationId)을 용량 예약 ID로 설정합니다.

다음 예제에서는 create-launch-template 명령을 사용하여를 대상으로 하는 시작 템플릿을 생성합니다Capacity Block. 중단 가능한 용량 예약의 경우 MarketType 값을 로 바꿉니다interruptible-capacity-reservation.

aws ec2 create-launch-template \ --launch-template-name my-cr-launch-template \ --launch-template-data '{ "ImageId": "ami-0abcdef1234567890", "InstanceType": "p5.48xlarge", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-1234567890abcdef1" } } }'

시작 템플릿 생성에 대한 자세한 내용은 Amazon EC2 사용 설명서의 시작 템플릿을 참조하세요.

Auto Scaling 그룹 생성

시작 템플릿을 사용하는 Auto Scaling 그룹을 생성합니다. Auto Scaling 그룹은 용량 예약과 동일한 가용 영역에 있는 서브넷으로 구성해야 합니다.

다음 예제에서는 이전 단계에서 생성된 시작 템플릿을 사용하는 Auto Scaling 그룹을 생성합니다.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-cr-asg \ --launch-template LaunchTemplateName=my-cr-launch-template \ --min-size 0 --max-size 4 --desired-capacity 4 \ --vpc-zone-identifier "subnet-abc1234a"

자세한 내용은 시작 템플릿을 사용하여 Auto Scaling 그룹 생성 단원을 참조하십시오.

운영 지침

시작 템플릿 기반 대상 지정을 사용할 때는 다음 운영 지침을 고려하세요.

  • 시작 템플릿 버전 - Auto Scaling 그룹이 $Default 또는 버전 대신 특정 시작 템플릿 $Latest 버전을 가리키도록 합니다. 이렇게 하면 예약 기간 동안 일관성을 유지할 수 있습니다.

  • 인스턴스 교체 -가 Capacity Block 만료되거나 중단 가능한 용량 예약이 회수되면 Amazon EC2는 해당에서 실행 중인 인스턴스를 종료합니다. Auto Scaling 상태 확인 프로그램은 종료를 감지하고 상태 확인에 실패한 모든 인스턴스와 동일한 방식으로 대체 인스턴스를 시작하려고 시도합니다. 이러한 종료에 대한 조정 활동은 종료 또는 중지되었음을 나타내는 Amazon EC2 상태 확인에 대한 응답으로 서비스가 중단된 것으로 표시됩니다.

  • 의 경우 Capacity Blocks - Capacity Block 예약 종료 시간 30분 이상 전에 Auto Scaling 그룹을 0으로 조정합니다. Amazon EC2는 종료 시간 30분 전에 나머지 인스턴스를 종료하기 시작합니다. 예약된 조정을 사용하여 예약 시작 시 스케일 아웃하고 종료 전에 스케일 인합니다. 필요에 따라 수명 주기 후크를 추가하여 강제 종료 기간 전에 애플리케이션을 정상적으로 종료합니다.

  • 중단 가능한 용량 예약의 경우 - 용량 소유자가 용량을 회수하면 2분 전의 알림으로 인스턴스를 종료할 수 있습니다. 정상적인 종료를 처리하도록 애플리케이션을 설계합니다. Amazon EC2는 종료 2분 전에 알림을 전송하며, 이러한 알림에 응답하도록 사용자 지정 자동화를 설정할 수 있습니다.

Auto Scaling 그룹 수준에서 용량 예약 설정 재정의

Auto Scaling 그룹에서 용량 예약 기본 설정 및 대상을 설정하여 시작 템플릿의 설정을 재정의할 수 있습니다. 용량 예약 사양에 대한 자세한 내용은 섹션을 참조하세요Auto Scaling 그룹의 목표 용량 예약.

고려 사항

  • 혼합 인스턴스 정책 Launch-template-based 대상 지정은 혼합 인스턴스 정책에서 지원되지 않습니다. Capacity Blocks 이러한 예약 유형을 혼합 인스턴스 정책과 함께 사용하려면 섹션을 참조하세요배포 세그먼트를 사용하여 여러 용량 예약 유형 대상으로 지정.

  • 웜 풀 - 시작 템플릿이 Capacity Block 또는 중단 가능한 용량 예약을 대상으로 하는 경우 웜 풀이 지원되지 않습니다.

  • 시작 템플릿당 하나의 용량 예약 유형 - 시작 템플릿은 하나의 용량 예약 유형만 대상으로 할 수 있습니다. 하나의 Auto Scaling 그룹에서 여러 용량 예약 유형을 대상으로 지정하려면 배포 세그먼트를 사용합니다.