Amazon EBS 볼륨의 Amazon Elastic Block Store(Amazon EBS) 스냅샷을 생성했는데 스냅샷으로 백업되는 데이터의 크기를 찾고 싶습니다.
간략한 설명
Amazon EBS 스냅샷은 특정 시점의 사본을 생성하여 Amazon EBS 볼륨의 백업을 제공합니다. Amazon EBS 스냅샷은 증분 방식이며 가장 최근 스냅샷 이후 변경된 블록으로만 구성됩니다. 첫 번째 스냅샷은 업데이트된 블록과 스냅샷 생성 시 작성된 새 블록을 포함하는 전체 스냅샷입니다. 백업된 데이터에 따라 Amazon EBS 스냅샷의 크기와 스냅샷과 관련된 비용이 결정됩니다. 소스 Amazon EBS 볼륨의 크기에 따라 크기와 비용이 결정되지는 않습니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
Amazon EBS 다이렉트 API를 사용하여 스냅샷을 생성하고, 스냅샷에서 데이터를 읽고, 스냅샷에 데이터를 쓰고, 두 스냅샷 간의 차이점을 찾을 수 있습니다. Amazon EBS 다이렉트 API는 요청당 요금이 부과됩니다. 자세한 내용을 알아보려면 Amazon EBS 가격 책정을 참고하세요.
전체 스냅샷의 크기 찾기
스냅샷에서 블록의 인덱스와 토큰을 표시하려면 ListSnapshotBlocks API를 사용하세요. 이 API는 후속 호출에 사용할 토큰과 함께 한 번의 호출로 최대 10,000개의 블록을 반환합니다. 각 블록은 512KiB입니다. ListSnapshotBlocks에서 반환한 마지막 블록의 BlockIndex는 스냅샷의 블록 수를 보여줍니다. 블록 수에 512KiB를 곱한 값은 전체 스냅샷 크기의 근사치입니다.
EBS 스냅샷의 크기를 확인하려면 다음 AWS CLI list-snapshot-blocks 명령을 실행합니다.
aws ebs list-snapshot-blocks --snapshot-id <snapshot id> --region <region>
이 명령은 스냅샷의 모든 데이터 블록을 블록 인덱스 및 블록 토큰과 함께 표시합니다. API는 총 블록 수를 직접 제공하지 않습니다. API는 스냅샷의 처음 10,000개 블록을 반환합니다. 스냅샷에 10,000개 이상의 블록이 있는 경우 출력에 NextToken이 포함됩니다.
다음 NextToken 명령은 후속 명령에서 사용할 수 있습니다.
aws ebs list-snapshot-blocks --snapshot-id <snapshot id> --next-token <value> --region <region>
NextToken이 더 이상 출력에 없을 때까지 이 명령을 반복합니다. 이는 API가 스냅샷의 모든 블록 목록을 완료했음을 의미합니다.
Size of EBS full snapshot in KiB = BlockIndex of the last block returned * 512 KiB
증분 스냅샷의 크기 찾기
후속 Amazon EBS 스냅샷에는 이전 스냅샷에서 변경된 블록과 이전 스냅샷의 블록에 대한 참조만 포함됩니다. 증분 스냅샷의 변경된 블록 수는 크기를 나타냅니다. 증분 스냅샷의 고유 블록 또는 현재 스냅샷과 이전 스냅샷 간에 변경된 블록을 확인하려면 Amazon EBS 다이렉트 API ListChangedBlocks를 사용하세요.
증분 EBS 스냅샷의 크기를 확인하려면 다음 AWS CLI list-changed-blocks 블록 명령을 실행합니다.
aws ebs list-changed-blocks --first-snapshot-id <first snapshot id> --second-snapshot-id <second snapshot id> --region <region>
이 명령은 두 스냅샷 간에 변경된 모든 데이터 블록을 블록 인덱스 및 블록 토큰과 함께 표시합니다. 반환된 블록 수를 계산합니다. API는 총 블록 수를 직접 제공하지 않습니다. 블록 토큰이나 블록 인덱스를 기반으로 반환되는 블록 수를 세어야 합니다. API는 스냅샷의 처음 10,000개 블록을 반환합니다. 스냅샷에 10,000개 이상의 블록이 있는 경우 출력에 NextToken이 포함됩니다.
다음 NextToken 명령은 후속 명령에서 사용할 수 있습니다.
aws ebs list-changed-blocks --first-snapshot-id <first snapshot id> --second-snapshot-id <second snapshot id> --next-token <value> --region <region>
NextToken이 더 이상 출력에 없을 때까지 이 명령을 반복합니다. 즉, API가 스냅샷에서 변경된 모든 블록의 목록을 완성했습니다.
데이터 크기를 계산하려면 변경된 총 블록 수에 512를 곱합니다.
Size of EBS incremental snapshot in KiB = Total number of blocks changed in the snapshot * 512 KiB
지원 도구
Amazon EBS를 관리하려면 유연한 스냅샷 프록시 Python 도구를 사용하세요. 자세한 내용을 알아보려면 AWS GitHub 웹 사이트의 유연한 스냅샷 프록시를 참조하세요.
관련 정보
Amazon EBS 스냅샷
EBS 클라이언트