내용으로 건너뛰기

Amazon EBS Fast Snapshot Restore를 활성화한 후 바로 볼륨을 생성할 수 없는 이유는 무엇인가요?

6분 분량
콘텐츠 수준: 중급
0

Amazon EBS Fast Snapshot Restore(FSR)를 활성화했지만, 생성한 볼륨이 FSR의 성능 이점을 받지 못합니다.

Short Description

Amazon EBS Fast Snapshot Restore(FSR)를 활성화하면 스냅샷에서 볼륨을 생성할 때 초기화 지연 없이 즉시 전체 성능을 사용할 수 있습니다. 그러나 FSR을 활성화한 직후에는 볼륨 생성 크레딧이 0에서 시작하기 때문에, 크레딧이 1 이상 누적될 때까지 FSR의 이점을 받는 볼륨을 생성할 수 없습니다.

크레딧이 채워지는 속도는 스냅샷의 크기(소스 볼륨의 크기)에 따라 달라지며, 스냅샷 크기가 클수록 크레딧이 채워지는 데 더 오래 걸립니다.

Resolution

FSR 볼륨 생성 크레딧의 동작 방식

FSR을 활성화하면 스냅샷별, 가용 영역별로 크레딧 버킷이 생성됩니다. FSR이 활성화된 스냅샷에서 볼륨을 생성할 때마다 크레딧 버킷에서 1 크레딧이 소비됩니다. 크레딧 버킷에 1 이상의 크레딧이 있어야 FSR의 이점을 받는 초기화된 볼륨을 생성할 수 있습니다. 크레딧이 1 미만인 상태에서 볼륨을 생성하면, 해당 볼륨은 FSR의 이점 없이 일반적인 방식으로 생성됩니다.

FSR을 활성화하면 크레딧 버킷은 0 크레딧에서 시작하며, 시간이 지남에 따라 일정한 속도로 채워집니다. 크레딧 버킷의 최대 크기와 채우기 속도는 스냅샷에 저장된 실제 데이터 크기가 아닌 소스 볼륨의 크기에 따라 결정됩니다.

크레딧 채우기 속도 및 버킷 크기 계산

크레딧 채우기 속도(시간당)는 다음 공식으로 계산됩니다:

MIN(10, (1024 ÷ 스냅샷_크기_GiB))

크레딧 버킷의 최대 크기는 다음 공식으로 계산됩니다:

MAX(1, MIN(10, (1024 ÷ 스냅샷_크기_GiB)))

스냅샷 크기별 크레딧 채우기 시간 예시

다음 표는 스냅샷 크기에 따라 첫 번째 FSR 볼륨을 생성할 수 있을 때까지 걸리는 시간을 보여줍니다:

스냅샷 크기 (GiB)시간당 채우기 속도 (크레딧)최대 버킷 크기 (크레딧)첫 볼륨 생성까지 대기 시간
501010약 6분
1001010약 6분
12888약 8분
25644약 15분
5002.0482약 30분
102411약 60분
20480.51약 120분
40960.251약 240분

참고: 스냅샷 크기가 1024 GiB 이하인 경우 채우기 속도와 버킷 크기가 비례하여 줄어듭니다. 1024 GiB를 초과하면 버킷 크기는 최소 1로 유지되고 채우기 속도만 줄어들기 때문에, 대기 시간이 크게 늘어납니다. 간편하게 계산하려면 1024를 스냅샷 크기(GiB)로 나누면 시간당 크레딧 수가 됩니다(최대 10).

크레딧 계산 예시: 128 GiB 스냅샷

128 GiB 스냅샷의 경우:

채우기 속도:

MIN(10, (1024 ÷ 128)) = MIN(10, 8) = 8 크레딧/시간 = 0.1333 크레딧/분

최대 버킷 크기:

MAX(1, MIN(10, (1024 ÷ 128))) = MAX(1, 8) = 8 크레딧

FSR 활성화 후 약 8분이 지나면 크레딧이 1 이상이 됩니다 (0.1333 × 8 = 1.066). 이 시점부터 FSR의 이점을 받는 볼륨을 생성할 수 있습니다. 크레딧 버킷이 가득 차면 최대 8개의 볼륨을 동시에 생성할 수 있습니다.

FSR을 활성화했는데 적용되지 않는 경우

FSR을 활성화한 직후 스냅샷에서 볼륨을 생성하면, FSR의 성능 이점 없이 일반적인 방식으로 볼륨이 생성됩니다. 이 경우 볼륨의 블록에 처음 접근할 때 Amazon S3에서 데이터를 가져오므로 I/O 지연이 발생합니다.

이 상황은 다음과 같은 경우에 발생합니다:

  • FSR을 활성화한 직후 크레딧이 1에 도달하기 전에 볼륨을 생성한 경우
  • 여러 볼륨을 연속으로 생성하여 크레딧이 모두 소진된 경우
  • FSR을 활성화한 가용 영역과 다른 가용 영역에서 볼륨을 생성한 경우

볼륨이 FSR의 이점을 받아 생성되었는지 확인하려면 다음 명령을 사용합니다:

aws ec2 describe-volumes \
    --volume-ids vol-1234567890abcdef0 \
    --query 'Volumes[*].{VolumeId:VolumeId,FastRestored:FastRestored}'

FastRestored 값이 true이면 FSR이 적용된 것이고, false이면 크레딧 부족 또는 AZ 불일치로 FSR이 적용되지 않은 것입니다.

참고: FSR이 적용되지 않은 볼륨에서 전체 성능이 필요한 경우, 볼륨의 모든 블록에 읽기 작업을 수행하여 수동으로 초기화하거나, Provisioned Rate for Volume Initialization 기능을 사용하여 예측 가능한 시간 내에 볼륨을 초기화할 수 있습니다.

CloudWatch로 크레딧 모니터링 및 알람 설정

크레딧 모니터링

CloudWatch 지표를 사용하여 FSR 크레딧 상태를 모니터링할 수 있습니다:

  • FastSnapshotRestoreCreditsBucketSize: 크레딧 버킷의 최대 크기
  • FastSnapshotRestoreCreditsBalance: 현재 사용 가능한 크레딧 수

다음 AWS CLI 명령으로 크레딧 잔액을 확인할 수 있습니다:

aws cloudwatch get-metric-statistics \
    --namespace AWS/EBS \
    --metric-name FastSnapshotRestoreCreditsBalance \
    --dimensions Name=SnapshotId,Value=snap-1234567890abcdef0 Name=AvailabilityZone,Value=apne2-az1 \
    --start-time 2026-01-01T00:00:00Z \
    --end-time 2026-01-01T01:00:00Z \
    --period 300 \
    --statistics Average

중요: AvailabilityZone 차원에는 가용 영역 이름(예: ap-northeast-2a)이 아닌 가용 영역 ID(예: apne2-az1)를 사용해야 합니다. 가용 영역 이름을 사용하면 지표가 조회되지 않아 CloudWatch 알람이 INSUFFICIENT_DATA 상태로 유지됩니다.

다음 명령으로 실제 지표에 사용되는 가용 영역 ID를 확인할 수 있습니다:

aws cloudwatch list-metrics \
    --namespace AWS/EBS \
    --metric-name FastSnapshotRestoreCreditsBalance \
    --dimensions Name=SnapshotId,Value=snap-1234567890abcdef0 \
    --query 'Metrics[*].Dimensions'

또는 다음 명령으로 가용 영역 이름과 ID의 매핑을 확인할 수 있습니다:

aws ec2 describe-availability-zones \
    --region ap-northeast-2 \
    --query 'AvailabilityZones[*].{Name:ZoneName,Id:ZoneId}' \
    --output table

참고: snap-1234567890abcdef0을 실제 스냅샷 ID로, apne2-az1을 FSR을 활성화한 가용 영역의 ID로 바꾸세요.

크레딧 부족 알람 설정

크레딧이 1 미만으로 떨어지면 알림을 받도록 CloudWatch 알람을 설정할 수 있습니다. 이를 통해 FSR이 적용되지 않는 볼륨이 생성되는 것을 사전에 방지할 수 있습니다.

  1. SNS 주제를 생성합니다:
aws sns create-topic \
    --name fsr-credit-alert \
    --region ap-northeast-2
  1. 알림을 받을 이메일을 구독합니다:
aws sns subscribe \
    --topic-arn arn:aws:sns:ap-northeast-2:123456789012:fsr-credit-alert \
    --protocol email \
    --notification-endpoint your-email@example.com \
    --region ap-northeast-2

참고: 123456789012를 실제 계정 ID로, your-email@example.com을 실제 이메일 주소로 바꾸세요. 구독 후 이메일에서 확인 링크를 선택해야 합니다.

  1. 크레딧 잔액이 1 미만일 때 알림을 보내는 CloudWatch 알람을 생성합니다:
aws cloudwatch put-metric-alarm \
    --alarm-name fsr-credit-low-snap-1234567890abcdef0 \
    --alarm-description "FSR credit balance is below 1 for snap-1234567890abcdef0 in apne2-az1" \
    --namespace AWS/EBS \
    --metric-name FastSnapshotRestoreCreditsBalance \
    --dimensions Name=SnapshotId,Value=snap-1234567890abcdef0 Name=AvailabilityZone,Value=apne2-az1 \
    --statistic Average \
    --period 300 \
    --threshold 1 \
    --comparison-operator LessThanThreshold \
    --evaluation-periods 1 \
    --alarm-actions arn:aws:sns:ap-northeast-2:123456789012:fsr-credit-alert \
    --region ap-northeast-2

중요: AvailabilityZone 차원에는 반드시 가용 영역 ID(예: apne2-az1)를 사용하세요. 가용 영역 이름(예: ap-northeast-2a)을 사용하면 알람이 INSUFFICIENT_DATA 상태로 유지됩니다. list-metrics 명령으로 실제 지표에 사용되는 가용 영역 ID를 확인할 수 있습니다.

참고: 스냅샷 ID, 가용 영역 ID, 계정 ID, SNS 주제 ARN을 실제 값으로 바꾸세요.

이 알람이 트리거되면 크레딧이 부족한 상태이므로, 볼륨을 생성하기 전에 크레딧이 다시 1 이상으로 채워질 때까지 기다려야 합니다.

공유 스냅샷의 크레딧

다른 계정에서 공유받은 스냅샷에 FSR을 활성화하면, 해당 크레딧 버킷은 공유받은 계정에 별도로 생성됩니다. 볼륨을 생성할 때 소비되는 크레딧은 볼륨을 생성하는 계정의 크레딧 버킷에서 차감되며, 스냅샷 소유자의 크레딧 버킷에는 영향을 주지 않습니다.

주의사항

  • FSR은 가용 영역별로 활성화해야 합니다. 볼륨을 생성하려는 가용 영역에서 FSR이 활성화되어 있어야 합니다.
  • FSR이 활성화된 시간 동안 분 단위로 요금이 부과되며, 최소 1시간이 청구됩니다.
  • 리전당 최대 5개의 스냅샷에 FSR을 활성화할 수 있습니다.
  • FSR은 16 TiB 이하의 스냅샷에서만 지원됩니다.
  • 64,000 IOPS 또는 1,000 MiB/s 처리량을 초과하는 성능으로 프로비저닝된 볼륨은 FSR로 생성하더라도 추가 초기화가 필요할 수 있습니다.

Related Information

[1] 설명서 > Amazon EBS > Amazon EBS Fast Snapshot Restore 볼륨 생성 크레딧

[2] 설명서 > Amazon EBS > Amazon EBS Fast Snapshot Restore

[3] 설명서 > Amazon EBS > Fast Snapshot Restore 지표

[4] AWS News Blog > Amazon EBS 스냅샷에서 새 EBS 볼륨으로 데이터 전송 가속화

AWS
지원 엔지니어

게시됨 5달 전52회 조회