スナップショットによるEC2インスタンスのバックアップとレストア
渡辺です。 今日は、EC2の基本操作としてバックアップ(スナップショット)の取り方とその復元方法について説明します。
当ブログにありそうでなかったエントリーですね。 なお、AWSのコンソール画面については常に改善するようアップデートされますので、細かい所で変わっていく可能性があります。 とはいえ、本質的な操作は変わらないと思うので、対応するメニュー等はどこかにあると思います。
スナップショットの作成
はじめにスナップショットの作成、すなわちバックアップ方法を説明します。
スナップショットとは?
EC2インスタンスをバックアップするには幾つかの方法がありますが、その中で最も手軽なのがスナップショットの作成です。
EBSを丸っとコピーしていると考えてもらえれば良いでしょう。 なお、繰り返してスナップショットを取得すると、差分を保存するようにできているため、1回目のスナップショット作成はやや時間がかかり、それ以降はあまり時間がかかなりような特性があります。
インスタンスの停止
スナップショットを作成する時は、インスタンスを停止することが推奨されています。
これは、ファイルシステムが更新されている途中など、中途半端な状態でのスナップショットを作成してしまうと、復元時に問題が発生する可能性があるからです。 インスタンスを停止すれば安全にスナップショットが作成できます。
なお、インスタンスを停止したくない場合は、WebサーバやRDBなどファイルシステムを変更する可能性のあるサービスを停止してからスナップショットを作成してください。
インスタンスを停止したならば、対象のインスタンスを選択し、ROOTデバイスのEBSボリュームを表示します。 EBS IDをクリックすれば、対象のEBSが表示されます。
スナップショットの作成
EBSが表示されたならば、ActionsからCreate Snapshotを選択します。
ダイアログが表示されるので名前(Name)と説明(Description)を入力して、Createボタンをクリックしてください。
後は停止したインスタンスを起動すれば完了です。
簡単ですね。
スナップショットの復元
スナップショット(バックアップ)を復元(レストア)するには幾つかの方法がありますが、AMIを作成し、新しいインスタンスとして立ち上げるが最も簡単な方法です。
AMIの作成
AMIとは、Amazon Machine Imageの略で、EC2インスタンスを作成する時に元となるデータです。
EC2インスタンスをまっさらな状態で立ち上げる場合は、何もインストールされていない公開されたAMIを利用しています。 バックアップから復元する場合は、ある時点のスナップショットを元に非公開のAMIを作成し、そこからインスタンスを立ち上げるというわけです。 手順も簡単です。
スナップショットの一覧から対象のスナップショットを選択し、ActionsメニューからCreate Imageを選択します。
ダイアログが表示されたならば、適当な名前と説明を入力して、Createボタンをクリックしてください。 これで非公開尾AMIが作成されます。
インスタンスの立ち上げ
後はLaunchボタンをクリックし、EC2インスタンスのインスタンスタイプなどを選択していけば、インスタンスを復元することが可能です。
なお、この方法を使うことで、同じ構成を持ったEC2インスタンスを幾つもコピーしたり、スペックをあげたりすることも可能です。