기존 Capacity Reservation에서 용량 분리하기
기존 Capacity Reservation에서 용량 분리하기 (Split off capacity from an existing Capacity Reservation)
기존 Capacity Reservation에서 용량을 분리해 새 예약을 만들 수 있어요. 용량을 분리하면 원래 예약의 일부를 특정 워크로드에 할당하거나 다른 AWS 계정과 공유할 수 있어요. 예를 들어 다른 계정과 부분적으로 공유하려면 용량의 일부를 분리해 더 작은 크기의 Capacity Reservation을 만들 수 있어요. 그 작은 크기의 Capacity Reservation은 AWS Resource Access Manager로 다른 계정과 공유할 수 있어요.
출처: 문서
본문
기존 Capacity Reservation에서 용량을 분리하면 새 Capacity Reservation이 자동으로 생성돼요. 기존 예약은 분리된 인스턴스 수만큼 총 용량이 줄어든 것 외에는 변경되지 않아요. 기존 Capacity Reservation에서 실행 중인 인스턴스는 영향을 받지 않아요. 기존 예약은 새 Capacity Reservation 하나로만 분리할 수 있어요.
새 Capacity Reservation은 태그를 제외하고 기존 Capacity Reservation과 같은 구성을 가져요. 기본적으로 새 Capacity Reservation에는 태그가 없어요. 분리 작업 중에 새 태그를 지정할 수 있고, 생성 후 필요하면 수정할 수도 있어요.
분리할 인스턴스 수를 지정하면 기본적으로 사용 가능한 용량이 먼저 분리되고, 그다음에 적격한 실행 중인 인스턴스(예약의 사용된 용량)가 분리돼요. 예를 들어 사용된 인스턴스 5개와 사용 가능한 인스턴스 3개가 있는 Capacity Reservation에서 4개를 분리하면, 사용 가능한 인스턴스 3개와 사용된 인스턴스 1개가 새 예약으로 분리돼요.
용량 분리 전제 조건 (Prerequisites)
- 소스 예약이 active 상태여야 해요.
- 소스 예약을 내 AWS 계정이 소유해야 해요.
참고: 사용 가능한 용량보다 큰 Quantity to split을 지정해 사용된 용량을 분리하면,
Capacity Reservation Specification이open으로 시작된 인스턴스만 분리돼요.
고려 사항 (Considerations)
- 사용된 용량은 "open" 인스턴스 적격성을 가지고 어떤 계정과도 공유되지 않는 Capacity Reservation에서만 분리할 수 있어요.
- 사용된 용량을 분리할 때 적격 인스턴스는 무작위로 선택돼요. 어떤 실행 중인 인스턴스가 분리될지 지정할 수 없어요. 분리 수량을 채울 충분한 적격 인스턴스를 찾지 못하면 분리 작업이 실패해요.
- 기존 예약에서 분리할 수 있는 최대 인스턴스 수는 예약 크기에서 1을 뺀 값이에요. 예를 들어 예약 총 용량이 5개면 새 예약으로 최대 4개를 분리할 수 있어요.
- 미래 날짜 Capacity Reservations – 약정 기간 동안에는 미래 날짜 Capacity Reservation의 용량을 분리할 수 없어요.
- Capacity Reservation Resource Groups – 기존 Capacity Reservation이 리소스 그룹에 속하면 새 Capacity Reservation은 자동으로 그룹에 추가되지 않아요. 필요하면 생성 후 추가할 수 있어요.
- 공유(Sharing) – 기존 Capacity Reservation이 소비자 계정과 공유되어 있어도 새 Capacity Reservation은 자동으로 공유되지 않아요. 필요하면 생성 후 공유할 수 있어요.
- 클러스터 배치 그룹(Cluster placement group) – 기존 Capacity Reservation이 클러스터 배치 그룹의 일부라면 새 Capacity Reservation도 같은 클러스터 배치 그룹에 생성돼요.
참고: Capacity Block에서는 용량 분리가 지원되지 않아요.
태그로 Capacity Reservation 분리 접근 제어하기
태그를 사용해 Amazon EC2 리소스에 대한 접근을 제어할 수 있고, 여기에는 기존 Capacity Reservation에서 용량을 분리해 새 Capacity Reservation을 만드는 것도 포함돼요. IAM 정책이 소스 Capacity Reservation과 새로 생성된 Capacity Reservation 둘 다에 대해 평가되므로, 정책 문에서 리소스 태그와 요청 태그를 모두 지정해야 해요. 다음 예시 정책은 소스 Capacity Reservation용 ec2:ResourceTag 조건 키(Owner=ExampleDepartment1)와 새로 생성된 Capacity Reservation용 ec2:RequestTag 조건 키(stack=production)를 포함해요.
{
"Statement": [
{
"Sid": "AllowSourceCapacityReservation",
"Effect": "Allow",
"Action": "ec2:CreateCapacityReservationBySplitting",
"Resource": "arn:aws:ec2:us-east-1:111122223333:capacity-reservation/cr-1234567890abcdef0",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Owner": "ExampleDepartment1"
}
}
},
{
"Sid": "AllowNewlyCreatedCapacityReservation",
"Effect": "Allow",
"Action": ["ec2:CreateCapacityReservationBySplitting", "ec2:CreateTags"],
"Resource": "arn:aws:ec2:us-east-1:111122223333:capacity-reservation/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/stack": "production"
}
}
}
]
}
용량 분리하기 (Split off capacity)
콘솔:
- Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
- 왼쪽 탐색 창에서 Capacity Reservations를 선택해요.
- 분리할 용량이 있는 On-Demand Capacity Reservation ID를 선택해요.
- Actions, Manage capacity 아래에서 Split을 선택해요.
- Split Capacity Reservation 페이지의 Quantity to split에서 슬라이더를 쓰거나 현재 예약에서 분리할 인스턴스 수를 입력해요.
- (선택) 새 Capacity Reservation에 태그를 추가해요.
- 요약을 검토하고 준비되면 Split을 선택해요.
AWS CLI: create-capacity-reservation-by-splitting 명령을 사용해요. 다음 예시는 지정한 Capacity Reservation에서 10개 인스턴스를 분리해 새 Capacity Reservation을 만들어요.
aws ec2 create-capacity-reservation-by-splitting \
--source-capacity-reservation-id cr-1234567890abdef0 \
--instance-count 10
PowerShell: New-EC2CapacityReservationBySplitting cmdlet을 사용해요.
New-EC2CapacityReservationBySplitting `
-SourceCapacityReservationId cr-1234567890abdef0 `
-InstanceCount 10