용량 예약 작업 - Amazon Elastic Compute Cloud

용량 예약 작업

용량 예약 사용을 시작하려면 필요 가용 영역에서 용량 예약을 생성합니다. 그런 다음, 인스턴스를 예약 용량으로 시작하거나 용량 사용률을 실시간으로 확인할 수 있으며, 필요 시 용량을 늘리거나 줄일 수 있습니다.

기본적으로 용량 예약은 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있는 새 인스턴스 및 실행 중인 인스턴스와 자동으로 맞춰집니다. 즉, 일치하는 속성을 가진 인스턴스는 용량 예약에서 자동으로 실행됩니다. 하지만 용량 예약을 특정 워크로드에 지정할 수도 있습니다. 이렇게 하면 예약 용량으로 실행할 수 있는 인스턴스를 명시적으로 제어할 수 있습니다.

예약이 종료되는 방법을 지정할 수 있습니다. 용량 예약을 취소하거나, 지정된 시간에 자동으로 예약을 종료하도록 선택할 수 있습니다. 종료 시간을 지정하면 지정된 시간부터 1시간 내에 용량 예약이 취소됩니다. 예를 들어 2019년 5월 31일 13:30:55를 지정하는 경우 용량 예약은 2019년 5월 31일 13:30:55 ~ 14:30:55에 종료됩니다. 예약이 종료된 후에는 더 이상 인스턴스를 용량 예약으로 지정할 수 없습니다. 예약 용량으로 실행 중인 인스턴스가 중단되지 않은 상태로 계속 실행됩니다. 용량 예약으로 지정된 인스턴스를 중지하는 경우 용량 예약 지정 기본 설정을 제거하거나 다른 용량 예약으로 지정되도록 구성할 때까지 해당 인스턴스를 다시 시작할 수 없습니다.

용량 예약 생성

용량 예약 생성 요청이 성공하면 용량이 즉시 사용 가능한 상태가 됩니다. 이 용량은 용량 예약이 활성 상태인 동안은 예약 상태로 유지되며 언제든지 인스턴스를 이 용량으로 시작할 수 있습니다. 용량 예약이 열려 있으면 일치하는 속성이 있는 새 인스턴스 및 기존 인스턴스는 용량 예약의 용량으로 자동 실행됩니다. 용량 예약이 targeted이면 인스턴스를 예약된 용량으로 실행하도록 지정해야 합니다.

다음 중 하나에 해당하는 경우 용량 예약 생성 요청이 실패할 수 있습니다.

  • Amazon EC2에 용량이 충분하지 않아서 요청을 이행할 수 없습니다. 나중에 다시 시도하거나, 다른 가용 영역을 사용하거나, 요청을 줄여서 시도하세요. 애플리케이션이 인스턴스 유형 및 크기 면에서 가변적인 경우 다른 인스턴스 속성으로 생성해 봅니다.

  • 요청한 수량이 선택한 인스턴스 패밀리에 대한 온디맨드 인스턴스 제한을 초과합니다. 인스턴스 패밀리에 대한 온디맨드 인스턴스 제한을 늘리고 다시 시도하세요. 자세한 내용은 온디맨드 인스턴스 할당량 섹션을 참조하세요.

콘솔을 사용하여 용량 예약을 생성하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 용량 예약를 선택한 후 용량 예약 생성을 선택합니다.

  3. 용량 예약 생성 페이지의 인스턴스 세부 정보 섹션에서 다음 설정을 구성합니다. 시작하는 인스턴스의 인스턴스 유형, 플랫폼, 가용 영역, 테넌시는 여기에서 지정한 인스턴스 유형, 플랫폼, 가용 영역, 테넌시와 일치해야 하며, 일치하지 않으면 용량 예약이 적용되지 않습니다. 예를 들어 열려 있는 용량 예약이 일치하지 않으면 명시적으로 용량 예약을 대상으로 하는 인스턴스 시작이 실패합니다.

    1. 인스턴스 유형 - 예약된 용량으로 시작할 인스턴스 유형입니다.

    2. EBS 최적 인스턴스 시작 - EBS 최적 인스턴스 용량을 예약할지 여부를 지정합니다. 이 옵션은 특정 인스턴스 유형에 대해 기본적으로 선택됩니다. 자세한 내용은 Amazon EBS 최적화 인스턴스 단원을 참조하십시오.

    3. 플랫폼 - 사용자 인스턴스에 사용할 운영 체제입니다. 자세한 내용은 지원되는 플랫폼 단원을 참조하십시오.

    4. 가용 영역 - 용량을 예약할 가용 영역입니다.

    5. 테넌시 - 공유 하드웨어(기본)를 실행할지 전용 인스턴스를 실행할지 지정합니다.

    6. (선택 사항) 배치 그룹 ARN(Placement group ARN) - 용량 예약을 생성할 클러스터 배치 그룹의 ARN입니다.

      자세한 내용은 클러스터 배치 그룹의 용량 예약 단원을 참조하십시오.

    7. 수량—용량을 예약할 인스턴스 수입니다. 선택한 인스턴스 유형에 대해 남은 온디맨드 인스턴스 제한을 초과하는 수량을 지정하는 경우 이 요청이 거부됩니다.

  4. 예약 세부 정보 섹션에서 다음 설정을 구성합니다.

    1. 예약 종료 - 다음 옵션 중 하나를 선택합니다.

      • 수동 - 명시적으로 취소할 때까지 용량을 예약합니다.

      • 지정 시간—지정된 날짜 및 시간에 용량 예약을 자동으로 취소합니다.

    2. 인스턴스 자격 - 다음 옵션 중 하나를 선택합니다.

      • open - (기본값) 용량 예약은 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있는 모든 인스턴스와 일치합니다. 일치하는 속성이 있는 인스턴스를 시작할 경우 예약 용량으로 자동 배치됩니다.

      • targeted - 용량 예약에서는 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있고 예약을 명시적으로 지정하는 인스턴스만 허용합니다.

  5. 예약 요청을 선택합니다.

AWS CLI를 사용하여 용량 예약을 생성하려면

create-capacity-reservation 명령을 사용합니다. 자세한 내용은 지원되는 플랫폼 단원을 참조하십시오.

다음 명령은 us-east-1a 가용 영역에서 Red Hat Enterprise Linux AMI를 실행하는 3개의 m5.2xlarge 인스턴스에 대해 용량을 예약하는 용량 예약을 생성합니다.

aws ec2 create-capacity-reservation --instance-type m5.2xlarge --instance-platform Red Hat Enterprise Linux --availability-zone us-east-1a --instance-count 3

다음 명령은 us-east-1a 가용 영역에서 SQL Server AMI가 설치된 Windows를 실행하는 3개의 m5.2xlarge 인스턴스에 대해 용량을 예약하는 용량 예약을 생성합니다.

aws ec2 create-capacity-reservation --instance-type m5.2xlarge --instance-platform Windows with SQL Server --availability-zone us-east-1a --instance-count 3

인스턴스를 기존 용량 예약으로 시작

인스턴스를 시작할 때 인스턴스를 임의 open 용량 예약, 특정 용량 예약 또는 용량 예약 그룹으로 시작할지 여부를 지정할 수 있습니다. 인스턴스는 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시) 및 충분한 용량이 있는 용량 예약으로만 인스턴스를 시작할 수 있습니다. 또는 일치하는 속성 및 가용 용량이 있는 open 용량 예약이 있더라도 용량 예약에서 실행되지 않도록 인스턴스를 구성할 수 있습니다.

인스턴스를 용량 예약으로 시작하면 시작된 인스턴스 수만큼 가용 용량이 감소됩니다. 예를 들어, 인스턴스 세 개를 시작할 경우 용량 예약의 가용 용량이 3만큼 감소됩니다.

콘솔을 사용하여 기존 용량 예약으로 인스턴스를 시작하는 방법
  1. 절차에 따라 인스턴스를 시작하되 다음 단계를 완료하여 배치 그룹 및 용량 예약 설정을 지정할 때까지 인스턴스를 시작하지 마세요.

  2. 고급 세부 정보를 열고 다음을 수행합니다.

    1. 배치 그룹의 경우 인스턴스를 시작할 클러스터 배치 그룹을 선택합니다.

    2. 용량 예약(Capacity Reservation)에서 용량 예약 구성에 따라 다음 옵션 중 하나를 선택합니다.

      • 없음 - 인스턴스가 용량 예약으로 시작되지 않도록 합니다. 인스턴스는 온디맨드 용량으로 실행됩니다.

      • 열기 - 일치하는 속성과, 선택한 인스턴스 수에 맞는 용량이 있는 용량 예약으로 인스턴스를 시작합니다. 충분한 용량이 있는 적절한 용량 예약이 없는 경우 인스턴스는 온디맨드 용량을 사용합니다.

      • ID별 대상 지정 —선택한 용량 예약로 인스턴스를 시작합니다. 선택한 용량 예약의 용량이 선택한 인스턴스 수에 맞게 충분하지 않으면 인스턴스가 시작되지 않습니다.

      • 그룹별 대상 지정 — 선택한 용량 예약 그룹에서 일치하는 속성 및 가용 용량이 있는 용량 예약로 인스턴스를 시작합니다. 선택한 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약이 없는 경우 인스턴스는 온디맨드 용량으로 시작됩니다.

  3. Summary(요약) 패널에서 인스턴스 구성을 검토한 다음 Launch instance(인스턴스 시작)를 선택합니다. 자세한 내용은 새 인스턴스 시작 마법사를 사용하여 인스턴스 시작 단원을 참조하십시오.

AWS CLI를 사용하여 기존 용량 예약으로 인스턴스를 시작하려면

run-instances 명령을 사용하여 --capacity-reservation-specification 파라미터를 지정합니다.

다음 예제에서는 일치하는 속성과 가용 용량이 있는 열려 있는 용량 예약으로 t2.micro 인스턴스가 시작됩니다.

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationPreference=open

다음 예제에서는 t2.micro 인스턴스가 targeted 용량 예약로 시작됩니다.

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=cr-a1234567}

다음 예제에서는 t2.micro 인스턴스가 용량 예약 그룹으로 시작됩니다.

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-1:123456789012:group/my-cr-group}

용량 예약 수정

생성한 후 활성 용량 예약의 속성을 변경할 수 있습니다. 만료되었거나 명시적으로 취소한 후에는 용량 예약을 수정할 수 없습니다.

용량 예약을 수정하는 경우, 수량 늘리기/줄이기 또는 해제 방식 변경만 가능합니다. 용량 예약의 인스턴스 유형, EBS 최적화, 플랫폼, 가용 영역 또는 인스턴스 자격은 변경할 수 없습니다. 이러한 속성을 수정해야 하는 경우에는 예약을 취소하고 나서 필요한 속성으로 예약을 다시 생성하는 것이 좋습니다.

선택한 인스턴스 유형에 대해 남은 온디맨드 인스턴스 제한을 초과하는 새 수량을 지정하는 경우 업데이트가 실패합니다.

콘솔을 사용하여 용량 예약을 수정하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 용량 예약을 선택한 후, 수정할 용량 예약을 선택하고 나서 편집을 선택합니다.

  3. 필요에 따라 수량 또는 예약 종료 옵션을 수정하고 변경 사항 저장을 선택합니다.

AWS CLI를 사용하여 용량 예약을 수정하려면

modify-capacity-reservation 명령을 사용합니다.

예를 들어, 다음 명령은 용량 예약을 수정하여 8개의 인스턴스에 대한 용량을 예약합니다.

aws ec2 modify-capacity-reservation --capacity-reservation-id cr-1234567890abcdef0 --instance-count 8

인스턴스의 용량 예약 설정 수정

중지된 인스턴트에 대한 다음 용량 예약 설정은 다음과 같이 언제든지 수정할 수 있습니다.

  • 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)과 사용 가능한 용량이 일치하는 용량 예약에서 시작하세요.

  • 특정 용량 예약에서 인스턴스를 시작합니다.

  • 용량 예약 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약에서 시작합니다.

  • 인스턴스가 용량 예약에서 시작되지 않도록 합니다.

콘솔을 사용하여 인스턴스의 용량 예약 설정을 수정하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 인스턴스를 선택한 후 수정할 인스턴스를 선택합니다. 인스턴스가 아직 중지되지 않은 경우 해당 인스턴스를 중지합니다.

  3. 작업, 인스턴스 설정, 용량 예약 설정 수정을 선택합니다.

  4. 용량 예약에서 다음 옵션 중 하나를 선택합니다.

    • 열기 - 일치하는 속성과, 선택한 인스턴스 수에 맞는 용량이 있는 용량 예약으로 인스턴스를 시작합니다. 충분한 용량이 있는 적절한 용량 예약이 없는 경우 인스턴스는 온디맨드 용량을 사용합니다.

    • 없음 - 인스턴스가 용량 예약으로 시작되지 않도록 합니다. 인스턴스는 온디맨드 용량으로 실행됩니다.

    • 용량 예약 지정 — 선택한 용량 예약로 인스턴스를 시작합니다. 선택한 용량 예약의 용량이 선택한 인스턴스 수에 맞게 충분하지 않으면 인스턴스가 시작되지 않습니다.

    • 용량 예약 그룹 지정 — 선택한 용량 예약 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약에서 인스턴스를 시작합니다. 선택한 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약이 없는 경우 인스턴스는 온디맨드 용량으로 시작됩니다.

AWS CLI를 사용하여 인스턴스의 용량 예약 설정을 수정하려면

modify-instance-capacity-reservation-attributes 명령을 사용합니다.

예를 들어, 다음 명령은 인스턴스의 용량 예약 설정을 open 또는 none으로 변경합니다.

aws ec2 modify-instance-capacity-reservation-attributes --instance-id i-1234567890abcdef0 --capacity-reservation-specification CapacityReservationPreference=none|open

예를 들어, 다음 명령은 인스턴스를 수정하여 특정 용량 예약을 지정합니다.

aws ec2 modify-instance-capacity-reservation-attributes --instance-id i-1234567890abcdef0 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=cr-1234567890abcdef0}

예를 들어, 다음 명령은 인스턴스를 수정하여 특정 용량 예약 그룹을 지정합니다.

aws ec2 modify-instance-capacity-reservation-attributes --instance-id i-1234567890abcdef0 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-1:123456789012:group/my-cr-group}

용량 예약 보기

용량 예약에는 다음과 같은 잠재적인 상태가 있습니다.

  • active - 용량을 사용할 수 있습니다.

  • expired - 용량 예약이 예약 요청 시 지정한 날짜 및 시간에 자동으로 만료됩니다. 예약 용량을 더 이상 사용할 수 없습니다.

  • cancelled—용량 예약이 취소되었습니다. 예약 용량을 더 이상 사용할 수 없습니다.

  • pending- 용량 예약 요청에 성공했지만 용량 프로비저닝이 여전히 대기 중입니다.

  • failed- 용량 예약 요청에 실패했습니다. 잘못된 요청 파라미터, 용량 제약 조건 또는 인스턴스 제한 제약 조건이 요청 실패의 원인일 수 있습니다. 60분 동안 실패한 요청을 볼 수 있습니다.

참고

Amazon EC2 API에서 따르는 최종 정합성 모델로 인해 용량 예약 생성 후 콘솔과 describe-capacity-reservations 응답에 용량 예약이 active 상태로 표시되려면 최대 5분이 걸릴 수 있습니다. 그동안 콘솔과 describe-capacity-reservations 응답에 용량 예약이 pending 상태로 표시될 수도 있습니다. 하지만 용량 예약이 이미 사용 가능할 수도 있으며, 인스턴스를 시작해볼 수 있습니다.

콘솔을 사용하여 용량 예약을 보는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 용량 예약을 선택하고 확인할 용량 예약을 선택합니다.

  3. 이 예약에 대하여 시작된 인스턴스 보기를 선택합니다.

AWS CLI를 사용하여 용량 예약을 보려면

describe-capacity-reservations 명령을 사용합니다.

예를 들어, 다음 명령은 모두 용량 예약를 설명합니다.

aws ec2 describe-capacity-reservations

출력 예.

{ "CapacityReservations": [ { "CapacityReservationId": "cr-1234abcd56EXAMPLE ", "EndDateType": "unlimited", "AvailabilityZone": "eu-west-1a", "InstanceMatchCriteria": "open", "Tags": [], "EphemeralStorage": false, "CreateDate": "2019-08-16T09:03:18.000Z", "AvailableInstanceCount": 1, "InstancePlatform": "Linux/UNIX", "TotalInstanceCount": 1, "State": "active", "Tenancy": "default", "EbsOptimized": true, "InstanceType": "a1.medium", "PlacementGroupArn": "arn:aws:ec2:us-east-1:123456789012:placement-group/MyPG" }, { "CapacityReservationId": "cr-abcdEXAMPLE9876ef ", "EndDateType": "unlimited", "AvailabilityZone": "eu-west-1a", "InstanceMatchCriteria": "open", "Tags": [], "EphemeralStorage": false, "CreateDate": "2019-08-07T11:34:19.000Z", "AvailableInstanceCount": 3, "InstancePlatform": "Linux/UNIX", "TotalInstanceCount": 3, "State": "cancelled", "Tenancy": "default", "EbsOptimized": true, "InstanceType": "m5.large" } ] }

용량 예약 취소

예약된 용량이 더 이상 필요하지 않을 경우 언제라도 용량 예약을 취소할 수 있습니다. 용량 예약을 취소할 경우 해당 용량이 즉시 해지되고 더 이상 사용 용량으로 예약되지 않습니다.

인스턴스를 실행 중인 용량 예약과 빈 용량 예약을 취소할 수 있습니다. 인스턴스를 실행 중인 용량 예약을 취소할 경우 인스턴스가 일반적으로 표준 온디맨드 인스턴스 요율이나 할인된 요율(일치하는 Savings Plan 또는 리전 예약 인스턴스가 있는 경우)로 용량 예약 외부에서 계속 정상적으로 실행됩니다.

용량 예약을 취소한 후에는 해당 용량 예약으로 지정된 인스턴스를 더 이상 시작할 수 없습니다. 다른 용량 예약으로 지정되거나, 일치하는 속성 및 충분한 용량이 있는 '열린' 용량 예약으로 시작하거나, 용량 예약으로 시작하지 않도록 이러한 인스턴스를 수정합니다. 자세한 내용은 인스턴스의 용량 예약 설정 수정 섹션을 참조하세요.

콘솔을 사용하여 용량 예약을 취소하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 용량 예약을 선택하고 취소할 용량 예약을 선택합니다.

  3. 예약 취소, 예약 취소를 선택합니다.

AWS CLI를 사용하여 용량 예약을 취소하려면

cancel-capacity-reservation 명령을 사용합니다.

예를 들어, 다음 명령은 ID가 cr-1234567890abcdef0인 용량 예약을 취소합니다.

aws ec2 cancel-capacity-reservation --capacity-reservation-id cr-1234567890abcdef0