🌊
EBSスナップショットからCloud9環境復元
問題
- Cloud9経由で検証を行ったが、検証が終わったので不要になった
- ただ、見返したいことがあるかもしれないので、しばらくデータを残しておいて必要になったら起動できるようにしておきたい
- EC2インスタンスは止めてあるが、EBSボリュームのコストがかかっている
対応
- EBSスナップショットを使ってみよう
- EBSボリュームからスナップショットを作成し、EC2インスタンスとEBSボリュームを消す
- EBSスナップショットからCloud9環境を復元できることを確認する
料金
- 汎用 SSD (gp3) - ストレージ
- 0.08USD/GB 月
- EBS スナップショットのストレージ料金
- スタンダード
- 0.05USD/1 か月あたりの GB
- スタンダード
若干減りそう。
手順
- EBSボリュームからスナップショットを作成する
- EC2 > ボリューム から対象ボリュームを選択
- アクションから
スナップショットの作成
を選択
- スナップショットの作成には時間がかかった
- 中々終わらないので放置して次の日見たら終わっていた
-
スナップショットは非同期に行われます。ポイントインタイムのスナップショットはすばやく作成されますが、スナップショットが完了する (変更されたすべてのブロックが Amazon S3 に転送される) まで、スナップショットのステータスは pending です。大きな初期スナップショットや、多数のブロックが変更されている後続のスナップショットの場合は、数時間かかることがあります。
- スナップショットからCloud9環境を復元できることの確認
- スナップショットからEBSボリュームを作成
- これはすぐ終わった
- Cloud9環境の作成
- Cloud9のEC2に紐づいたEBSボリュームをデタッチ(①)
- スナップショットから作成したEBSボリュームをアタッチしようとしたができなかった
- アベイラビリティゾーンが異なったため
- Cloud9のEC2は1cに立っていたが、EBSボリュームは1aに作成してしまっていた
- アベイラビリティゾーンが異なったため
- 作成したEBSボリュームを削除して、再度スナップショットから1cに作り直し
- 削除もすぐ終わった
- Cloud9のEC2に、1cに作成したEBSボリュームをアタッチ
- デバイス名は
/dev/xvda
を選択- 一度、
/dev/sda1
を選択して Cloud9 を起動したところ失敗した-
EC2: Invalid value 'xxxxx' for instanceId. Instance does not have a volume attached at root (/dev/xvda)
と出たのでやり直した
-
- 一度、
- デバイス名は
- Cloud9を起動
-
The project settings file (.c9/project.settings ) was updated outside the IDE. If you did not make the changes we suggest reviewing the file before accepting. Do you want to accept the new settings?
のダイアログが出た- accept。問題があったらもう一回スナップショットから復元してdiscardすればいいという気持ち
- また、 https://cloud9-sdk.readme.io/docs/settings-and-preferences を見るにパネルの幅やツリーの選択状態が保存されているということなので問題はないはず
-
- 問題なく復元できてそうなことを確認した
- スナップショットからEBSボリュームを作成
- Cloud9環境を削除
- 復元用に起動したCloud9のEC2に元々紐づいていた①のEBSボリュームを削除
余談
後で調べたらAMIでも可能そうだしこちらの方が適しているようにも見える。
Cloud9環境復元用途でも使える?
コスト差あるんだろうか。
EBSボリュームはAZまたいでアタッチできないというやつ、SAAの問題であったので、アァあれはこういう事かとなった。
Discussion