AWS初心者がEC2を最低限の利用料金で利用する　～EC2スナップショット作成・リカバリ手順～

# 概要

AWS請求<font color="Red">$2.84</font>。。。先月の私のAWS利用料です。
まぁ少額なのでいいですが、予想より使ってしまったな。という印象。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/746c29d1-9803-d98f-3b1d-329f27d9f823.png)

というのも先月はEC2で少しやりたいことがあり、ポチポチとEC2インスタンスを作成して
不要な時は停止していました。
が、費用削減できていなかったのは、EBS<font color="Red">$2.01</font>。。。
EC2よりよっぽど費用がかかってしまった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/78c84307-69d1-a6a5-3af6-9146fd3c6e8c.png)

詳細を見ると、EC2はインスタンスタイプの時間料金なので今回は「<font color="Blue">$0.0152</font>/1時間」または「<font color="Blue">$0.0198</font>/1時間」ですね。
対し、EBSは、Snapshotかボリュームのままかで料金が分かれており、単位はGB月ですね。
GB月はちょっとわかりにくいですが、30GBのディスクを1ヶ月まるまる使ったら（EC2の起動／停止に関係なく）30GB月で、
2週間だった場合、およそ15GB月となる感じですね。
それがSnapshotは「<font color="Blue">$0.05</font>/1GB月」、ボリュームは「<font color="Blue">$0.12</font>/1GB月」という感じ。
結果、ボリュームの単位料金が他の料金として比較して高く「$0.1」を超えているため
予想より利用料がかかってしまったという感じです。

ということで、今回はEBS利用料金を削減すべく、Snapshotを取って、使うときに戻す
という内容で自分への手順確立のための投稿です。
興味ある方はご覧ください(_ _)

## EBS Snapshot手順概要

ざっくり以下の手順でSnapshot作成およびSnapshotからのボリューム作成を行います。

* Snapshot作成手順
    * 1.EC2停止
    * 2.ボリュームからSnapShot作成
    * 3.ボリュームのデタッチ
    * 4.ボリュームの削除
* Snapshotからボリューム作成
    * 1.Snapshotからボリューム作成
    * 2.ボリュームをアタッチ
    * 3.EC2起動


## Snapshot作成手順
### 1.EC2停止

とりあえずEC2停止。停止しなくてもSnapshotは取れるけど心情的に停止^^;
その時重要なのは、<font color="Red">ルートデバイス</font>をメモっておくこと。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/55fdb08e-c694-6f87-a4f6-75c8be73aae9.png)

### 2.ボリュームからSnapShot作成

EBSの「ボリューム」メニューから、対象のボリュームを選択し「スナップショットの作成」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/de7b0d4e-cbd4-ec89-822f-8ca9424bba93.png)

確認画面でもう一度「スナップショットの作成」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/21f8208b-5d63-2960-7cdd-1d235e519043.png)

### 3.ボリュームのデタッチ

対象のボリュームを「デタッチ」する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/73c2a9ca-23e7-64d1-8fda-6427bb4023ae.png)

### 4.ボリュームの削除

デタッチ出来たら対象のボリュームを「削除」する
これでボリューム料金の「<font color="Blue">$0.12</font>/1GB月」の使用料がなくなる！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/5a6cd7e5-b164-b67a-b0f8-ca243bb00821.png)

## Snapshotからボリューム作成
### 1.Snapshotからボリューム作成

EC2を改めて起動したくなったら、まず
EBSの「スナップショット」メニューから、対象のボリュームを選択し「ボリュームの作成」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/0a23399f-cc0b-0175-ef05-4222da16529b.png)

確認画面でもう一度「ボリュームの作成」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/7b7e6c6e-ce89-2338-da1a-6ce56fb38324.png)

### 2.ボリュームをアタッチ

Snapshotから作成したボリュームを選択し「アタッチ」する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/9be11cf2-c572-a51c-f8e7-f8a778fe2855.png)

アタッチのメニューでデタッチした時のインスタンスを指定し、
「デバイス」欄にインスタンス停止時に確認しておいた<font color="Red">ルートデバイス</font>を指定
<font color="Red">表示されたデフォルトのままではダメ</font>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/25ea6ad0-7a95-6739-91e1-d920b74d85ea.png)

Windowsの場合は以下のような画面になる。
が、やはりデフォルトの「xvdf」ではなく事前に確認した「/dev/sda1」等を入力する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/74310a45-8d1b-4780-14c5-513bceb28f8c.png)



### 3.EC2起動

アタッチが終わったらEC2を普通に起動する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/4520341f-d86c-4858-d5cb-bf29484ccaef.png)

この時、アタッチのところでデバイスを間違っていると、<font color="Red">インスタンス開始のエラー</font>が発生する
エラーメッセージを読んでそのままだが、rootにボリュームがアタッチされてないよ。と言われる
（「2.ボリュームをアタッチ」のやり直し）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/e2fc1c88-37ff-7f88-c424-d97420b6c397.png)

## まとめ
これで使用料は、EC2/EBS起動している分だけ、EBSは「＄0.05/1GB」となる。
今月は＄1.00くらいに抑えられるかなぁ。
GUIの簡単操作だけど起動の度やるのは面倒になってくる。自動化（CLI?）しようかな。。。

## 補足

ちなみにEIPを使っている場合は、EC2停止時には料金がかかるのでお気を付けを。。。
EC2を起動しているとEIP自体は無料ですが、使っていないのにEIPを保持しているとお金がかかります。

https://dev.classmethod.jp/articles/cost-of-eip/