ぺい

渋谷系アドテクエンジニアの落書き

AWS EC2バックアップ

EC2でよくやるアレ

検証したい時とかによくやるので、自分のためにメモがてらにまとめた。

SnapshotからAMI

f:id:tikasan0804:20180611205512p:plain バックアップしたいインスタンスIDをメモしておく

f:id:tikasan0804:20180611205515p:plain 該当のEBSを見つけて

f:id:tikasan0804:20180611205518p:plain スナップショットを取る

f:id:tikasan0804:20180611205525p:plain 適当な名前をつける(日付とか用途を入れるとgood)

f:id:tikasan0804:20180611210227p:plain 完了画面で出てくるスナップショットのリンクを押すと作ったやつが出てくる

f:id:tikasan0804:20180611205532p:plain スナップショットからAMIを焼く

f:id:tikasan0804:20180611205538p:plain 適宜設定する
Linux AMI 仮想化タイプ - Amazon Elastic Compute Cloud
仮想化タイプについては、HVM(ハードウェアアシストの仮想化)とPV(準仮想化)があるっぽいですが、HVM方式のがパフォーマンス良くて、利用料金が安いみたいです。
ちなみに、EBSのボリューム内容が違ったりするので、PVからHVMに切り替えるとかが出来ないみたいなので、特別PV使いたい理由が無ければHVMが無難っぽい。

f:id:tikasan0804:20180611205544p:plain 作成したAMIからEC2インスタンス作成

EC2から直接AMI

f:id:tikasan0804:20180611205546p:plain インスタンス選んでイメージ作成で後は適宜設定する

スナップショットからAMI焼くべき?

特別理由が無ければ、スナップショットからAMIを焼く方がいいっぽい。

何故か?という理由とかは上のリンクで大体説明してくれている。この記事では、スナップショットとAMIの違いについて簡単におさらいしてみる。

  • スナップショット:EBSのある瞬間の状態のコピー
  • AMI:EC2インスタンスを作る時に使うディスクイメージ

EC2インスタンスはディスクボリュームとして、「EBS (Elastic Block Store)」というストレージ・デバイスを使っている。このEBSにスナップショットという、ある瞬間の状態を保存する機能があります。

スナップショットは非常に便利で、2回目以降に作成するスナップショットは増分だけを保存してくれます。よって、複数のスナップショットを作成したとしても増分の保存だけで済みます。ちなみに、このスナップショットは、AWSのS3に保存されているので、安心感はある。(イレブン・ナインの堅牢性)

AMIはスナップショットのような増分バックアップとかは出来ません。まるごとイメージにして焼くので、容量的にあまりおいしくないです。ただ、上に貼ったリンクのように、特定の条件下では威力を発揮するようです。

注意点

  • スナップショットは、EC2インスタンスが稼働中でも作成出来ますが、書き込み途中でスナップショットが取られる可能性がある。(稼働中の場合は、整合性は保証されない)
  • リストア時のセキュリティグループは、デフォルトになるので、適宜設定する必要がある(インスタンス作成時に設定出来る)