속성 기반 인스턴스 유형 선택을 사용하여 혼합 인스턴스 그룹 생성 - Amazon EC2 Auto Scaling

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

속성 기반 인스턴스 유형 선택을 사용하여 혼합 인스턴스 그룹 생성

혼합 인스턴스 그룹을 위한 인스턴스 유형을 수작업으로 선택하는 대신 컴퓨팅 요건을 기술하는 인스턴스 속성 집합을 지정할 수 있습니다. Amazon EC2 Auto Scaling이 인스턴스를 시작할 때 Auto Scaling 그룹에서 사용하는 모든 인스턴스 유형은 필요한 인스턴스 속성과 일치해야 합니다. 이를 속성 기반 인스턴스 유형 선택이라고 합니다.

이 접근 방식은 컨테이너, 빅 데이터 및 CI/CD와 같이 사용하는 인스턴스 유형에 대해 유연한 워크로드 및 프레임워크에 이상적입니다.

속성 기반 인스턴스 유형을 선택하면 다음과 같은 이점이 있습니다.

  • 스팟 인스턴스를 위한 최적의 유연성 — Amazon EC2 Auto Scaling은 다양한 인스턴스 유형 중에서 선택하여 스팟 인스턴스를 시작할 수 있습니다. 이는 Amazon EC2 스팟 서비스가 필요한 양의 컴퓨팅 용량을 찾고 할당할 수 있는 더 나은 기회를 제공하는 인스턴스 유형에 대한 유연성이라는 스팟 모범 사례를 충족합니다.

  • 쉽게 올바른 인스턴스 유형 사용 - 사용 가능한 인스턴스 유형이 너무 많기 때문에 워크로드에 적합한 인스턴스 유형을 찾는 데 시간이 많이 걸릴 수 있습니다. 인스턴스 속성을 지정하면 인스턴스 유형에는 워크로드에 필요한 속성이 자동으로 포함됩니다.

  • 새 인스턴스 유형 자동 사용 — Auto Scaling 그룹은 출시되는 대로 차세대 인스턴스 유형을 사용할 수 있습니다. 최신 세대 인스턴스 유형은 요건과 일치하고 Auto Scaling 그룹에 대해 선택한 할당 전략과 일치하면 자동으로 사용됩니다.

속성 기반 인스턴스 유형 선택 작동 방법

속성 기반 인스턴스 유형 선택을 사용하면 특정 인스턴스 유형의 목록을 제공하는 대신 다음과 같이 인스턴스에 필요한 인스턴스 속성 목록을 제공할 수 있습니다.

  • vCPU 수 – 인스턴스당 최소 및 최대 vCPU 수입니다.

  • 메모리 — 인스턴스당 최소 및 최대 GiBs 메모리입니다.

  • 로컬 스토리지 - 로컬 스토리지에 EBS를 사용할지 아니면 인스턴스 스토어 볼륨을 사용할지입니다.

  • 성능 버스트 기능 – T4g, T3a, T3 및 T2 유형을 포함한 T 인스턴스 패밀리를 사용할지 여부입니다.

인스턴스 요구 사항을 정의하는 데 사용할 수 있는 다양한 옵션이 있습니다. 각 옵션과 기본값에 대한 설명은 Amazon EC2 Auto Scaling API 참조를 참조하십시오 InstanceRequirements.

Auto Scaling 그룹은 인스턴스를 시작해야 하는 경우 지정된 속성과 일치하고 해당 가용 영역에서 사용할 수 있는 인스턴스 유형을 검색합니다. 그러면 할당 전략에 따라 일치하는 인스턴스 유형 중 어느 것을 시작할지 결정합니다. 기본적으로 속성 기반 인스턴스 유형 선택에는 Auto Scaling 그룹이 예산 임계값을 초과하는 인스턴스 유형을 시작하지 못하도록 하는 가격 보호 기능이 활성화되어 있습니다.

기본적으로 Auto Scaling 그룹의 원하는 용량을 설정할 때는 인스턴스 수를 측정 단위로 사용합니다. 즉, 각 인스턴스가 하나의 단위로 계산됩니다.

또는 원하는 용량 값을 vCPU 수 또는 메모리 양으로 설정할 수 있습니다. 이렇게 하려면 또는 UpdateAutoScalingGroup API 작업의 AWS Management Console 또는 DesiredCapacityType 속성에 있는 원하는 용량 유형 드롭다운 필드를 사용하십시오. CreateAutoScalingGroup 그러면 Amazon EC2 Auto Scaling이 원하는 vCPU 또는 메모리 용량을 충족하는 데 필요한 수의 인스턴스를 시작합니다. 예를 들어 vCPU를 원하는 용량 유형으로 사용하고 각각 vCPU가 2개인 인스턴스를 사용하는 경우, 원하는 용량의 vCPU가 10개이면 인스턴스 5개가 시작됩니다. 이는 인스턴스 가중치에 대한 유용한 대안입니다.

가격 보호

가격 보호를 사용하면 Auto Scaling 그룹에서 시작한 EC2 인스턴스에 대해 지불할 최고 가격을 지정할 수 있습니다. 가격 보호는 사용자가 지정한 속성에 맞더라도 너무 비싸다고 생각되는 인스턴스 유형을 Auto Scaling 그룹에서 사용하지 못하도록 하는 기능입니다.

가격 보호는 기본적으로 활성화되며 온디맨드 인스턴스와 스팟 인스턴스에 대해 별도의 가격 임계값이 있습니다. Amazon EC2 Auto Scaling에서 새 인스턴스를 시작해야 하는 경우 관련 임계값을 초과하는 모든 인스턴스 유형은 시작되지 않습니다.

온디맨드 가격 보호

온디맨드 인스턴스의 경우 지불할 의사가 있는 최고 온디맨드 가격을 식별된 온디맨드 가격보다 높은 백분율로 정의합니다. 식별된 온디맨드 요금은 지정된 속성을 가진 현재 세대 C, M 또는 R 인스턴스 유형의 최저가입니다.

온디맨드 가격 보호 값이 명시적으로 정의되지 않은 경우 식별된 온디맨드 가격보다 20% 높은 기본 최고 온디맨드 가격이 사용됩니다.

스팟 가격 보호

기본적으로 Amazon EC2 Auto Scaling은 최적의 스팟 인스턴스 가격 보호를 자동으로 적용하여 다양한 인스턴스 유형 중에서 일관되게 선택할 수 있도록 합니다. 가격 보호를 직접 수동으로 설정할 수도 있습니다. 하지만 Amazon EC2 Auto Scaling이 대신 처리하도록 하면 스팟 용량이 충족될 가능성을 높일 수 있습니다.

다음 옵션 중 하나를 사용하여 가격 보호를 수동으로 지정할 수 있습니다. 가격 보호를 수동으로 설정하는 경우 첫 번째 옵션을 사용하는 것이 좋습니다.

  • 식별된 온디맨드 요금의 백분율 — 식별된 온디맨드 가격은 지정된 속성을 가진 현재 세대 C, M 또는 R 인스턴스 유형 중 가장 저렴한 가격입니다.

  • 식별된 스팟 가격보다 높은 비율 — 식별된 스팟 가격은 지정된 속성을 가진 현재 세대 C, M 또는 R 인스턴스 유형 중 가장 낮은 가격의 가격입니다. 스팟 가격이 변동될 수 있고 이에 따라 가격 보호 임계값도 변동될 수 있으므로 이 옵션은 사용하지 않는 것이 좋습니다.

가격 보호를 사용자 정의하십시오.

Amazon EC2 Auto Scaling 콘솔에서 또는 SDK를 사용하여 AWS CLI 가격 보호 임계값을 사용자 지정할 수 있습니다.

  • 콘솔에서 추가 인스턴스 속성의 온디맨드 가격 보호스팟 가격 보호 설정을 사용하십시오.

  • InstanceRequirements구조에서 온디맨드 인스턴스 가격 보호 임계값을 지정하려면 속성을 사용하십시오. OnDemandMaxPricePercentageOverLowestPrice 스팟 인스턴스 가격 보호 임계값을 지정하려면 MaxSpotPriceAsPercentageOfOptimalOnDemandPrice 또는 SpotMaxPricePercentageOverLowestPrice 속성을 사용합니다.

원하는 용량 유형 (DesiredCapacityType) 을 vCPU 또는 Memory GiB로 설정하는 경우 가격 보호는 인스턴스당 가격 대신 vCPU당 또는 메모리당 가격을 기준으로 적용됩니다.

가격 보호를 끌 수도 있습니다. 가격 보호 기준이 없음을 나타내려면 999999와 같은 높은 백분율 값을 지정합니다.

참고

현재 세대의 C, M 또는 R 인스턴스 유형이 지정된 속성과 일치하지 않는 경우에도 가격 보호가 적용됩니다. 일치하는 항목이 없는 경우, 해당 속성과 일치하는 가장 저렴한 현재 세대 인스턴스 유형 또는 그렇지 않은 경우 가장 저렴한 이전 세대 인스턴스 유형의 가격이 책정됩니다.

사전 조건 

속성 기반 인스턴스 유형 선택 기능을 사용하여 혼합 인스턴스 그룹 생성 (콘솔)

속성 기반 인스턴스 유형 선택을 사용하여 혼합 인스턴스 그룹을 만들려면 다음 절차를 따르세요. 단계를 효율적으로 진행하는 데 도움이 되도록 일부 선택 사항 섹션은 생략했습니다.

대부분의 범용 워크로드의 경우, 필요한 vCPU의 수와 메모리를 지정하는 것으로 충분합니다. 고급 사용 사례의 경우, 스토리지 유형, 네트워크 인터페이스, CPU 제조업체, 액셀러레이터 유형 등의 속성을 지정할 수 있습니다.

혼합 인스턴스 그룹의 모범 사례를 검토하려면 을 참조하십시오. 혼합 인스턴스 그룹 생성을 위한 설정 개요

혼합 인스턴스 그룹을 생성하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling 그룹(Auto Scaling Groups)을 선택합니다.

  2. 화면 상단의 탐색 모음에서 시작 템플릿을 만들 때 사용한 지역과 동일한 AWS 리전 을 선택합니다.

  3. Create an Auto Scaling group(Auto Scaling 그룹 생성)을 선택합니다.

  4. 시작 템플릿 또는 구성 선택 페이지에서 Auto Scaling group name(Auto Scaling 그룹 명칭)에 Auto Scaling 그룹의 이름을 입력합니다.

  5. 시작 템플릿을 선택하려면 다음을 수행하십시오:

    1. 시작 템플릿에서 기존 시작 템플릿을 선택합니다.

    2. Launch template version(시작 템플릿 버전)에서 Auto Scaling 그룹이 스케일 아웃 시 시작 템플릿의 기본 버전을 사용할지, 최신 버전을 사용할지, 아니면 특정 버전을 사용할지를 선택합니다.

    3. 시작 템플릿이 사용하려는 모든 옵션을 지원하는지 확인한 후 다음을 선택합니다.

  6. 인스턴스 시작 옵션 선택 페이지에서 다음을 선택합니다:

    1. 인스턴스 유형 요건(Instance type requirements)에서 시작 템플릿 재정의(Override launch template)를 선택합니다.

      참고

      vCPU 및 메모리와 같은 인스턴스 속성 집합이 이미 포함된 시작 템플릿을 선택한 경우, 인스턴스 속성이 표시됩니다. 이러한 속성은 Auto Scaling 그룹 속성에 추가되며, 언제든지 Amazon EC2 Auto Scaling 콘솔에서 업데이트할 수 있습니다.

    2. 인스턴스 속성 지정(Specify instance attributes)에서 vCPU 및 메모리 요건을 입력하여 시작합니다.

      • vCPU(vCPUs)에 원하는 최소 및 최대 vCPU 수를 입력합니다. 무한을 지정하려면 최소 없음(No minimum), 최대 없음(No maximum) 또는 둘 다 선택합니다.

      • 메모리(GiB)(Memory (GiB))에 원하는 최소 및 최대 메모리 양을 입력합니다. 무한을 지정하려면 최소 없음(No minimum), 최대 없음(No maximum) 또는 둘 다 선택합니다.

    3. (선택 사항) 추가 인스턴스 속성(Additional instance attributes)에서 필요에 따라 하나 이상의 속성을 지정하여 컴퓨팅 요구 사항을 더 자세히 표현할 수 있습니다. 각 추가 속성은 요청에 제약 조건을 추가합니다.

    4. 일치하는 인스턴스 유형 미리보기를 확장하여 지정된 속성을 가진 인스턴스 유형을 확인하십시오.

    5. 인스턴스 구매 옵션에서 인스턴스 배포에 대해 각각 온디맨드 인스턴스로 및 스팟 인스턴스로 시작시킬 그룹의 백분율을 지정합니다. 귀하의 애플리케이션이 무상태이고 내결함성이 있으며 중단되는 인스턴스를 처리할 수 있는 경우, 귀하는 더 높은 백분율의 스팟 인스턴스를 지정할 수 있습니다.

    6. (옵션) 스팟 인스턴스를 위한 백분율을 지정할 때 온디맨드 기본 용량 포함란을 선택한 다음 온디맨드 인스턴스가 충족해야 하는 Auto Scaling 그룹 초기 용량의 최소량을 지정하십시오. 기본 용량을 초과하는 용량은 인스턴스 배치(Instances distribution) 설정을 사용하여 시작할 온디맨드 인스턴스 및 스팟 인스턴스 수를 결정합니다.

    7. 할당 전략(Allocation strategies) 아래에서 온디맨드 할당 전략(On-Demand allocation strategy)에 대해 최저가(Lowest price)가 자동으로 선택되며 변경할 수 없습니다.

    8. 스팟 할당 전략(Spot allocation strategy)에서 할당 전략을 선택합니다. Price capacity optimized(가격 용량 최적화)가 기본적으로 선택됩니다. Lowest price(최저가)는 기본적으로 숨겨져 있으며 Show all strategies(모든 전략 보기)를 선택한 경우에만 표시됩니다. 최저가를 선택한 경우, 최저가 풀의 수를 입력하여 최저가 풀을 분산합니다.

    9. 용량 재조정에서 용량 재조정을 활성화 또는 비활성화할지 선택합니다. 용량 재조정을 사용하여 스팟 중단으로 인해 스팟 인스턴스가 해지되려 할 때 자동화를 통해 대응하십시오. 자세한 설명은 용량 재조정을 사용하여 Amazon EC2 스팟 중단 처리 섹션을 참조하세요.

    10. 네트워크(Network)VPC에서 VPC를 선택합니다. Auto Scaling 그룹은 시작 템플릿에서 지정한 보안 그룹과 동일한 VPC에 생성되어야 합니다.

    11. 가용 영역 및 서브넷(Availability Zones and subnets)에서 지정한 VPC에 있는 서브넷을 하나 이상 선택합니다. 여러 가용 영역의 서브넷을 사용하여 가용성을 높일 수 있습니다. 자세한 설명은 VPC 서브넷 선택 시 고려 사항 섹션을 참조하세요.

    12. 다음, 다음을 선택합니다.

  7. 그룹 크기 및 조정 정책 구성 단계에서는 다음을 수행하십시오:

    1. 원하는 용량을 인스턴스 이외의 다른 단위로 측정하려면, 그룹 크기, 원하는 용량 유형에서 적절한 옵션을 선택합니다. Units(단위), vCPU, Memory GiB(메모리 GiB)가 지원됩니다. 기본적으로 Amazon EC2 Auto Scaling은 인스턴스 수로 변환되는 Units(단위)를 지정합니다.

    2. 원하는 용량이란 Auto Scaling 그룹의 최초 크기입니다.

    3. 스케일링 섹션의 스케일링 제한에서 희망 용량에 대한 새 값이 최소 희망 용량최대 희망 용량보다 큰 경우, 최대 희망 용량은 자동으로 새 희망 용량 값으로 증가합니다. 필요에 따라 이러한 한도를 변경할 수 있습니다. 자세한 설명은 Auto Scaling 그룹에 대한 스케일링 제한 설정 섹션을 참조하세요.

  8. Skip to review(검토로 건너뛰기)를 선택합니다.

  9. 검토(Review) 페이지에서 Auto Scaling 그룹 생성(Create Auto Scaling group)을 선택합니다.

속성 기반 인스턴스 유형 선택 () 을 사용하여 혼합 인스턴스 그룹을 생성합니다.AWS CLI

명령행을 사용하여 혼합 인스턴스 그룹을 생성하려면

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

구성의 예

를 사용하여 속성 기반 인스턴스 유형 선택이 포함된 Auto Scaling 그룹을 생성하려면 다음 create-auto-scaling-group명령을 사용합니다. AWS CLI

다음과 같은 인스턴스 속성이 지정됩니다.

  • VCpuCount - 인스턴스 유형에는 최소 4개의 vCPU와 최대 8개의 vCPU가 있어야 합니다.

  • MemoryMiB - 인스턴스 유형에 최소 16,384MiB의 메모리가 있어야 새 시작 템플릿 버전을 생성하지 않은 경우합니다.

  • CpuManufacturers - 인스턴스 유형에는 인텔에서 제조한 CPU가 있어야 합니다.

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

다음은 예 config.json 파일입니다.

{ "AutoScalingGroupName": "my-asg", "DesiredCapacityType": "units", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "$Default" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": {"Min": 4, "Max": 8}, "MemoryMiB": {"Min": 16384}, "CpuManufacturers": ["intel"] } }] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "price-capacity-optimized" } }, "MinSize": 0, "MaxSize": 100, "DesiredCapacity": 4, "DesiredCapacityType": "units", "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

원하는 용량 값을 vCPU 수 또는 메모리 양으로 설정하려면 파일에서 "DesiredCapacityType": "vcpu" 또는 "DesiredCapacityType": "memory-mib"를 지정합니다. 기본 원하는 용량 유형은 원하는 용량 값을 인스턴스 수로 설정하는 units입니다.

또는 다음 create-auto-scaling-group명령을 사용하여 Auto Scaling 그룹을 생성할 수 있습니다. 이는 Auto Scaling 그룹의 유일한 파라미터로 YAML 파일을 참조합니다.

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

다음은 예 config.yaml 파일입니다.

--- AutoScalingGroupName: my-asg DesiredCapacityType: units MixedInstancesPolicy: LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName: my-launch-template Version: $Default Overrides: - InstanceRequirements: VCpuCount: Min: 2 Max: 4 MemoryMiB: Min: 2048 CpuManufacturers: - intel InstancesDistribution: OnDemandPercentageAboveBaseCapacity: 50 SpotAllocationStrategy: price-capacity-optimized MinSize: 0 MaxSize: 100 DesiredCapacity: 4 DesiredCapacityType: units VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782

원하는 용량 값을 vCPU 수 또는 메모리 양으로 설정하려면 파일에서 DesiredCapacityType: vcpu 또는 DesiredCapacityType: memory-mib를 지정합니다. 기본 원하는 용량 유형은 원하는 용량 값을 인스턴스 수로 설정하는 units입니다.

인스턴스 유형 미리 보기

컴퓨팅 요건과 일치하는 인스턴스 유형을 시작하지 않고 미리 보고 필요한 경우, 요건을 조정할 수 있습니다. Amazon EC2 Auto Scaling 콘솔에서 Auto Scaling 그룹을 생성할 때 인스턴스 유형의 미리 보기가 인스턴스 시작 옵션 선택(Choose instance launch options) 페이지의 일치하는 인스턴스 유형 미리 보기(Preview matching instance types) 섹션에 나타납니다.

또는 SDK를 사용하여 Amazon EC2 GetInstanceTypesFromInstanceRequirementsAPI를 호출하여 인스턴스 유형을 미리 볼 수도 AWS CLI 있습니다. Auto Scaling 그룹을 생성하거나 업데이트하는 데 사용할 정확한 형식으로 InstanceRequirements 파라미터를 요청에 전달합니다. 자세한 내용은 Amazon EC2 사용 설명서에서 지정된 속성을 가진 인스턴스 유형 미리 보기를 참조하십시오.

속성 기반 인스턴스 유형 선택에 대한 자세한 내용은 블로그에서 EC2 Auto Scaling 및 EC2 플릿을 위한 속성 기반 인스턴스 유형 선택을 참조하십시오. AWS

AWS CloudFormation을 사용하여 Auto Scaling 그룹을 생성할 때 속성 기반 인스턴스 유형 선택을 선언할 수 있습니다. 자세한 설명은 AWS CloudFormation 사용자 가이드Auto Scaling 템플릿 스니펫에서 예 스니펫을 참조하세요.