#はじめに
AMIを削除した後、EBSスナップショットが残り続けて余計な料金が発生し続けたことが過去にあったので、備忘録の意味も含めて載せておきたいと思います。
#AMIとは
AMI(Amazon Machine Image)とは、EC2インスタンスを起動する際に必要な、OSやボリューム、アプリケーションなどを含むテンプレートです。AMIには以下の情報が含まれています。
①1 つまたは複数の Amazon Elastic Block Store (Amazon EBS) スナップショット、または、instance-store-backed AMI、インスタンスのルートボリュームのテンプレート (オペレーティングシステム、アプリケーションサーバー、アプリケーションなど)
②AWS アカウントが AMI を使用してインスタンスを起動可能にするための起動許可
③インスタンスの起動時にインスタンスにアタッチするボリュームを指定するブロックデバイスマッピング
参考:Amazon マシンイメージ (AMI)
####AMIの利用料金について
前述の①の説明にある通りAMIはEBSスナップショットも含んでいるため、既存のEC2からAMIを作成した際には必ずEBSスナップショットが作成されます。
そしてEBSスナップショットにはサイズと保持期間に対して利用料金がかかります。
参考:EBSスナップショットの利用料金
つまりAMI自体に料金は発生しないけど、作成した際にセットで作られるEBSスナップショットに利用料金が発生してしまうのです。
#EBSスナップショットが作られることの確認
AMIを作成すると同時にEBSスナップショットが作られることを実際に確認してみます。
ここではテスト用のEC2インスタンスを用意しました。
このEC2インスタンスには、[/dev/xvda]と[/dev/sdb]のデバイス名で2つのEBSボリュームがアタッチされています。
この状態で、アクションボタンからAMIを作成してみます。(途中の過程は省略します)
ステータスがavailableとなり、AMIの作成が完了しました。
これと同時に、EBSスナップショットが作成されていることも見て取れます。
#AMIの削除
今度はAMIの削除を行ってみます。
アクションボタンから、登録解除を選択すると、AMIを削除することが出来ます。
しかし、EBSスナップショットの一覧を確認してみると、AMIに紐づいてたスナップショットは依然として残ったままです。
つまりAMIを削除しただけでは、EBSスナップショットは消えてくれず、料金が加算され続けてしまうのです。
####EBSスナップショットの削除
このままでは料金が加算され続けてしまうので、スナップショットの削除も行います。
アクションボタンから、削除を選択すると、EBSスナップショットを削除することが出来ます。
#追記
AMIを削除する前にEBSスナップショットを削除しようとすると、下記のエラーが発生します。
これはAMIがEBSスナップショットと紐づいているからであり、仮にEBSスナップショットを削除してしまうとそのAMIはもう使えなくなってしまうためです。
従って削除を行う際は、必ずAMI→EBSスナップショットの順番で削除するようにしましょう。