Amazon EBS Snapshots Archive の制約事項と AMI をアーカイブするために検討したことをまとめました

AMIはアーカイブできません
2023.04.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AMI に関連付けられているスナップショットで EBS Snapshots Archive を利用する方法を調査する機会がありました。制約事項と、検証した内容を紹介します。

確認結果

以下のドキュメントから制約事項を確認できます。AMI のアーカイブ化を検討する上で重要だった項目を取り上げます。

Archive Amazon EBS snapshots - Amazon Elastic Compute Cloud

  1. AMI に関連付けられているスナップショットをアーカイブにすることはできない
  2. AWS Backup で作成したスナップショットはアーカイブにすることはできない

AMI に関連付けられていなければ EBS Snapshots Archive を利用することはできます。そのため AMI を解除するか、AMI からスナップショットへコピーすれば EBS Snapshots Archive は利用可能です。ただし、AMI ではなくなるため EC2 としての構成情報は失われ、インスタンスとして復元できませんので注意してください。

制約事項の調査

EBS Snapshots Archiveには制約事項があります。よく知られているのはフルスナップショットへ変換されるため、コスト削減目的で使用する場合にでも逆にコストが高くなる可能性があります。

その点を考慮し、ライフルサイクルマネージャーから EBS Snapshots Archive を利用する場合の制約事項に28日以上の取得間隔となっています。

AMI のアーカイブはできるの?

文字通りスナップショットをアーカイブしてくれるわけですが AMI の場合はどうなのでしょうか?

ドキュメントを確認すると以下の記述を確認できます。AMI に関連付けられているスナップショットはアーカイブできません。

You can't archive snapshots that are associated with an Amazon EBS-backed AMI.

Archive Amazon EBS snapshots - Amazon Elastic Compute Cloud

AMI に関連付けられているスナップショットはアーカイブできないことを確認できました。

確認作業としては十分なのですが、仮に月次、年次などの長期スパンで定期取得している AMI のコストを抑える方法はないのだろうか?と気になりました。EBS Snapshots Archive を検証し方法を探ってみます。

検証してみる

検証のために EC2 を用意します。EC2 の構成はルートデバイスボリュームの EBS と、追加で1つ EBS をアタッチし、AMI と、EBS 個別にスナップショットを取得しました。

AMI は1個でもスナップショットは EBS の個数分(2つ)のスナップショットが生成されます。

AMI に関連付けられたスナップショット編

AMI に関連付けられたスナップショットをアーカイブにしてみます。

フルスナップショット(完全なコピー)になる旨の注釈が表示されました。アーカイブを続行します。

アーカイブ処理に失敗しました。AMI の hogehoge で使われているとメッセージも載っていますね。期待通りの動作です。

AMI に関連付けられていないスナップショット編

同様の手順で AMI に関連づけられていないスナップショットをアーカイブします。正常に処理が実行されます。こちらも期待通りの動作です。

アーカイブの進行中とステータスが表示されました。

AMI に関連付けを解除してみた編

AMI に関連付いたスナップショットの AMI を解除または、スナップショットをコピーすれば AMI に関連付けられていないスナップショットになるはずです。その状態であれば問題なくアーカイブできるのか試してみます。AMI を解除してもよいのですがここでは AMI で取得したスナップショットからスナップショットのコピーで複製したスナップショットを対象に確認します。

先ほど AMI 関連付いているためアーカイブに失敗したスナップショットを選択し、スナップショットをコピーします。

スナップショット2つ分のコピーを作成しました。

これらスナップショットに対してアーカイブを実行すると成功します。期待通りです。

スナップショットをアーカイブ方法まとめ

月次、年次などの長期スパンで定期取得している AMI のコストを抑えるために EBS Snapshots Archive の利用を検討する場合は、AMI の関連付けを解除するしかありませんでした。

コスト削減のためアーカイブしたい場合はスナップショット単体として保存することになるため、AMI としてのインスタンスの構成情報を失います。

EC2 インスタンスとしての起動は必要なく、スナップショットから復元した EBS を EC2 にアタッチし必要なデータを回収もでも良い要件であればコスト削減の手段として一考の余地ありではないでしょうか。また、それが可能であれば S3 へ必要データ退避もできないかご検討ください。

どのような方法でも事前に検証は必要になります。

検証のために意図しない AMI の誤削除を防ぐために Recycle Bin(ごみ箱)の設定有効化もご検討いただくとよろしいかと思います。

おわりに

AWS Backup で取得したスナップショットは EBS Snapshots Archive にできないのは意外でした。AWS Backup 側でライフルサイクル管理している都合なのでしょうかね。今回試した方法と同様にスナップショットをコピーすれば問題ないかと思われます。

参考