Linee guida e best practice per l'archiviazione degli snapshot di Amazon EBS - Amazon EBS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Linee guida e best practice per l'archiviazione degli snapshot di Amazon EBS

In questa sezione vengono fornite alcune linee guida e best practice per l'archiviazione degli snapshot.

Archiviazione dell'unico snapshot di un volume

Quando si ha un solo snapshot di un volume, lo snapshot ha sempre le stesse dimensioni dei blocchi scritti nel volume al momento della creazione dello snapshot. Quando si archivia tale snapshot, lo snapshot nel livello standard viene convertito in uno snapshot completo di dimensioni equivalenti e viene spostato dal livello standard al livello archivio.

L'archiviazione di questi snapshot può aiutare a risparmiare grazie ai costi di archiviazione ridotti. Se il volume di origine non è più necessario, è possibile eliminare il volume e ottenere così ulteriori risparmi sui costi di archiviazione.

Creazione di uno snapshot, archiviazione ed eliminazione del volume di origine.

Archiviazione di snapshot incrementali di un singolo volume

Quando si archivia uno snapshot incrementale, lo snapshot viene convertito in uno snapshot completo e viene spostato nel livello di archivio. Ad esempio, nell'immagine seguente, se si archivia Snap B, lo snapshot viene convertito in uno snapshot completo di dimensioni di 10 GiB e spostato nel livello di archivio. Analogamente, se si archivia Snap C, la dimensione dello snapshot completo nel livello archivio sarà 14 GiB.

Archiviazione di snapshot incrementali di un volume.

Se si stanno archiviando snapshot per ridurre i costi di archiviazione nel livello standard, non è necessario archiviare il primo snapshot in una serie di snapshot incrementali. A questi snapshot fanno riferimento gli snapshot successivi nella derivazione dello snapshot. Nella maggior parte dei casi, l'archiviazione di questi snapshot non riduce i costi di archiviazione.

Nota

Non è necessario archiviare l'ultimo snapshot in una serie di snapshot incrementali. L'ultimo snapshot è lo snapshot del volume acquisito più di recente. Questo snapshot è necessario nel livello standard se si desidera creare volumi da esso in caso di danneggiamento o perdita del volume.

Se si archivia uno snapshot contenente dati a cui fa riferimento uno snapshot successivo nella derivazione, l'archiviazione dati e i costi di archiviazione associati ai dati di riferimento vengono allocati allo snapshot successivo della derivazione. In questo caso, l'archiviazione dello snapshot non riduce l'archiviazione dati o i costi di archiviazione. Ad esempio, nell'immagine precedente, se archivi Snap B, i 4 GiB dei relativi dati vengono attribuiti a Snap C. In questo caso, i costi di archiviazione complessivi aumenteranno perché sostieni i costi di archiviazione per la versione completa di Snap B nel livello di archivio, mentre i costi di archiviazione per il livello standard rimangono invariati.

Se si archivia Snap C, l'archiviazione di livello standard diminuirà di 4 GiB perché ai dati non fanno riferimento altri snapshot più avanti nella derivazione. E l'archiviazione del livello archivio aumenterà di 14 GiB perché lo snapshot viene convertito in uno snapshot completo.

Archiviazione di snapshot completi per motivi di conformità

Potrebbe essere necessario creare backup completi dei volumi su base mensile, trimestrale o annuale per motivi di conformità. Per questi backup, potrebbero essere necessari snapshot autonomi senza riferimenti all'indietro o in avanti ad altri snapshot nella derivazione dello snapshot. Le istantanee archiviate con EBS Snapshots Archive sono istantanee complete e non contengono riferimenti ad altre istantanee della stessa generazione. Inoltre, è probabile che sia necessario mantenere questi snapshot per diversi anni, per motivi di conformità. EBSSnapshots Archive rende conveniente l'archiviazione di queste istantanee complete per la conservazione a lungo termine.

Determinazione della riduzione dei costi di archiviazione a livello standard

Se si desidera archiviare uno snapshot incrementale per ridurre i costi di archiviazione, è necessario considerare la dimensione dello snapshot completo nel livello archivio e la riduzione dell'archiviazione nel livello standard. In questa sezione viene descritto come eseguire questa operazione.

Importante

Le API risposte sono dati accurati nel momento in point-in-time cui vengono chiamate. APIs APIle risposte possono differire in quanto i dati associati a un'istantanea cambiano a seguito di cambiamenti nella derivazione delle istantanee.

Per determinare la riduzione dei costi di archiviazione e archiviazione nel livello standard, attenersi alla seguente procedura.

  1. Controllo dimensioni dello snapshot completo. Per determinare la dimensione completa dell'istantanea, utilizzare il comando. list-snapshot-blocks Per --snapshot-id, specificare l'ID dello snapshot che si desidera archiviare.

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

    Restituisce informazioni su tutti i blocchi nello snapshot specificato. La BlockIndex dell'ultimo blocco restituito dal comando indica il numero di blocchi nello snapshot. Il numero di blocchi moltiplicati per 512 KiB, ovvero la dimensione del blocco snapshot, fornisce un'approssimazione delle dimensioni dello snapshot completo nel livello archivio (blocchi * 512 KiB = dimensione dello snapshot completo).

    Ad esempio, il comando seguente elenca i blocchi per lo snapshot snap-01234567890abcdef.

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

    Di seguito è riportato l'output del comando, con alcuni blocchi omessi. Il seguente output indica che lo snapshot include circa 16.383 blocchi di dati. Ciò si riferisce a una dimensione completa dello snapshot di circa 8 GiB (16.383 * 512 KiB = 7,99 GiB).

    { "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. Individuare il volume di origine da cui è stato creato lo snapshot da archiviare. Utilizzare il comando describe-snapshots. Per --snapshot-id, specificare l'ID dello snapshot che si desidera archiviare. Il parametro di risposta VolumeId indica l'ID del volume di origine.

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

    Ad esempio, il seguente comando visualizza le informazioni sullo snapshot snap-09c9114207084f0d9.

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

    Di seguito è riportato l'output del comando, che indica che lo snapshot snap-09c9114207084f0d9 è stato creato dal volume 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. Individuare tutti gli snapshot creati dal volume di origine. Utilizzare il comando describe-snapshots. Specificare il filtro volume-id e, per il valore del filtro, specificare l'ID del volume del passaggio precedente.

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

    Ad esempio, il comando seguente restituisce tutti gli snapshot creati dal volume vol-0f3e2c292c52b85c3.

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

    Di seguito è riportato l'output del comando, che indica che dal volume vol-0f3e2c292c52b85c3 sono stati creati tre snapshot.

    { "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. Utilizzando l'output del comando precedente, ordinare gli snapshot in base all'ora di creazione, dal più vecchio al più recente. Il parametro di StartTime risposta per ogni istantanea indica l'ora di creazione, in formato UTC orario.

    Ad esempio, gli snapshot restituiti nel passaggio precedente, disposti in base all'ora di creazione, dal più vecchio al più recente, sono i seguenti:

    1. snap-08ca60083f86816b0 (prima — creato prima dello snapshot che intendi archiviare)

    2. snap-09c9114207084f0d9 (lo snapshot da archiviare)

    3. snap-024f49fe8dd853fa8 (più recente – creato dopo lo snapshot che desideri archiviare)

  5. Identificare gli snapshot creati immediatamente prima e dopo lo snapshot che si desidera archiviare. In questo caso, si desidera archiviare lo snapshot snap-09c9114207084f0d9, ovvero il secondo snapshot incrementale creato nella serie di tre snapshot. Lo snapshot snap-08ca60083f86816b0 è stato creato immediatamente prima e snapshot snap-024f49fe8dd853fa8 è stato creato subito dopo.

  6. Trova i dati non referenziati nello snapshot che intendi archiviare. Innanzitutto, individuare i blocchi diversi tra lo snapshot creato immediatamente prima dello snapshot che si desidera archiviare e lo snapshot che si desidera archiviare. Usa il list-changed-blockscomando. Per --first-snapshot-id, specificare l'ID dello snapshot creato immediatamente prima dello snapshot da archiviare. Per --second-snapshot-id, specificare l'ID dello snapshot che si desidera archiviare.

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

    Ad esempio, il comando seguente mostra gli indici di blocco per i blocchi diversi tra lo snapshot snap-08ca60083f86816b0 (lo snapshot creato prima dello snapshot che desideri archiviare) e lo snapshot snap-09c9114207084f0d9 (lo snapshot che desideri archiviare).

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

    Di seguito viene illustrato l'output del comando, con alcuni blocchi omessi.

    { "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 }

    Successivamente, utilizzare lo stesso comando per trovare blocchi diversi tra lo snapshot che si desidera archiviare e lo snapshot creato immediatamente dopo. Per --first-snapshot-id, specificare l'ID dello snapshot che si desidera archiviare. Per --second-snapshot-id, specificare l'ID dello snapshot creato immediatamente dopo lo snapshot da archiviare.

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

    Ad esempio, il comando seguente mostra gli indici di blocco dei blocchi diversi tra le snapshot snap-09c9114207084f0d9 (lo snapshot che si vuole archiviare) e snapshot snap-024f49fe8dd853fa8 (lo snapshot creato dopo lo snapshot che si intende archiviare).

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

    Di seguito viene illustrato l'output del comando, con alcuni blocchi omessi.

    { "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. Confrontare l'output restituito da entrambi i comandi nella fase precedente. Se lo stesso indice di blocco viene visualizzato in entrambi gli output dei comandi, indica che il blocco contiene dati non referenziati.

    Ad esempio, l'output del comando nel passaggio precedente indica che i blocchi 4, 5, 13 e 14 sono univoci per lo snapshot snap-09c9114207084f0d9 e che non sono utilizzati come riferimento da nessun altro snapshot nella derivazione dello snapshot.

    Per determinare la riduzione dello spazio di archiviazione a livello standard, moltiplica il numero di blocchi visualizzati in entrambi gli output dei comandi per 512 KiB, ovvero la dimensione del blocco snapshot.

    Ad esempio, se in entrambi gli output dei comandi vengono visualizzati 9.950 indici di blocco, allora l'archiviazione del livello standard sarà ridotta di circa 4,85 GiB (9.950 blocchi * 512 KiB = 4,85 GiB).

  8. Determinare i costi di archiviazione per l'archiviazione dei blocchi senza riferimento nel livello standard per 90 giorni. Confrontare questo valore con il costo di archiviazione dello snapshot completo, descritto nella fase 1, nel livello archivio. È possibile determinare il risparmio sui costi confrontando i valori, supponendo di non ripristinare lo snapshot completo dal livello archivio durante il periodo minimo di 90 giorni. Per ulteriori informazioni, consulta Prezzi e fatturazione per l'archiviazione degli snapshot di Amazon EBS.