Amazon Elastic Compute Cloud
Linux 인스턴스용 사용 설명서

단계 조정 정책을 사용하여 스팟 집합 조정

단계 조정 정책을 사용하여 조정 프로세스를 트리거하도록 CloudWatch 경보를 지정합니다. 예를 들어, CPU 사용률이 특정 레벨에 도달하면 확장하려는 경우 Amazon EC2에서 제공하는 CPUUtilization 측정치를 사용하여 경보를 생성합니다.

단계 조정 정책을 생성할 때 다음과 같은 조정 조절 유형 중 하나를 지정해야 합니다.

  • 추가 – 지정된 수의 용량 유닛 또는 지정된 현재 용량의 퍼센트까지 플릿의 대상 용량을 늘립니다.

  • 제거 – 지정된 수의 용량 단위 또는 지정된 현재 용량의 퍼센트까지 플릿의 대상 용량을 줄입니다.

  • 설정 – 플릿의 대상 용량을 지정된 수의 용량 단위로 설정합니다.

경보가 트리거되면 자동 조정 프로세스가 이행된 용량과 조정 정책을 사용하여 새로운 목표 용량을 계산한 후 그에 따라 목표 용량을 업데이트합니다. 예를 들어 목표 용량과 이행된 용량이 10이고 조정 정책이 1을 추가한다고 가정하십시오. 경보가 트리거되면 자동 조정 프로세스가 10에 1을 더해 11이 되므로 스팟 집합이 1 인스턴스를 시작합니다.

목표 용량이 줄어 스팟 집합이 인스턴스를 종료하면 해당 인스턴스는 스팟 인스턴스 중단 공지를 받습니다.

제한

  • 스팟 집합 요청에 maintain 요청 유형이 있어야 합니다. 1회 요청 또는 스팟 블록에는 자동 조정이 지원되지 않습니다.

사전 조건

  • 어떤 CloudWatch 지표가 애플리케이션에 중요한지 생각하십시오. AWS에서 제공하는 측정치 또는 사용자 지정 측정치를 기반으로 CloudWatch 경보를 생성할 수 있습니다.

  • 조정 정책에 사용할 AWS 측정치에 대해 측정치를 제공하는 서비스에서 기본적으로 활성화하지 않는 경우 CloudWatch 측정치 수집을 활성화합니다.

  • AWS Management 콘솔을 사용하여 스팟 집합에 대한 자동 조정을 활성화하는 경우 정책에 대한 경보를 설명하고, 플릿의 현재 용량을 모니터링하고, 플릿의 용량을 수정할 수 있는 권한을 Amazon EC2 Auto Scaling에 부여하는 aws-ec2-spot-fleet-autoscale-role 역할이 생성됩니다. AWS CLI 또는 API를 사용하여 자동 조정을 구성하는 경우 이 역할이 존재하면 이 역할을 사용하거나, 이 용도로 사용할 고유의 역할을 수동으로 생성할 수 있습니다.

    수동으로 역할을 생성하려면

    1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    2. 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

    3. 신뢰할 수 있는 유형의 엔터티 선택에서 AWS 서비스를 선택합니다.

    4. Choose the service that will use this role(이 역할을 사용할 서비스 선택)에서 EC2를 선택합니다.

    5. Select your use case(사용 사례 선택)에서 EC2 - Spot Fleet Auto Scaling(EC2 스팟 플릿 Auto Scaling)을 선택한 다음 Next: Permissions(다음: 권한)을 선택합니다.

    6. Attached permissions policy(연결된 권한 정책)에서 AmazonEC2SpotFleetAutoscaleRole 정책이 자동으로 나타납니다. Next: Tags(다음: 태그)를 선택한 후 Next: Review(다음: 검토)를 선택합니다.

    7. 검토에서 역할의 이름을 입력하고 역할 생성을 선택합니다.

CloudWatch 경보를 생성하려면

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 Alarms를 선택합니다.

  3. [Create Alarm]을 선택합니다.

  4. 범주별 CloudWatch 지표에서 범주를 선택합니다. 예를 들어, EC2 스팟 지표(EC2 Spot Metrics), 집합 요청 지표를 선택합니다.

  5. 측정치를 선택한 후 다음을 선택합니다.

  6. 경보 임계값에서 경보의 이름과 설명을 입력하고 임계값 및 경보의 기간 수를 설정합니다.

  7. (선택 사항) 조정 이벤트에 대한 알림을 받으려면 작업에서 새 목록을 선택하고 이메일 주소를 입력합니다. 또는 지금 알림을 삭제하고 필요에 따라 나중에 추가할 수 있습니다.

  8. [Create Alarm]을 선택합니다.

스팟 집합에 대한 단계 조정 정책을 구성하려면(콘솔)

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 스팟 요청을 선택합니다.

  3. 스팟 집합 요청을 선택한 후 Auto Scaling을 선택합니다.

  4. 자동 조정이 구성되어 있지 않으면 구성을 선택합니다.

  5. 다음 사이로 용량 조정(Scale capacity between)을 사용하여 플릿에 대한 최소 및 최대 용량을 설정합니다. 자동 조정에서 최소 용량 미만이거나 최대 용량을 초과하는 플릿을 조정하지 않습니다.

  6. 처음에 조정 정책(Scaling policies)에 ScaleUp 및 ScaleDown이라는 정책이 포함됩니다. 이러한 정책을 완료하거나 정책 제거(Remove policy)를 선택하여 삭제할 수 있습니다. 또한 정책 추가를 선택하여 정책을 추가할 수도 있습니다.

  7. 정책을 정의하려면 다음을 수행합니다.

    1. 정책 이름에서 정책의 이름을 입력합니다.

    2. 정책 트리거(Policy trigger)에서 기존 경보를 선택하거나 Create new alarm(새 경보 생성)을 선택하여 Amazon CloudWatch 콘솔을 열고 경보를 생성합니다.

    3. 용량 수정(Modify capacity)에서 조정 조절 유형을 선택하고, 숫자를 선택한 후 단위를 선택합니다.

    4. (선택 사항) 단계 조정을 수행하려면 단계 정의(Define steps)를 선택합니다. 기본적으로 추가 정책에 하한값으로 -infinity 값이, 상한값으로 경보 임계치가 적용됩니다. 또한 제거 정책에 하한값으로 경보 임계치 및 상한값으로 +infinity 값이 기본적으로 적용됩니다. 다른 단계를 추가하려면 단계 추가(Add step)를 선택합니다.

    5. (선택 사항) 휴지 기간의 기본값을 수정하려면 휴지 기간(Cooldown period)에서 숫자를 선택합니다.

  8. Save를 선택합니다.

AWS CLI를 사용하여 스팟 집합에 대한 단계 조정 정책을 구성하려면

  1. register-scalable-target 명령을 사용하여 스팟 집합 요청을 확장 가능 대상으로 등록합니다.

  2. put-scaling-policy 명령을 사용하여 조정 정책을 생성합니다.

  3. put-metric-alarm 명령을 사용하여 조정 정책을 트리거하는 경보를 생성합니다.