気付いたらAWS EC2の無料枠が終了していた！（無料枠からスポットインスタンスへの移行）

# 要約
AWSのEC2無料枠が終わったことに気づいたので、使用料金を下げるためにスポットインスタンスに移行した話です。
いまさらの二番煎じ感ありますが、、、

## 起きたこと 
* AWSの無料枠の範囲内でWordpressを運用していたつもりが、ある日突然50円/日くらい課金されていることに気づく。
* AWSのインスタンスの無料使用枠が**12ヶ月間限定**だということを失念しており、無料期間が終わっていた模様。

## やったこと
* そのまま運用すると、1500円/月。自己満足のブログには高い。
* EC2インスタンスをスポットインスタンスに移行することで、400円/月(想定)あたりまで料金を下げた

## ポイント
* インスタンスの移行は本当に一瞬で終わる。すごい。

# そもそもAWS無料枠とは？スポットインスタンスとは？

## AWS無料枠
参考：[AWS公式　AWS無料利用枠](https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc)
> AWS のプラットフォーム、製品、サービスを無料で実際に体験できます。

上記の通り、AWSのサービスの一部を無料で使用できる、ということです。
私はてっきり、条件さえ気をつけていれば、無限に無料で使えるものと思い、Amazonさんすごいなぁ、とか思っていたのですが...

> オファーの種類
60 を超える製品から選んで、無料利用枠で実際に AWS に構築してください。ご使用の製品によって、3 種類の無料オファーがご利用いただけます。
無期限無料
これらの無料利用枠に有効期限はなく、AWSのお客様すべてが利用可能
12か月間無料
AWSへの最初のサインアップ日から12か月間無料で利用可能
トライアル
さまざまなソフトウェアソリューションが、短期間の無料トラアイルとして利用可能

しっかり記載されている通り、全てが無料なわけではなく、一部は**AWSへの最初のサインアップ日から12か月間無料で利用可能**なんですね。
ちなみに、Wordpress運用のために使用していたEC2はというと...

> コンピューティング
無料利用枠
12 か月間無料
Amazon EC2
750 時間

はい、１年間でした。いつの間にか1年経ってたんですね。。ブログを作ったり消したり繰り返していたこともあり、全く気づきませんでした。

## スポットインスタンスとは
参考：[AWS公式　Amazon EC2 スポットインスタンス](https://aws.amazon.com/jp/ec2/spot/)

> 耐障害性を備えたワークロードを最大 90% OFF で実行

上記の通り、通常のインスタンスよりも安く使えます。
すごくざっくりとした説明ですが

* その時々の需要によって使用料金が決まる（通常は安くなる）
* 最大支払う料金を決めておくことで、予想外に高い使用料金で使用することを防げる
* その代わり、設定しておいた最大料金を上回る料金になった時、インスタンスが停止してしまう

という感じです。
最大支払う料金を上げておけば止まりにくくはなりますが、100%止まらない、というものにはできません。
個人運用レベルで、サービスレベルを気にしないならこっちを選んでおけば良いと考えています。

# 通常インスタンスからスポットインスタンスへの移行手順

## バックアップ(AMI)の作成
まずは既存のインスタンスのバックアップを作成します。

⓪AWSコンソールの「インスタンス」から
①コピーしたい、元のインスタンスを選択します
②「アクション」を選択します
![スクリーンショット 2020-01-07 22.55.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253754/5da797e2-1d1a-2b21-4c14-13dadbe8a8f1.png)

③「イメージ」を選択します
④「イメージの作成」を選択します
![スクリーンショット 2020-01-07 22.59.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253754/70240a05-fb75-5263-8169-a8700a1acad4.png)

⑤イメージ名などを適当に設定します
⑥「イメージの作成」を選択します
![スクリーンショット 2020-01-07 23.03.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253754/c1f1d5e0-fde5-10c8-f27e-8498be4da444.png)

## イメージからスポットインスタンスの作成
先程のバックアップから、スポットインスタンスを立ち上げます。

⑦メニューの「AMI」を選択します
⑧先程作成したイメージを選択します
⑨「アクション」を選択します
![スクリーンショット 2020-01-07 23.06.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253754/8f493253-a610-0ad9-ddc2-39e21da86574.png)

⑩「スポットリクエスト」を選択します
![スクリーンショット 2020-01-07 23.09.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253754/8e643a01-e862-a23a-bc05-f789fff68ac5.png)

ここから先は、通常のインスタンス作成とほとんど変わりません。

まずはインスタンスタイプを選択します。
以前のものと同じものを選んでもいいですが、無料枠対象の「t2.micro」よりも「t3a.micro」の方が安くて高性能です。
もっと性能を落としてもいいなら、「t3a.nano」でもいいでしょう。
![スクリーンショット 2020-01-07 23.11.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253754/ac84b3f0-5650-b929-0ed1-b0bfbef07133.png)

次にインスタンス詳細の設定を行います。
ここで、使用料金として払っていい額の上限を設定しておけます。
「最高価格」の欄を記載しておけば、その額以上になったときにはインスタンスを停止させることができます。
![スクリーンショット 2020-01-07 23.12.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253754/e886829d-4c5f-a6e6-8107-f647a10cbb3d.png)

以降は、通常のインスタンス作成と変わらないので割愛させていただきます。

# まとめ
上記の手順で、AWSの無料枠EC2インスタンスから、低価格なスポットインスタンスへの移行ができました。
ほんの１５分程度で完了してしまうので、やはりそこら辺はAWSすごいなぁと感じるところですね。