증분 EBS 스냅샷을 생성하는 데 걸리는 시간이 전체 EBS 스냅샷과 동일한 이유는 무엇인가요?

3분 분량
0

Amazon Elastic Block Store(Amazon EBS) 볼륨의 증분 스냅샷 생성을 완료하는 데 걸리는 시간이 전체 스냅샷을 완료하는 데 걸리는 시간과 같은 이유를 알고 싶습니다.

해결 방법

스냅샷 생성 시간은 다음 요인에 따라 달라집니다.

  • EBS 볼륨의 크기.
  • 마지막 스냅샷 이후 변경된 블록의 양(델타)입니다.
  • EBS 볼륨의 워크로드.
  • 스냅샷 생성 중 EBS 볼륨에 대한 활성 I/O입니다. 생성 호출이 실행될 때 볼륨에서 I/O 작업이 동시에 수행되면 스냅샷의 우선순위가 낮아집니다.
  • 백엔드 서버에서 대역폭이 공유되기 때문에 스냅샷의 타이밍입니다.
  • 마지막 스냅샷을 만든 이후 경과한 시간입니다.

기본적으로 EBS 스냅샷에는 증분 크기 대신 전체 백업 크기가 표시됩니다. 첫 번째 스냅샷은 데이터의 전체 사본입니다. 후속 스냅샷은 증분식이며 최신 스냅샷에서 변경된 블록을 포함합니다. 증분식으로 설계되었더라도 모든 EBS 스냅샷에서 새 볼륨을 복원할 수 있으므로 후속 스냅샷에는 전체 크기가 표시됩니다. 각 증분 스냅샷은 백엔드의 다른 스냅샷을 참조합니다.

예를 들어 첫 번째 스냅샷 이후 모든 블록이 수정된 경우, 스냅샷을 생성하는 데 전체 스냅샷만큼 오래 걸릴 수 있습니다. 이는 첫 번째 스냅샷을 참조하는 모든 블록이 수정되기 때문입니다.

마지막 스냅샷 이후 변경된 내용이 많을수록 이후에 스냅샷을 생성하는 데 걸리는 시간이 길어집니다.

생성 시간은 기본 스토리지 하위 시스템의 로드와 같은 다른 인프라 요소에 따라서도 달라집니다. EBS 스냅샷 생성에 걸리는 시간을 예측하거나 이 프로세스를 신속하게 처리할 방법이 없습니다.

자세한 내용은 스냅샷 작동 방식을 참조하세요.

스냅샷의 실제 크기를 확인하려면 다음을 수행합니다.

1.    list-snapshot-blocks AWS Command Line Interface(AWS CLI) 명령을 실행합니다. 다음 예제 명령에서 value를 스냅샷의 ID로 바꾸세요.

$ aws ebs list-snapshot-blocks --snapshot-id value

**참고:**AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

list-snapshot-blocks 명령은 스냅샷에 있는 데이터 블록을 모두 블록 인덱스 및 블록 토큰과 함께 나열합니다. API는 총 블록 수를 직접 제공하지 않습니다. 블록 토큰이나 블록 인덱스를 기준으로 반환되는 블록 수를 계산해야 합니다.

list-snapshot-blocks 명령은 단일 결과에서 최대 10,000개의 블록을 반환합니다. 스냅샷에 10,000개가 넘는 블록이 있는 경우 명령은 NextToken도 반환합니다.

다음 명령을 실행하여 토큰을 사용해 다음 결과 페이지를 검색합니다. 다음 예제 명령에서 value를 스냅샷의 ID로 바꾸세요.

$ aws ebs list-snapshot-blocks --snapshot-id <value> --next-token value

2.    블록 수를 세고 총 블록 수에 512를 곱하여 데이터 크기를 계산합니다(각 블록 크기는 512KiB임).

예시

스냅샷의 데이터 크기(KiB 단위) = 총 블록 수 * 512

스냅샷 생성 시간을 줄이려면

볼륨의 스냅샷을 자주 만드는 것이 좋습니다. 스냅샷을 자주 생성하면 볼륨에서 변경된 블록의 크기가 작아져 스냅샷 생성 시간이 단축됩니다. 스냅샷 생성 및 삭제를 자동화하려면 Amazon Data Lifecycle Manager 또는 AWS Backup을 사용하세요.

관련 정보

Amazon Elastic Compute Cloud(Amazon EC2) AMI 또는 EBS 스냅샷 생성이 느린 이유는 무엇인가요?

AWS 공식
AWS 공식업데이트됨 일 년 전