스냅샷 아카이빙에 대한 지침 및 모범 사례 - 아마존 EBS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

스냅샷 아카이빙에 대한 지침 및 모범 사례

이 섹션에서는 스냅샷 아카이빙에 대한 지침 및 모범 사례를 제공합니다.

볼륨의 유일한 스냅샷 아카이빙

볼륨의 스냅샷이 하나만 있는 경우 스냅샷은 생성 시 볼륨에 기록된 블록과 항상 같은 크기입니다. 이러한 스냅샷을 아카이빙하면 표준 계층의 스냅샷이 동일한 크기의 전체 스냅샷으로 변환되고 표준 계층에서 아카이브 계층으로 이동됩니다.

이러한 스냅샷을 아카이빙하면 스토리지 비용을 절감할 수 있습니다. 소스 볼륨이 더 이상 필요하지 않으면 볼륨을 삭제하여 스토리지 비용을 추가로 절감할 수 있습니다.

스냅샷을 생성하고 아카이빙한 다음 소스 볼륨을 삭제합니다.

단일 볼륨의 증분 스냅샷 아카이빙

중분 스냅샷을 아카이빙하면 스냅샷이 전체 스냅샷으로 변환되고 아카이브 계층으로 이동됩니다. 예를 들어 다음 이미지에서 스냅 B를 아카이빙하는 경우 스냅샷은 크기가 10GiB인 전체 스냅샷으로 변환되고 아카이브 계층으로 이동됩니다. 마찬가지로 스냅 C를 아카이빙하는 경우 아카이브 계층의 전체 스냅샷 크기는 14GiB입니다.

볼륨의 증분 스냅샷 아카이빙

표준 계층에서 스토리지 비용을 줄이기 위해 스냅샷을 아카이빙하는 경우 증분 스냅샷 세트의 첫 번째 스냅샷을 아카이빙하면 안 됩니다. 이러한 스냅샷은 스냅샷 계보의 후속 스냅샷에서 참조됩니다. 대부분의 경우 이러한 스냅샷을 아카이빙해도 스토리지 비용이 줄지 않습니다.

참고

증분 스냅샷 세트의 마지막 스냅샷을 아카이빙하면 안 됩니다. 마지막 스냅샷은 볼륨에서 가장 최근에 생성된 스냅샷입니다. 볼륨이 손상되거나 손실되었으며 스냅샷에서 볼륨을 생성하려는 경우 표준 계층에 이 스냅샷이 필요합니다.

계보의 이후 스냅샷에서 참조하는 데이터가 포함된 스냅샷을 아키이빙하는 경우 참조된 데이터와 관련된 데이터 스토리지 및 스토리지 비용이 계보의 이후 스냅샷에 할당됩니다. 이 경우 스냅샷을 아카이빙해도 데이터 스토리지 또는 스토리지 비용이 줄지는 않습니다. 예를 들어 이전 이미지에서 스냅 B를 아카이빙하는 경우 4GiB의 데이터는 스냅 C에 기인합니다. 이 경우 아카이브 계층에서 스냅 B의 전체 버전에 대한 스토리지 비용이 발생하기 때문에 전체 스토리지 비용이 증가하지만 표준 계층에 대한 스토리지 비용은 변경되지 않습니다.

스냅 C를 아카이빙하는 경우 표준 계층 스토리지는 나중에 계보의 다른 스냅샷에서 데이터를 참조하지 않기 때문에 4GiB 감소합니다. 또한 스냅샷이 전체 스냅샷으로 변환되므로 아카이브 계층 스토리지가 14GiB 증가합니다.

규정 준수를 위해 전체 스냅샷 아카이빙

규정 준수를 위해 월별, 분기별 또는 연간 단위로 볼륨의 전체 백업을 생성해야 할 수 있습니다. 이러한 백업의 경우 스냅샷 계보의 다른 스냅샷에 대한 역방향 또는 정방향 참조가 없는 독립 실행형 스냅샷이 필요할 수 있습니다. EBS 스냅샷 아카이브를 사용하여 아카이빙된 스냅샷은 전체 스냅샷이며 계보 내의 다른 스냅샷에 대한 참조가 없습니다. 또한 규정 준수를 위해 이러한 스냅샷을 몇 년 동안 보관해야 할 수도 있습니다. EBS 스냅샷 아카이브를 사용하면 장기 보존을 위해 이러한 전체 스냅샷을 경제적으로 아카이빙할 수 있습니다.

표준 계층 스토리지 비용 절감 결정

스토리지 비용을 절감하기 위해 증분 스냅샷을 아카이빙하려면 아카이브 계층의 전체 스냅샷 크기와 표준 계층의 스토리지 감소를 고려해야 합니다. 이 섹션에서는 이 작업을 수행하는 방법을 설명합니다.

중요

API 응답은 API가 호출된 시점의 정확한 데이터입니다. 스냅샷 계보의 변경으로 인해 스냅샷과 연결된 데이터가 변경됨에 따라 API 응답이 다를 수 있습니다.

표준 계층의 스토리지 및 스토리지 비용 절감을 확인하려면 다음 단계를 따르세요.

  1. 전체 스냅샷의 크기를 확인합니다. 스냅샷의 전체 크기를 확인하려면 list-snapshot-blocks 명령을 사용합니다. --snapshot-id에서 아카이빙할 스냅샷의 ID를 지정합니다.

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

    그러면 지정된 스냅샷의 모든 블록에 대한 정보가 반환됩니다. 명령에 의해 반환된 마지막 블록의 BlockIndex는 스냅샷의 블록 수를 나타냅니다. 블록 수에 스냅샷 블록 크기인 512KiB를 곱하면 아카이브 계층의 전체 스냅샷 크기에 대한 근사값을 얻을 수 있습니다(블록 * 512KiB = 전체 스냅샷 크기).

    예를 들어 다음 명령은 스냅샷 snap-01234567890abcdef의 블록을 나열합니다.

    $ aws ebs list-snapshot-blocks --snapshot-id snap-01234567890abcdef

    다음은 일부 블록이 생략된 명령 출력입니다. 다음 출력은 스냅샷에 약 16,383개의 데이터 블록이 포함되어 있음을 나타냅니다. 이는 대략 8GiB(16,383 * 512KiB = 7.99GiB)의 전체 스냅샷 크기를 나타냅니다.

    { "VolumeSize": 8, "Blocks": [ { "BlockToken": "ABgBAeShfa5RwG+RiWUg2pwmnCU/YMnV7fGMxLbCWfEBEUmmuqac5RmoyVat", "BlockIndex": 0 }, { "BlockToken": "ABgBATdTONyThPUAbQhbUQXsn5TGoY/J17GfE83j9WN7siupavOTw9E1KpFh", "BlockIndex": 1 }, { "BlockToken": "EBEUmmuqXsn5TGoY/QwmnCU/YMnV74eKE2TSsn5TGoY/E83j9WQhbUQXsn5T", "BlockIndex": 4 }, ..... { "BlockToken": "yThPUAbQhb5V8xpwmnCU/YMnV74eKE2TSFY1sKP/4r05y47WETdTONyThPUA", "BlockIndex": 12890 }, { "BlockToken": "ABgBASHKD5V8xEbaRKdxdkZZS4eKE2TSFYlMG1sKP/4r05y47WEHqKaNPcLs", "BlockIndex": 12906 }, { "BlockToken": "ABgBARROGMUJo6P9X3CFHQGZNQ7av9B6vZtTTqV89QqC+SkO0HWMlwkGXjnA", "BlockIndex": 16383 } ], "VolumeSize": 8, "ExpiryTime": 1637677800.845, "BlockSize": 524288 }
  2. 아카이빙할 스냅샷이 생성된 소스 볼륨을 찾습니다. describe-snapshots 명령을 사용합니다. --snapshot-id에서 아카이빙할 스냅샷의 ID를 지정합니다. VolumeId 응답 파라미터는 소스 볼륨의 ID를 나타냅니다.

    $ aws ec2 describe-snapshots --snapshot-id snapshot_id

    예를 들어 다음 명령은 스냅샷 snap-09c9114207084f0d9에 대한 정보를 반환합니다.

    $ aws ec2 describe-snapshots --snapshot-id snap-09c9114207084f0d9

    다음은 스냅샷을 나타내는 명령 출력이며 스냅샷 snap-09c9114207084f0d9가 볼륨 vol-0f3e2c292c52b85c3에서 생성되었음을 나타냅니다.

    { "Snapshots": [ { "Description": "", "Tags": [], "Encrypted": false, VolumeId": "vol-0f3e2c292c52b85c3", "State": "completed", "VolumeSize": 8, "StartTime": "2021-11-16T08:29:49.840Z", "Progress": "100%", "OwnerId": "123456789012", "SnapshotId": "snap-09c9114207084f0d9" } ] }
  3. 소스 볼륨에서 생성된 모든 스냅샷을 찾습니다. describe-snapshots 명령을 사용합니다. volume-id 필터를 지정하고, 필터 값으로 이전 단계의 볼륨 ID를 지정합니다.

    $ aws ec2 describe-snapshots --filters "Name=volume-id, Values=volume_id"

    예를 들어 다음 명령은 볼륨 vol-0f3e2c292c52b85c3에서 생성된 모든 스냅샷을 반환합니다.

    $ aws ec2 describe-snapshots --filters "Name=volume-id, Values=vol-0f3e2c292c52b85c3"

    다음은 명령 출력이며 3개의 스냅샷이 볼륨 vol-0f3e2c292c52b85c3에서 생성되었음을 나타냅니다.

    { "Snapshots": [ { "Description": "", "Tags": [], "Encrypted": false, "VolumeId": "vol-0f3e2c292c52b85c3", "State": "completed", "VolumeSize": 8, "StartTime": "2021-11-14T08:57:39.300Z", "Progress": "100%", "OwnerId": "123456789012", "SnapshotId": "snap-08ca60083f86816b0" }, { "Description": "", "Tags": [], "Encrypted": false, "VolumeId": "vol-0f3e2c292c52b85c3", "State": "completed", "VolumeSize": 8, "StartTime": "2021-11-15T08:29:49.840Z", "Progress": "100%", "OwnerId": "123456789012", "SnapshotId": "snap-09c9114207084f0d9" }, { "Description": "01", "Tags": [], "Encrypted": false, "VolumeId": "vol-0f3e2c292c52b85c3", "State": "completed", "VolumeSize": 8, "StartTime": "2021-11-16T07:50:08.042Z", "Progress": "100%", "OwnerId": "123456789012", "SnapshotId": "snap-024f49fe8dd853fa8" } ] }
  4. 이전 명령의 출력을 사용하여 스냅샷을 생성 시간별로 최초부터 최신까지 정렬합니다. 각 스냅샷에 대한 StartTime 응답 파라미터는 UTC 시간 형식으로 생성 시간을 나타냅니다.

    예를 들어 생성 시간별로 최초부터 최신까지 정렬된 이전 단계에서 반환된 스냅샷은 다음과 같습니다.

    1. snap-08ca60083f86816b0(최초 - 아카이빙할 스냅샷 전에 생성됨)

    2. snap-09c9114207084f0d9(아카이빙할 스냅샷)

    3. snap-024f49fe8dd853fa8(최신 - 아카이빙하려는 스냅샷 후에 생성됨)

  5. 아카이빙할 스냅샷 직전과 직후에 생성된 스냅샷을 식별합니다. 이 경우 3개의 스냅샷 세트에서 생성된 것 중 두 번째 증분 스냅샷인 snap-09c9114207084f0d9를 아카이빙하려고 합니다. 스냅샷 snap-08ca60083f86816b0은 직전에 생성되었으며 스냅샷 snap-024f49fe8dd853fa8은 직후에 생성되었습니다.

  6. 아카이빙할 스냅샷에서 참조되지 않은 데이터를 찾습니다. 먼저 아카이빙할 스냅샷 직전에 생성된 스냅샷과 아카이빙할 스냅샷 간에 다른 블록을 찾습니다. list-changed-blocks 명령을 사용합니다. --first-snapshot-id에서 아카이빙할 스냅샷 직전에 생성된 스냅샷의 ID를 지정합니다. --second-snapshot-id에서 아카이빙할 스냅샷의 ID를 지정합니다.

    $ aws ebs list-changed-blocks --first-snapshot-id snapshot_created_before --second-snapshot-id snapshot_to_archive

    예를 들어 다음 명령은 스냅샷 snap-08ca60083f86816b0(아카이빙할 스냅샷 전에 생성된 스냅샷)과 스냅샷 snap-09c9114207084f0d9(아카이빙할 스냅샷) 간에 다른 블록에 대한 블록 인덱스를 보여줍니다.

    $ aws ebs list-changed-blocks --first-snapshot-id snap-08ca60083f86816b0 --second-snapshot-id snap-09c9114207084f0d9

    다음은 일부 블록이 생략된 명령 출력을 보여줍니다.

    { "BlockSize": 524288, "ChangedBlocks": [ { "FirstBlockToken": "ABgBAX6y+WH6Rm9y5zq1VyeTCmEzGmTT0jNZG1cDirFq1rOVeFbWXsH3W4z/", "SecondBlockToken": "ABgBASyx0bHHBnTERu+9USLxYK/81UT0dbHIUFqUjQUkwTwK5qkjP8NSGyNB", "BlockIndex": 4 }, { "FirstBlockToken": "ABgBAcfL+EfmQmlNgstqrFnYgsAxR4SDSO4LkNLYOOChGBWcfJnpn90E9XX1", "SecondBlockToken": "ABgBAdX0mtX6aBAt3EBy+8jFCESMpig7csKjbO2Ocd08m2iNJV2Ue+cRwUqF", "BlockIndex": 5 }, { "FirstBlockToken": "ABgBAVBaFJmbP/eRHGh7vnJlAwyiyNUi3MKZmEMxs2wC3AmM/fc6yCOAMb65", "SecondBlockToken": "ABgBAdewWkHKTcrhZmsfM7GbaHyXD1Ctcn2nppz4wYItZRmAo1M72fpXU0Yv", "BlockIndex": 13 }, { "FirstBlockToken": "ABgBAQGxwuf6z095L6DpRoVRVnOqPxmx9r7Wf6O+i+ltZ0dwPpGN39ijztLn", "SecondBlockToken": "ABgBAUdlitCVI7c6hGsT4ckkKCw6bMRclnV+bKjViu/9UESTcW7CD9w4J2td", "BlockIndex": 14 }, { "FirstBlockToken": "ABgBAZBfEv4EHS1aSXTXxSE3mBZG6CNeIkwxpljzmgSHICGlFmZCyJXzE4r3", "SecondBlockToken": "ABgBAVWR7QuQQB0AP2TtmNkgS4Aec5KAQVCldnpc91zBiNmSfW9ouIlbeXWy", "BlockIndex": 15 }, ..... { "SecondBlockToken": "ABgBAeHwXPL+z3DBLjDhwjdAM9+CPGV5VO5Q3rEEA+ku50P498hjnTAgMhLG", "BlockIndex": 13171 }, { "SecondBlockToken": "ABgBAbZcPiVtLx6U3Fb4lAjRdrkJMwW5M2tiCgIp6ZZpcZ8AwXxkjVUUHADq", "BlockIndex": 13172 }, { "SecondBlockToken": "ABgBAVmEd/pQ9VW9hWiOujOAKcauOnUFCO+eZ5ASVdWLXWWC04ijfoDTpTVZ", "BlockIndex": 13173 }, { "SecondBlockToken": "ABgBAT/jeN7w+8ALuNdaiwXmsSfM6tOvMoLBLJ14LKvavw4IiB1d0iykWe6b", "BlockIndex": 13174 }, { "SecondBlockToken": "ABgBAXtGvUhTjjUqkwKXfXzyR2GpQei/+pJSG/19ESwvt7Hd8GHaUqVs6Zf3", "BlockIndex": 13175 } ], "ExpiryTime": 1637648751.813, "VolumeSize": 8 }

    그런 다음 동일한 명령을 사용하여 아카이빙할 스냅샷과 그 직후에 생성된 스냅샷 간에 다른 블록을 찾습니다. --first-snapshot-id에서 아카이빙할 스냅샷의 ID를 지정합니다. --second-snapshot-id에서 아카이빙할 스냅샷 직후에 생성된 스냅샷의 ID를 지정합니다.

    $ aws ebs list-changed-blocks --first-snapshot-id snapshot_to_archive --second-snapshot-id snapshot_created_after

    예를 들어 다음 명령은 스냅샷 snap-09c9114207084f0d9(아카이빙할 스냅샷)와 스냅샷 snap-024f49fe8dd853fa8(아카이빙할 스냅샷 후에 생성된 스냅샷) 간에 다른 블록의 블록 인덱스를 보여줍니다.

    $ aws ebs list-changed-blocks --first-snapshot-id snap-09c9114207084f0d9 --second-snapshot-id snap-024f49fe8dd853fa8

    다음은 일부 블록이 생략된 명령 출력을 보여줍니다.

    { "BlockSize": 524288, "ChangedBlocks": [ { "FirstBlockToken": "ABgBAVax0bHHBnTERu+9USLxYK/81UT0dbSnkDk0gqwRFSFGWA7HYbkkAy5Y", "SecondBlockToken": "ABgBASEvi9x8Om7Htp37cKG2NT9XUzEbLHpGcayelomSoHpGy8LGyvG0yYfK", "BlockIndex": 4 }, { "FirstBlockToken": "ABgBAeL0mtX6aBAt3EBy+8jFCESMpig7csfMrI4ufnQJT3XBm/pwJZ1n2Uec", "SecondBlockToken": "ABgBAXmUTg6rAI+v0LvekshbxCVpJjWILvxgC0AG0GQBEUNRVHkNABBwXLkO", "BlockIndex": 5 }, { "FirstBlockToken": "ABgBATKwWkHKTcrhZmsfM7GbaHyXD1CtcnjIZv9YzisYsQTMHfTfh4AhS0s2", "SecondBlockToken": "ABgBAcmiPFovWgXQio+VBrxOqGy4PKZ9SAAHaZ2HQBM9fQQU0+EXxQjVGv37", "BlockIndex": 13 }, { "FirstBlockToken": "ABgBAbRlitCVI7c6hGsT4ckkKCw6bMRclnARrMt1hUbIhFnfz8kmUaZOP2ZE", "SecondBlockToken": "ABgBAXe935n544+rxhJ0INB8q7pAeoPZkkD27vkspE/qKyvOwpozYII6UNCT", "BlockIndex": 14 }, { "FirstBlockToken": "ABgBAd+yxCO26I+1Nm2KmuKfrhjCkuaP6LXuol3opCNk6+XRGcct4suBHje1", "SecondBlockToken": "ABgBAcPpnXz821NtTvWBPTz8uUFXnS8jXubvghEjZulIjHgc+7saWys77shb", "BlockIndex": 18 }, ..... { "SecondBlockToken": "ABgBATni4sDE5rS8/a9pqV03lU/lKCW+CTxFl3cQ5p2f2h1njpuUiGbqKGUa", "BlockIndex": 13190 }, { "SecondBlockToken": "ABgBARbXo7zFhu7IEQ/9VMYFCTCtCuQ+iSlWVpBIshmeyeS5FD/M0i64U+a9", "BlockIndex": 13191 }, { "SecondBlockToken": "ABgBAZ8DhMk+rROXa4dZlNK45rMYnVIGGSyTeiMli/sp/JXUVZKJ9sMKIsGF", "BlockIndex": 13192 }, { "SecondBlockToken": "ABgBATh6MBVE904l6sqOC27s1nVntFUpDwiMcRWGyJHy8sIgGL5yuYXHAVty", "BlockIndex": 13193 }, { "SecondBlockToken": "ABgBARuZykaFBWpCWrJPXaPCneQMbyVgnITJqj4c1kJWPIj5Gn61OQyy+giN", "BlockIndex": 13194 } ], "ExpiryTime": 1637692677.286, "VolumeSize": 8 }
  7. 이전 단계의 두 명령에서 반환되는 출력을 비교합니다. 두 명령 출력 모두에 동일한 블록 인덱스가 나타나면 블록에 참조되지 않은 데이터가 포함되어 있는 것입니다.

    예를 들어 이전 단계의 명령 출력은 블록 4, 5, 13 및 14가 스냅샷 snap-09c9114207084f0d9에 대해 고유하며 스냅샷 계보의 다른 스냅샷에서 참조하지 않음을 나타냅니다.

    표준 계층 스토리지의 감소를 확인하려면 두 명령 출력에 나타나는 블록 수에 스냅샷 블록 크기인 512KiB를 곱합니다.

    예를 들어 두 명령 출력에 9,950개의 블록 인덱스가 나타나면 표준 계층 스토리지가 약 4.85GiB(9,950개 블록* 512KiB = 4.85GiB) 감소한다는 것을 나타냅니다.

  8. 참조되지 않은 블록을 표준 계층에 90일 동안 저장하는 데 드는 스토리지 비용을 결정합니다. 이 값을 1단계에서 설명한 전체 스냅샷을 아카이브 계층에 저장하는 비용과 비교합니다. 최소 90일 동안 아카이브 계층에서 전체 스냅샷을 복원하지 않는다고 가정하면 값을 비교하여 비용 절감액을 확인할 수 있습니다. 자세한 내용은 요금 및 결제 단원을 참조하십시오.