EC2 instance snapshot and restore #ec2

# EC2 instance :camera: snapshot and :recycle: restore
## :musical_score: 概要
EC2 の Instance のスナップショットを取得し, リストアします。

※既出情報ですが、この後に api を利用した自動化の記事を掲載する前段として記事化します

## :scroll: snapshot 取得手順
### :baby::id:  Instance IDの取得
* EC2管理コンソールの Instances を選択

![ec2_snapshot_restore1.png](https://qiita-image-store.s3.amazonaws.com/0/43480/3440a8c7-2a9b-89d5-297f-bc6dbf33fd76.png)

* 対象 Instance の Instance ID をコピーしておく

### :camera: Snapshot の作成
* EC2管理コンソールの Volumes を選択
* コピーしておいた Instance ID で検索

![ec2_snapshot_restore2.png](https://qiita-image-store.s3.amazonaws.com/0/43480/f4745936-b90d-c52e-ce8a-7ce417d12d57.png)

* 検索結果を右クリックしてメニューを表示
* Create Snapshot を選択。ダイアログが表示されます

![ec2_snapshot_restore3.png](https://qiita-image-store.s3.amazonaws.com/0/43480/cab16430-032a-e543-ee68-8d77476d6b33.png)

* Name と Description に任意の値を設定して Create を選択します

![ec2_snapshot_restore4.png](https://qiita-image-store.s3.amazonaws.com/0/43480/558b6264-af6f-aea8-3383-6116d97f7772.png)

* Snapshot の作成が開始されます

![ec2_snapshot_restore5.png](https://qiita-image-store.s3.amazonaws.com/0/43480/3db8540a-33f0-985f-d4f6-ff235e3e456f.png)

* Snapshot の作成が開始されます

### <i class="fa fa-check-circle" style="font-size:1em;"></i> Snapshot の確認
* EC2管理コンソールの Snapshots を選択
* 先ほど作成した Snapshot が作成されていることを確認

![ec2_snapshot_restore6.png](https://qiita-image-store.s3.amazonaws.com/0/43480/5107367f-ced5-6b07-4f39-45033b48096f.png)

## :recycle: restore
### <i class="fa fa-exclamation-circle" style="font-size:1em;"></i> 準備
restore する前に、スナップショットした時点と状態を変えるために tree をインストールします。

~~~bash
$ which tree
$ sudo apt-get install tree
# 略
$ which tree
/usr/bin/tree
~~~

### <i class="fa fa-image" style="font-size:1em;"></i><i class="fa fa-arrow-right" style="font-size:1em;"></i><i class="fa fa-hdd-o" style="font-size:1em;"></i> Snapshot から Volume の作成
* Snapshots から 対象の Snapshot を選択し、コンテキストメニューで Create Volume を選択します。

![restore1.png](https://qiita-image-store.s3.amazonaws.com/0/43480/8dab15cf-e63a-fff3-5080-c05ff6994311.png)

* Create Volume の登録ダイアログの各項目を入力します
    * Availability Zone は Instance と同じにします

![restore2.png](https://qiita-image-store.s3.amazonaws.com/0/43480/0e4b40f7-dce7-2a6e-ebbb-e638bd8c8e12.png)

* Create Volume の完了ダイアログが表示されます

![restore3.png](https://qiita-image-store.s3.amazonaws.com/0/43480/5b3ed620-c2ec-7dbb-72a5-9f648a082a1e.png)

### <i class="fa fa-check-circle" style="font-size:1em;"></i><i class="fa fa-hdd-o" style="font-size:1em;"></i> Volume の確認
* EC2管理コンソールの Volumes を選択
* 先ほど作成した Volume が作成されていることを確認

![restore4.png](https://qiita-image-store.s3.amazonaws.com/0/43480/5236fc95-0aaf-b2c1-6dc7-43a2ee5e92bf.png)

### :clock1::baby: Instance の停止
* EC2管理コンソールの Instances を選択
* リストア先の Instance を停止します

![restore5.png](https://qiita-image-store.s3.amazonaws.com/0/43480/ccc3d855-4386-bd8f-696b-edb27b814d20.png)

* 停止するまでしばらく待ちます

![restore6.png](https://qiita-image-store.s3.amazonaws.com/0/43480/c49fb367-8fba-4bc9-9af7-e66b73ae1d6e.png)

* 停止したことを確認します

![restore7.png](https://qiita-image-store.s3.amazonaws.com/0/43480/74061e5d-c349-de6a-47fe-9eb7b80d4cc1.png)

### <i class="fa fa-times" style="font-size:1em;"></i><i class="fa fa-hand-o-right" style="font-size:1em;"></i><i class="fa fa-hdd-o" style="font-size:1em;"></i> Volume のデタッチ
* EC2管理コンソールの Volumes を選択
* 現在利用している Volume のコンテキストメニューから Detach Volume を選択

![restore8.png](https://qiita-image-store.s3.amazonaws.com/0/43480/12f0376b-11c0-91b7-685f-767e7c903a17.png)

* 確認ダイアログが表示されるので、 Yes, Detach を選択

![restore9.png](https://qiita-image-store.s3.amazonaws.com/0/43480/f5f42152-95bb-6c36-cbf7-c5bebad5510e.png)

* 該当 Volume が in-use から available になったことを確認

### <i class="fa fa-hand-o-right" style="font-size:1em;"></i><i class="fa fa-hdd-o" style="font-size:1em;"></i> Volume のアタッチ
* Snapshot から作成した Volume のコンテキストメニューから attach Volume を選択

![restore10.png](https://qiita-image-store.s3.amazonaws.com/0/43480/a9f98c01-08c6-e942-bb70-40fe8a2a163e.png)

* 入力ダイアログが表示されるので Instance ID を指定して Attach を選択
    * `Device` は、rootデバイスの `/dev/sda` を指定

![restore11.png](https://qiita-image-store.s3.amazonaws.com/0/43480/e2b4d502-df28-6b25-505f-90963e0ef03b.png)


* 該当 Volume が available から in-use になったことを確認

### :bangbang::running: Instance を起動し、動作確認
* EC2管理コンソールの Instances を選択
* 起動対象の Instance を起動します
* tree install 前の状態に戻っているか確認

~~~bash
$ which tree
# インストール前に戻ったことを確認
$
~~~

## <i class="fa fa-trophy" style="font-size:1em;"></i>