EC2 Webコンソールに何百ものインスタンスがあります。
一部はシャットダウンされています。何ヶ月か何年も前に作成されたことがわかります。それらは放棄され、しばらくの間忘れられているように見えますが、それらを終了することが安全であるかどうかはわかりません。
例えばそれらは古いバックアップである可能性があります。誰かが新しいインスタンスに負荷を移行し、予防のために古いものを数週間保持した可能性があります...
それが最も安全な選択であるため、私たちはそれらのほとんどを維持することになります。
インスタンスのシャットダウン時にもEBSボリュームの料金を支払います(ただし、終了しません)。未使用のインスタンスが多数あると、時間とともに価格が上昇する可能性があります(EBSは1 TBあたり月額$ 140)。だから私はいくつかのクリーンアップをしたいと思います。
インスタンスがシャットダウンされた時間を見つけることができれば、それがいかに「放棄」されたかを示す良い指標になると思います。
インスタンスが最後にシャットダウンされたのはいつですか?
Awscliを使用する。 pip install awscli
aws ec2 describe-instances --output table --instance-id i-aef88019
出力:
||| StateTransitionReason | User initiated (2015-11-16 13:36:40 GMT) |||
[...]
|||| StateReason ||||
|||+---------+----------------------------------------------------------+|||
|||| Code | Client.UserInitiatedShutdown ||||
|||| Message| Client.UserInitiatedShutdown: User initiated shutdown ||||
インスタンスに何が起こったか、いつ確認できますか。
たとえば、これは2015年11月16日13:36:40 GMTに手動でシャットダウンされました。
それらのマシンは何年も前に作成されたとのことですが、古い種類のストレージ呼び出しinstance storeを使用しているかどうかを確認する必要があると思います。
私の経験では、インスタンスストアを備えたEC2マシンをシャットダウンする必要がある場合、唯一のオプションはそれを終了することですが、データが失われる可能性があります。
したがって、私の提案は、新しいEBSを追加してすべてのデータをバックアップし、最新の設定で新しいEC2を作成するか、単にリモートでデータをバックアップすることです。次に、古いEC2インスタンスを終了します。これにより、ストレージコストが削減されます。
お金を節約することが目的の場合は、ディスクのEBSスナップショットを作成してから、ボリュームを削除できます。
EBSスナップショットは、実際のボリュームより 低価格 で課金されます。
たとえば、US-Eastの場合:
ただし、EBSスナップショットには、使用済みブロックのストレージ領域のみが必要です。 EBSボリュームに未使用のスペースがある場合(たとえば、30 GBのうち10 GBしか使用されていない場合)、EBSスナップショットの方が安価です。
EBSボリュームがほとんどいっぱいの場合は、スナップショットを作成してから、コールドHDDEBSボリュームとして再作成できます。これは、2.5c/GBのprovisionedストレージ。