Glacierに移動する必要がある何百もの大きなEBSスナップショットがあります。
これを行うための最善の方法は何ですか?
Amazon EBS 確かには、Amazon S3に永続化されるボリュームのポイントインタイムスナップショットを作成する機能を提供します、この操作はユーザーの制御外にあり、EC2によって完全に処理されます。それぞれのFAQ 通常のAmazon S3 APIを使用して自分のスナップショットにアクセスできますか? を参照してください。
いいえ、スナップショットはAmazon EC2 APIを介してのみ利用できます。
したがって、これらのアクセスできないスナップショットをバッキングAmazon S3ストレージから Amazon Glacier に移動することもできません。これは、AWSが将来的に機能を直接提供する場合にのみ可能です。最近有効にされた Amazon S3データのAmazon Glacierへのアーカイブ と同様の方法で Object Lifecycle Management を使用します。
EBSスナップショットをGlacierに移動することはできません。また、そこに保存しても意味がありません。 EBSスナップショットは増分であるため、各スナップショットは通常、以前の多くのスナップショットに保存されているデータを指します。 Glacierからのオブジェクトの取得には非常に長い時間がかかるため、EBSスナップショットをGlacierに移動できたとしても、Glacierからスナップショットに含まれるデータを復元することは、実際には使用できないシナリオです。 Glacierのアーカイブは、ファイルを使用するとうまく機能します。必要なファイルをGlaciersにコピーまたはバックアップして、後で取得できるようにします。
Amazonにはこれを行う機能がありません。ただし、スナップショットのインクリメンタルな性質によるスペース節約の利点を失うことを気にしない場合は、スナップショットを一時的なEBSボリュームに変換し、コンテンツをtarにして、そのtarをS3にアップロードします。 S3バケットライフサイクルルールを使用してGlacierに自動的に移行されます。
このプロセスを自動化するオープンソースツールsnap-to-s3
を開発しました。
https://github.com/thenickdude/snap-to-s
必要に応じて、dd
の代わりにtar
を使用して、代わりにボリュームのすべてのバイトを保持することを選択できます。