【EC2】Amazon EC2を安価に使いたい【Savings Plans】

AWS

背景

1年ほど前に自身で作っている掲示板サイトのインフラをConoHaからAWSへと移行しました。AWSには一定期間Free Tier(無料枠)が存在しますので、そちらが適用されるt2.microのインスタンスタイプで運用していたのですが、時が経つのは早いですね。期限が切れ、従量課金されるようになってしまいました。

このまま使うとコストが嵩むので、Savings Plansを適用してみることにしました。

元々のコスト

サイトの構成はめちゃめちゃにシンプルです。TokyoリージョンでVPCを作成→そこにEC2が1台(ドメインはConoHaで取得したものをRoute 53に移管しました)、というだけです。インスタンスの中にアプリケーション(Laravel), RDBMS(MariaDB)や画像データなんかも格納しているのでs3等も使っていません。EC2のインスタンスタイプはFree Tierが適用されるt2.microにしています。

これまでは月額80円くらいで収まっていました。というより稼働料金のほとんどはFree Tier内で収まっていたので、Route 53の雑費が大半です。

どのくらい上がりそうか

VPC, Data Transferの計算は大変そうだったのでいったん考慮せず、EC2だけざっと計算しました(過疎サイトなのでその辺は対して変わらんだろうという理由もあり)。

EC2 On-Demand Instance Pricing

Tokyoリージョンに, Linuxの, t2.microが1台という形で計算した場合のオンデマンド料金は時間単位0.0152$です。年間料金は、この数字 x 24時間 x 365日として、133.2$(月額11.1$)になります。日本円に換算すると25年10月時点で年間20,020円(月額1,669円)かかることになりますね。vCPU 1Core, MEM 1GBのVPSを月1,669円で借りるのはさすがにやってられません。

(補足)なぜやってられないか

さくら: 1Core 2GB 月880円~ https://vps.sakura.ad.jp/

XServer: 3Core 2GB 月1,100円~ https://vps.xserver.ne.jp/price.php

ConoHa: 2Core 1GB 月763円~ https://vps.conoha.jp/pricing/

※1ヶ月契約の金額

安価なプランで再試算する

とはいえAWSは従量課金かつ構成の柔軟性があるので、月単位のVPSプランと金額を比較するのも酷です。EC2には年単位で契約できるSavings Plansがあります。その中でも今回はEC2 Instance Savings Plansで料金を改めて確認してみました。リージョンとか前払いする料金の金額とかでも変わってくるので今回は、東京リージョン、一括前払いでチェックします。

Compute Savings Plans – アマゾン ウェブ サービス
Savings Plans は柔軟な購入オプションです。1 年または 3 年の契約でさまざまな AWS Compute サービスに対する大幅な割引を提供します。Savings Plans には、Compute Savings Plans と EC2 Instance Savings Plans の 2 種類があります。

1年契約の場合、37%お得になります。年額84.1$(月7.0$)ほどですね。

3年契約の場合は57%お得になり、年額56.9$(月4.74$)ほどになりそうです。

根っこがケチなのと、まあなんだかんだで今後も立てっぱなしにするだろうなと思ったので、今回は3年前払いで進めることにします。

より良いインスタンスタイプを選定する

AWS移行時にt2.microを選定したことに、Free Tierが適用されるから以外の理由はありません。今回せっかくなのでその他のインスタンスタイプも調べてみたところ、t3a.microがいい感じでした。t3aという括り自体が割と新しめのようです。t2.microがvCPU 1Core MEM 1GBに対して、t3a.microはvCPU 2Core MEM 1GBとなっています。そのうえ料金も安価で、t2.microは時間単位0.0152$に対してt3a.microは時間単位0.0122$です。

Intel CPUかAMD CPUかという違い(※どちらもx86_64)やその他も差異があるのでWebアプリケーションが正常に動くかどうかが懸念点ですが、実際にインスタンスのタイプを変更して軽く動作確認したところ問題なさそうでした。なので今回は、t3a.microのSavings Plansを3年分買うことにします。

t3a.microで計算しなおした結果

割引率は62%で、年額40.3$(月3.4$)の試算です。t2.microは年額56.9$なので安価ですね。

買ってみよう

EC2のページからも遷移できますが、Billing and Cost Management > Savings Plans > Purchase Savings Plans という階層で購入詳細を調整します。今回はEC2 Instance Savings Plansを、3-yearで、Tokyoリージョン、t3aのInstance familyを指定します。

Hourly commitmentはさっき試算の時に使った、時間単位の金額を入れてみました(これ俺が手打ちすんの?とはなりましたが)。Payment optionはAll upfront(一括全払い)です。一部のみ前払いとすると割引率が下がります。ちなみに適用開始日時も指定ができます。9月にFree Tierが切れる予定だったので、2025/9/1 00:00:00とかで指定しました。

表示された金額も試算と概ね正しそうです。年額40.3$が3年なので120$。Add to Cartでショッピングカートに入れて、あとは購入します(Amazonみたいですね)。購入したプランは、Billing and Cost Management > Savings Plans > Inventory から確認ができます。ちなみに開始日から1週間以内であれば返品も可能なようで、案外気楽に買っても良さげです。

購入後、Free Tierが切れ適用開始日になった際に、インスタンスタイプをt2.microからt3a.microに変更。購入したSavings Plansを割り当てて…等の作業は必要ありません。

数日様子見する必要はありますが、本当に適用されているかどうかもチェックできます。

おまけ

適用後の月額コスト

まだ適用してからそこまで経っていないので十分なデータは無いのですが。下記は、10/1 – 10/18までの間のコストになります。

EC2で金かかっとるやないかい!これはインスタンスに割り当てているボリューム(ストレージ)の料金でした。しょっぱいサイトでも多少はかかるんですね。あとはVPCがぼちぼち。18日間で4.15$かかっているので、ざっくり月額7.0$とします。また、この金額には前払いしたEC2インスタンス自体の料金は含まれていません。t3a.microは割引適用後の月額が約3.4$でしたね。合計で月額10.4$(1,564円)になります。

まとめ

やってられない(が、vCPU 2Coreになった)

コメント

タイトルとURLをコピーしました