용량 예약 그룹 작업
AWS Resource Groups를 사용하여 리소스 그룹이라고 하는 용량 예약의 논리적 모음을 생성할 수 있습니다. 리소스 그룹은 모두 동일한 AWS 리전에 있는 AWS 리소스의 논리적 그룹입니다. Resource Groups에 대한 자세한 내용은 AWS Resource Groups 사용 설명서의 리소스 그룹이란 무엇입니까?를 참조하세요.
내 계정에서 내가 소유하고 있는 용량 예약, 그리고 다른 AWS 계정에서 나와 공유한 용량 예약을 단일 리소스 그룹에 포함할 수 있습니다. 또한 서로 다른 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있는 용량 예약을 단일 리소스 그룹에 포함할 수도 있습니다.
용량 예약에 대한 리소스 그룹을 생성할 때 인스턴스를 개별 용량 예약 대신 용량 예약의 그룹으로 지정할 수 있습니다. 용량 예약 그룹을 대상으로 하는 인스턴스는 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)과 사용 가능한 용량이 있는 그룹의 모든 용량 예약과 일치합니다. 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약이 없는 경우 인스턴스는 온디맨드 용량을 사용하여 실행됩니다. 이후 단계에서 대상 지정 그룹에 일치하는 용량 예약이 추가되면 인스턴스가 예약 용량과 자동으로 일치되고 해당 예약 용량으로 이동합니다.
그룹에서 용량 예약의 의도하지 않은 사용을 방지하려면 명시적으로 용량 예약을 지정하는 인스턴스만 허용하도록 그룹에서 용량 예약를 구성합니다. 이렇게 하려면 Amazon EC2 콘솔을 사용하여 용량 예약을 생성할 때 인스턴스 자격을 대상 지정(이전 콘솔)으로 설정하거나 이 예약을 지정하는 인스턴스만(새 콘솔)으로 설정합니다. AWS CLI를 사용하는 경우 용량 예약을 생성할 때 --instance-match-criteria targeted
를 지정합니다. 이렇게 하면 그룹 또는 그룹의 용량 예약을 명시적으로 지정하는 인스턴스만 그룹에서 실행할 수 있습니다.
실행 중인 인스턴스가 있을 때 그룹의 용량 예약이 취소되거나 만료되는 경우 인스턴스는 일치하는 속성 및 가용 용량이 있는 그룹에서 다른 용량 예약 인스턴스로 자동으로 이동됩니다. 일치하는 속성 및 가용 용량이 있는 그룹에 남은 용량 예약이 없는 경우 인스턴스는 온디맨드 용량으로 실행됩니다. 이후 단계에서 대상 지정 그룹에 일치하는 용량 예약이 추가되면 인스턴스가 예약 용량으로 자동으로 이동합니다.
용량 예약 그룹 생성
용량 예약의 그룹을 생성하려면
create-group AWS CLI 명령을 사용합니다. name
의 경우 설명이 포함된 그룹 이름을 제공하고 configuration
에 대해 두 개의 Type
요청 파라미터를 지정합니다.
-
AWS::EC2::CapacityReservationPool
: 리소스 그룹이 인스턴스 시작 대상으로 지정될 수 있도록 합니다. -
AWS::ResourceGroups::Generic
가allowed-resource-types
으로 설정된AWS::EC2::CapacityReservation
: 리소스 그룹이 용량 예약만 허용하도록 합니다.
예를 들어, 다음 명령은 이름이 MyCRGroup
인 그룹을 생성합니다.
aws resource-groups create-group --name
MyCRGroup
--configuration '{"Type":"AWS::EC2::CapacityReservationPool"}' '{"Type":"AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'
다음은 출력의 예입니다.
{
"GroupConfiguration": {
"Status": "UPDATE_COMPLETE",
"Configuration": [
{
"Type": "AWS::EC2::CapacityReservationPool"
},
{
"Type": "AWS::ResourceGroups::Generic",
"Parameters": [
{
"Values": [
"AWS::EC2::CapacityReservation"
],
"Name": "allowed-resource-types"
}
]
}
]
},
"Group": {
"GroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup",
"Name": "MyCRGroup"
}
}
그룹에 용량 예약 추가
공유된 용량 예약을 그룹에 추가한 후 해당 용량 예약이 공유되지 않을 경우, 해당 용량 예약이 그룹에서 자동으로 제거됩니다.
그룹에 용량 예약을 추가하려면
group-resources AWS CLI 명령을 사용합니다. group
의 경우 용량 예약를 추가할 그룹의 이름을 지정하고 resources
의 경우 추가할 용량 예약의 ARN을 지정합니다. 용량 예약를 여러 개 추가하려면 ARN을 공백으로 구분합니다. 추가할 용량 예약의 ARN을 가져오려면 describe-capacity-reservations AWS CLI 명령을 사용하고 용량 예약의 ID를 지정합니다.
예를 들어, 다음 명령은 이름이 MyCRGroup
인 그룹에 두 개의 용량 예약를 추가합니다.
aws resource-groups group-resources --group
MyCRGroup
--resource-arnsarn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1
arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
다음은 출력의 예입니다.
{
"Failed": [],
"Succeeded": [
"arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1",
"arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
]
}
그룹의 용량 예약 보기
특정 그룹의 용량 예약를 보려면
list-group-resources AWS CLI 명령을 사용합니다. group
의 경우 그룹 이름을 지정합니다.
예를 들어, 다음 명령은 이름이 MyCRGroup
인 그룹에 용량 예약를 나열합니다.
aws resource-groups list-group-resources --group
MyCRGroup
다음은 출력의 예입니다.
{
"QueryErrors": [],
"ResourceIdentifiers": [
{
"ResourceType": "AWS::EC2::CapacityReservation",
"ResourceArn": "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1"
},
{
"ResourceType": "AWS::EC2::CapacityReservation",
"ResourceArn": "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
}
]
}
참고
이 명령 출력에는 내가 소유하고 있는 용량 예약과 내게 공유된 용량 예약이 포함됩니다.
용량 예약이 속한 그룹 보기
그룹에서 용량 예약 제거
그룹에서 용량 예약을 제거하려면
ungroup-resources AWS CLI 명령을 사용합니다. group
의 경우 용량 예약을 제거할 그룹의 ARN을 지정하고 resources
의 경우 제거할 용량 예약의 ARN을 지정합니다. 용량 예약를 여러 개 제거하려면 ARN을 공백으로 구분합니다.
다음 예제에서는 이름이 용량 예약인 그룹에서 두 개의 MyCRGroup
을 제거합니다.
aws resource-groups ungroup-resources --group
MyCRGroup
--resource-arnsarn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd
arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
다음은 출력의 예입니다.
{
"Failed": [],
"Succeeded": [
"arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd",
"arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
]
}
용량 예약 그룹 삭제
그룹을 삭제하려면
delete-group AWS CLI 명령을 사용합니다. group
에 대해 삭제할 그룹의 이름을 제공합니다.
예를 들어, 다음 명령은 이름이 MyCRGroup
인 그룹을 삭제합니다.
aws resource-groups delete-group --group
MyCRGroup
다음은 출력의 예입니다.
{
"Group": {
"GroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup",
"Name": "MyCRGroup"
}
}