EBS新機能エラスティックボリュームをすぐに本番反映をトライしてみたらダメだったけど、AMI使えばできたのでストーリー仕立てで書く

#これをやった理由
* 本番のWEBサーバやバッチサーバで、Full Data Diskアラートが頻発するため
    * 頻度は週に１度
    * 原因は、担当システムで登録時にアップロードされたファイルのS3からのダウンロードとサムネイルの生成を大量にやるため

#参考資料
- [EBS新機能エラスティックボリュームは本当に停止しないのか | ナレコムAWSレシピ](https://recipe.kc-cloud.jp/archives/9648)

#対応方法
* 下記の参考資料のまんまです。
* やってみて経過を追ってみようと思ったけど、、、うちで使っているインスタンスがEBSが古すぎて対応してないみたい・・・ :sweat_smile: 

![8196b955-dfa0-4843-1bca-a02ed0a40d67.jpeg](https://qiita-image-store.s3.amazonaws.com/0/14268/a1bb20ca-5833-438b-6ecf-7ea500e100e8.jpeg)


~~おわりｗ~~

#AMIからインスタンス再作成してやってみた
AMIから作り直してからだと、怒られなかったよー

![8ed3b9e0-cbde-722e-e1cf-5a274aad39b7 jpeg.jpg](https://qiita-image-store.s3.amazonaws.com/0/14268/61e7f93c-9132-9f9c-d58c-da30625d46ea.jpeg)

ってことでやってみます。とりあえず変更前が下記。

```bash:before
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1       7.9G  5.8G  2.1G   75% /
devtmpfs         7.4G   44K  7.4G    1% /dev
tmpfs            7.4G     0  7.4G    0% /dev/shm
```

OK押したら、こんなん出てきた。。。けど、とりあえず「Yes」押す。
変更中は、一時的にパフォーマンス落ちるよってことだと思われます。

![b5dd5bb4-7384-a197-4ba2-03e8c0759d26 jpeg.jpg](https://qiita-image-store.s3.amazonaws.com/0/14268/fe06d9c1-7255-45f9-a550-d42c5e6a298e.jpeg)

んで、ポチったらこうなるみたい。

![7b76b2a5-5fc8-9ef8-5f21-74dd7042ecf2 jpeg.jpg](https://qiita-image-store.s3.amazonaws.com/0/14268/9bccf26d-de39-5e55-873a-0942fabdad0f.jpeg)

約５分から７分程度待ちましたら、こうなりました。

![7efacdbc-6a32-9d36-aad8-a07b72d8e627 jpeg.jpg](https://qiita-image-store.s3.amazonaws.com/0/14268/ebdf5634-42a7-6c42-cd3b-5fd9f3f06a9f.jpeg)

ってことで、もっかいストレージ見てみます。
が、、、あれ、変わってない・・・

```bash:after
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1       7.9G  5.8G  2.1G   75% /
devtmpfs         7.4G   44K  7.4G    1% /dev
tmpfs            7.4G     0  7.4G    0% /dev/shm
```

ここを見るとまだ何か必要っぽい、、、
- [Amazon EBSのアップデート – 新機能エラスティックボリュームが全てを変える | Amazon Web Services ブログ](https://aws.amazon.com/jp/blogs/news/amazon-ebs-update-new-elastic-volumes-change-everything/)

>次のステップは追加されたストレージ領域を利用できるようにするために、ファイルシステムを拡張することです。
>作業の詳細についてはLinuxでEBSボリュームのストレージ領域を拡張するかWindowsでEBSボリュームのストレージ領域を拡張するを参照してください。
>ボリュームの状態が最適化中に変わったら(通常数秒で変わります)、ファイルシステムの拡張作業を行うことができます。>新しいボリュームの容量やタイプはすぐに利用可能になりますが、最適化の処理は最大で24時間を要する場合があります。>コストについて補足すると、ボリュームの状態がoptimizingになったタイミングで新構成を基準に計算されることになります(変更自体のコストはかかりません)。

ストレージ領域は変更かかったけど、ファイルシステムを拡張する必要があるとのことでした。
なので、下記のページを見て、コマンド打つみたい。
**Linux ファイルシステムを拡張する**のとこを参照。
- [Linux で EBS ボリュームのストレージ領域を拡張する - Amazon Elastic Compute Cloud](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-expand-volume.html)

```bash:ファイルシステム確認
$ sudo file -s /dev/xvda1
/dev/xvda1: Linux rev 1.0 ext4 filesystem data, UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (needs journal recovery) (extents) (large files) (huge files)
```

次に、**Linux ファイルシステムを拡張するには**のとこを見て、ファイルシステム拡張すると、できました！
おーーー！結構簡単でうれしい :smile: 

```bash:ファイルシステム拡張
$ sudo resize2fs /dev/xvda1
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/xvda1 is now 5242880 (4k) blocks long.

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1        20G  5.8G   14G   30% /
devtmpfs         7.4G   44K  7.4G    1% /dev
tmpfs            7.4G     0  7.4G    0% /dev/shm

```

以上。これなら、一時的にELBからインスタンス切り離して対応後に再接続って形でオンラインでできちゃいますね！