

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

# Amazon EBS 스냅샷 아카이빙 지침 및 모범 사례
<a name="archiving-guidelines"></a>

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

**Topics**
+ [볼륨의 유일한 스냅샷 아카이빙](#guidelines-single-snapshot)
+ [단일 볼륨의 증분 스냅샷 아카이빙](#guidelines-incremental-snapshot)
+ [규정 준수를 위해 전체 스냅샷 아카이빙](#guidelines-full-snapshot)
+ [표준 계층 스토리지 비용 절감 결정](#archive-guidelines)

## 볼륨의 유일한 스냅샷 아카이빙
<a name="guidelines-single-snapshot"></a>

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

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

![\[스냅샷을 생성하고 아카이빙한 다음 소스 볼륨을 삭제합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/archive-single-snap.png)


## 단일 볼륨의 증분 스냅샷 아카이빙
<a name="guidelines-incremental-snapshot"></a>

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

![\[볼륨의 증분 스냅샷 아카이빙\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/snapshot_1e.png)


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

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

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

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

## 규정 준수를 위해 전체 스냅샷 아카이빙
<a name="guidelines-full-snapshot"></a>

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

## 표준 계층 스토리지 비용 절감 결정
<a name="archive-guidelines"></a>

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

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

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

1. 아카이빙할 스냅샷에 대해 전체 스냅샷 크기와 해당 스냅샷이 생성된 소스 볼륨을 확인합니다. [describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 명령을 사용하고 `--snapshot-id`에 아카이빙할 스냅샷의 ID를 지정합니다.

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

   `FullSnapshotSizeInBytes` 응답 값은 전체 스냅샷 크기를 바이트 단위로 나타내며 `VolumeId` 응답 값은 소스 볼륨의 ID를 나타냅니다.

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

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

   다음 예제 출력은 전체 스냅샷 크기가 `5678912341`바이트(5.28GiB)이고 소스 볼륨이 `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", 
               "FullSnapshotSizeInBytes" : "5678912341",
               "SnapshotId": "snap-09c9114207084f0d9"
           }
       ]
   }
   ```

1. 소스 볼륨에서 생성된 모든 스냅샷을 찾습니다. [describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 명령을 사용합니다. `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"
           }
       ]
   }
   ```

1. 이전 명령의 출력을 사용하여 스냅샷을 생성 시간별로 가장 오래된 항목에서 최신 항목 순으로 정렬합니다. 각 스냅샷에 대한 `StartTime` 응답 파라미터는 UTC 시간 형식으로 생성 시간을 나타냅니다.

   예를 들어 생성 시간별로 가장 오래된 항목에서 최신 항목 순으로 정렬된 이전 단계에서 반환된 스냅샷은 다음과 같습니다.

   1. `snap-08ca60083f86816b0`(가장 오래된 항목 - 아카이빙할 스냅샷 전에 생성됨)

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

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

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

1. 아카이빙할 스냅샷에서 참조되지 않은 데이터를 찾습니다. 먼저 아카이빙할 스냅샷 직전에 생성된 스냅샷과 아카이빙할 스냅샷 간에 다른 블록을 찾습니다. [list-changed-blocks](https://docs.aws.amazon.com/cli/latest/reference/ebs/list-changed-blocks.html) 명령을 사용합니다. `--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
   }
   ```

1. 이전 단계의 두 명령에서 반환되는 출력을 비교합니다. 두 명령 출력 모두에 동일한 블록 인덱스가 나타나면 블록에 참조되지 않은 데이터가 포함되어 있는 것입니다.

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

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

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

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