인스턴스 가중치를 사용하도록 Auto Scaling 그룹을 구성합니다. - Amazon EC2 Auto Scaling

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

인스턴스 가중치를 사용하도록 Auto Scaling 그룹을 구성합니다.

여러 인스턴스 유형을 사용하는 경우 각 인스턴스 유형에 연결할 단위 수를 지정한 다음 동일한 측정 단위를 사용하여 그룹의 용량을 지정할 수 있습니다. 이 용량 지정 옵션을 가중치라고 합니다.

예를 들어, 최소 8개의 vCPU 및 15GiB의 RAM에서 최적의 성능을 발휘하는 컴퓨팅 집약적 애플리케이션을 실행하는 경우, c5.2xlarge를 기본 유닛으로 사용할 때 다음 EC2 인스턴스 유형은 모두 애플리케이션 요구 사항을 충족합니다.

인스턴스 유형의 예
인스턴스 타입 vCPU 메모리(GiB)
c5.2xlarge 8 16
c5.4xlarge 16 32
c5.12xlarge 48 96
c5.18xlarge 72 144
c5.24xlarge 96 192

기본적으로 모든 인스턴스 유형은 크기에 관계없이 동일한 가중치를 갖습니다. Amazon EC2 Auto Scaling이 인스턴스를 시작하면 해당 인스턴스 유형이 크든 작든 각 인스턴스가 Auto Scaling 그룹의 원하는 용량에 동일하게 가산됩니다.

하지만 가중치를 사용하면 각 인스턴스 유형에 연결할 단위 수를 지정하는 숫자 값을 할당합니다. 예를 들어, 인스턴스 간의 크기가 서로 다른 경우 c5.2xlarge 인스턴스의 가중치는 2, c5.4xlarge(2배 더 큼)의 가중치는 4와 같은 식으로 지정할 수 있습니다. 그런 다음, Amazon EC2 Auto Scaling이 그룹을 조정할 때 가중치는 원하는 용량에 각 인스턴스가 가산되는 유닛 수로 변환됩니다.

가중치는 Amazon EC2 Auto Scaling에서 시작하려는 인스턴스 유형을 변경하지 않고, 대신 할당 전략이 변경합니다. 자세한 내용은 할당 전략(을)를 참조하세요.

중요

각 인스턴스 유형의 vCPU 수 또는 메모리 양을 사용하여 원하는 용량을 채우도록 Auto Scaling 그룹을 구성하려면 속성 기반 인스턴스 유형 선택을 사용하는 것이 좋습니다. DesiredCapacityType매개변수를 설정하면 이 매개변수에 설정한 값을 기준으로 각 인스턴스 유형과 연결할 단위 수가 자동으로 지정됩니다. 자세한 내용은 속성 기반 인스턴스 타입 선택을 사용하여 혼합 인스턴스 그룹 생성 단원을 참조하십시오.

고려 사항

이 섹션에서는 가중치를 효과적으로 구현하기 위한 주요 고려 사항에 대해 설명합니다.

  • 애플리케이션의 성능 요구 사항에 맞는 몇 가지 인스턴스 유형을 선택하십시오. 기능에 따라 각 인스턴스 유형이 Auto Scaling 그룹의 원하는 용량에 포함되어야 하는 가중치를 결정합니다. 이 가중치는 현재 및 미래의 인스턴스에 적용됩니다.

  • 가중치 사이의 큰 범위를 피하세요. 예를 들어 다음으로 큰 인스턴스 유형의 가중치가 200인 경우 인스턴스 유형에 가중치를 1로 지정하지 마십시오. 가장 작은 가중치와 가장 큰 가중치의 차이가 너무 커서도 안 됩니다. 가중치 차이가 심하면 비용 대비 성능 최적화에 부정적인 영향을 미칠 수 있습니다.

  • 그룹의 원하는 용량을 인스턴스가 아닌 단위로 지정하십시오. 예를 들어 vCPU 기반 가중치를 사용하는 경우 원하는 코어 수와 최소 및 최대값을 설정합니다.

  • 원하는 용량이 가장 큰 가중치보다 최소 2~3배 더 크도록 가중치와 원하는 용량을 설정합니다.

기존 그룹을 업데이트할 때는 다음 사항에 유의하세요.

  • 기존 그룹에 가중치를 추가할 때는 현재 사용 중인 모든 인스턴스 유형에 대한 가중치를 포함하십시오.

  • 가중치를 추가하거나 변경하면 Amazon EC2 Auto Scaling은 새 가중치 값을 기준으로 원하는 용량에 도달하도록 인스턴스를 시작하거나 종료합니다.

  • 인스턴스 유형을 제거하면 해당 유형의 실행 중인 인스턴스는 더 이상 정의되지 않더라도 마지막 가중치를 유지합니다.

인스턴스 가중치 동작

인스턴스 가중치를 사용하는 경우 Amazon EC2 Auto Scaling은 다음과 같은 방식으로 작동합니다.

  • 현재 용량이 원하는 용량 이상이 될 수 있습니다. 남은 원하는 용량 단위를 초과하는 인스턴스를 시작한 경우 현재 용량이 원하는 용량을 초과할 수 있습니다. 예를 들어, 두 인스턴스 유형 c5.2xlargec5.12xlarge를 지정하고 c5.2xlarge에 인스턴스 가중치 2, c5.12xlarge에 인스턴스 가중치 12를 할당한 경우, 원하는 용량을 충족하기까지 5개 유닛이 남은 상태에서 Amazon EC2 Auto Scaling이 c5.12xlarge을 프로비저닝하면 원하는 용량이 7개 유닛만큼 초과됩니다.

  • Amazon EC2 Auto Scaling은 인스턴스를 시작할 때 원하는 용량을 초과하는 것보다 가용 영역 전체에 용량을 분배하고 할당 전략을 준수하는 것을 우선시합니다.

  • Amazon EC2 Auto Scaling은 사용자가 선호하는 할당 전략을 사용하여 최대 용량 한도를 초과하여 가용 영역 간의 균형을 유지할 수 있습니다. Amazon EC2 Auto Scaling에서 적용하는 엄격한 제한은 원하는 용량에 최대 중량을 더한 값입니다.

가중치를 사용하도록 Auto Scaling 그룹 구성

다음 AWS CLI 예와 같이 가중치를 사용하도록 Auto Scaling 그룹을 구성할 수 있습니다. 콘솔을 사용하는 방법은 인스턴스 유형을 수동으로 선택하여 혼합 인스턴스 그룹 생성(을)를 참조하세요.

가중치를 사용하도록 새 Auto Scaling 그룹을 구성하려면(AWS CLI)

create-auto-scaling-group 명령을 사용합니다. 예를 들어, 다음 명령은 새 Auto Scaling 그룹을 만들고 다음 내용을 지정하여 인스턴스 가중치를 할당합니다.

  • 온디맨드 인스턴스로 시작할 그룹의 백분율(0)

  • 각 가용 영역의 스팟 인스턴스에 대한 할당 전략(capacity-optimized)

  • 우선순위(m4.16xlarge, m5.24xlarge)에 따라 시작할 인스턴스 유형

  • 인스턴스 유형(16, 24) 간의 상대적 크기 차이(vCPU)에 해당하는 인스턴스 가중치

  • 각각 다른 가용 영역에 해당하는 인스턴스를 시작하는 서브넷(subnet-5ea0c127, subnet-6194ea3b, subnet-c934b782)

  • 시작 템플릿(my-launch-template) 및 시작 템플릿 버전($Latest)

aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

config.json 파일에는 다음 콘텐츠가 포함되어 있습니다.

{ "AutoScalingGroupName": "my-asg", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "$Latest" }, "Overrides": [ { "InstanceType": "m4.16xlarge", "WeightedCapacity": "16" }, { "InstanceType": "m5.24xlarge", "WeightedCapacity": "24" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 0, "SpotAllocationStrategy": "capacity-optimized" } }, "MinSize": 160, "MaxSize": 720, "DesiredCapacity": 480, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags": [] }
가중치를 사용하도록 기존 Auto Scaling 그룹을 구성하려면(AWS CLI)

update-auto-scaling-group 명령을 사용합니다. 예를 들어, 다음을 지정하여 아래 명령을 실행하면 기존 Auto Scaling 그룹의 인스턴스 유형에 가중치가 할당됩니다.

  • 우선순위(c5.18xlarge, c5.24xlarge, c5.2xlarge, c5.4xlarge)에 따라 시작할 인스턴스 유형

  • 인스턴스 유형(18, 24, 2, 4) 간의 상대적 크기 차이(vCPU)에 해당하는 인스턴스 가중치

  • 가장 큰 가중치보다 크게 증가된 새 원하는 용량

aws autoscaling update-auto-scaling-group --cli-input-json file://~/config.json

config.json 파일에는 다음 콘텐츠가 포함되어 있습니다.

{ "AutoScalingGroupName": "my-existing-asg", "MixedInstancesPolicy": { "LaunchTemplate": { "Overrides": [ { "InstanceType": "c5.18xlarge", "WeightedCapacity": "18" }, { "InstanceType": "c5.24xlarge", "WeightedCapacity": "24" }, { "InstanceType": "c5.2xlarge", "WeightedCapacity": "2" }, { "InstanceType": "c5.4xlarge", "WeightedCapacity": "4" } ] } }, "MinSize": 0, "MaxSize": 100, "DesiredCapacity": 100 }
명령줄을 사용하여 가중치를 확인하려면

다음 명령 중 하나를 사용합니다.

단위 시간당 스팟 가격의 예

다음 표는 미국 동부(버지니아 북부)의 여러 가용 영역에 있는 스팟 인스턴스의 시간당 가격과 동일한 리전의 온디맨드 인스턴스 가격을 비교한 것입니다. 표시된 가격은 현재 가격이 아니라 예를 든 것이며, 인스턴스 시간당 가격입니다.

예: 인스턴스 시간당 스팟 가격
인스턴스 타입 us-east-1a us-east-1b us-east-1c 온디맨드 가격
c5.2xlarge 0.180 USD 0.191 USD 0.170 USD 0.34 USD
c5.4xlarge 0.341 USD 0.361 USD 0.318 USD 0.68 USD
c5.12xlarge 0.779 USD 0.777 USD 0.777 USD 2.04 USD
c5.18xlarge 1.207 USD 1.475 USD 1.357 USD 3.06 USD
c5.24xlarge 1.555 USD 1.555 USD 1.555 USD 4.08 USD

인스턴스 가중치를 사용하면 단위 시간당 사용량을 기준으로 비용을 평가할 수 있습니다. 단위 시간당 가격은 인스턴스 유형에 따른 가격을 인스턴스가 나타내는 유닛 수로 나누어 계산합니다. 온디맨드 인스턴스의 경우, 하나의 인스턴스 유형을 배포하는 경우 동일한 인스턴스 유형의 다른 크기를 배포하더라도 단위 시간당 가격이 동일합니다. 그러나, 단위 시간당 스팟 가격은 스팟 풀에 따라 다릅니다.

다음 예제는 인스턴스 가중치를 기준으로 단위 시간당 스팟 가격을 계산하는 방법을 보여줍니다. 간단한 계산을 위해 us-east-1a에서만 스팟 인스턴스를 시작한다고 가정합니다. 단위 시간당 가격은 다음 표에 수집되어 있습니다.

예: 단위 시간당 스팟 가격
인스턴스 타입 us-east-1a 인스턴스 가중치 단위 시간당 가격
c5.2xlarge 0.180 USD 2 0.090 USD
c5.4xlarge 0.341 USD 4 0.085 USD
c5.12xlarge 0.779 USD 12 0.065 USD
c5.18xlarge 1.207 USD 18 0.067 USD
c5.24xlarge 1.555 USD 24 0.065 USD