LoginSignup
1
2

More than 3 years have passed since last update.

[AWS] AWS 利用費 の変遷をふり返ってみる

Last updated at Posted at 2020-07-03

はじめに

_s__o_ です。

2019 年 1 月頃から (個人的に) AWS 利用 (運用) を開始しました。今月 (2020 年 7 月) で約 1 年半。費用としては、現在は、だいたい「6 \$ 強/月」におさまっています。自身の備忘も兼ねて、初期から今までのコスト変遷を追うとともに、コスト変動タイミングで何をしたか、少し振り返っていきたいと思います。

AWS 利用の動機

そもそも、なぜ AWS 利用をしようと思ったのか。理由は主に下記 3 点です。

  • 2018 年 11 月末に結婚。妻と家計を共有できる Web アプリが欲しかった
  • 2018 年 12 月時点、AWS 絡みの案件にアサインされる目処が立っており、自己研鑽をしたかった
  • サーバ運用も生業としていたので、仕事勘を養いたかった

一番上の理由が主です。夫婦間でしか利用しない Web アプリのため、サービス (サーバ) の要件は下記程度でした。

  • 簡単な Web アプリが動く程度のスペックで OK
  • 夜間帯は停止していて OK
  • 何かあっても、最悪 1 日前に戻せれば OK
  • でも、独自ドメインでアクセスしたい (個人的願望)

AWS 利用費の変遷

それでは、本題です。

年表

とりあえず、2018 年 12 月から追っていきたいと思います。当該月に特記があった場合は、特記事項列にイベント内容を記載しています。

年月 費用 EC2 稼働時間 特記事項
2019 年 1 月 13.79 $ 744.1 h 利用開始。EC2 (t2.micro) + Route53 (ドメインは AWS 以外で購入)
2019 年 2 月 7.43 $ 673.3 h インスタンスタイプ見直し (t2.micro → t2.nano)
2019 年 3 月 7.68 $ 744.0 h -
2019 年 4 月 6.57 $ 572.6 h 夜間帯 (0:00~06:00) は停止するようにした
2019 年 5 月 5.29 $ 557.9 h インスタンスタイプ見直し (t2.nano → t3.nano) + EIP の利用停止
2019 年 6 月 5.77 $ 540.1 h -
2019 年 7 月 5.91 $ 558.1 h -
2019 年 8 月 5.91 $ 558.2 h -
2019 年 9 月 5.77 $ 540.1 h -
2019 年 10 月 6.01 $ 558.1 h -
2019 年 11 月 46.26 $ 569.1 h RI (t3.nano) を購入。38\$/年
2019 年 12 月 2.00 $ 650.1 h RI 購入に伴い、停止時間を 03:00~06:00 に変更
2020 年 1 月 2.00 $ 651.0 h -
2020 年 2 月 2.00 $ 609.0 h -
2020 年 3 月 2.00 $ 651.0 h -
2020 年 4 月 2.00 $ 630.0 h -
2020 年 5 月 2.00 $ 650.1 h -
2020 年 6 月 2.01 $ 630.0 h -

特記事項補足

上記年表の特記事項において、下記で少し補足します。

2019 年 1 月

利用開始です。最初は何も考えず「t2.micro」 & 24 時間 365 日稼働で動かしていました。案の定、費用が 10 \$ 越えをしていますね。この費用がきっかけとなって、次月以降に費用見直しが走ります。

また、EC2 と同時に Route53 (パブリックホストゾーン) の利用も開始しています。ドメインは AWS 以外の場所で購入 (1,000 円/年 程度) しているので、AWS 的にはパブリックホストゾーンの利用費用のみ発生しています。利用費用は「0.5 \$/月」です。

ちなみに、利用開始時のシステム構成は下記のとおりです (今も特に変わっていません)。

項目
OS AmazonLinux2
Web nginx
DB sqlite3
言語 Python (Django)
AP uWSGI
備考 1 SSL は nginx に実装
備考 2 cron で 1 日 1 回 sqlite の dump を S3 にバックアップ

(参考)
AWS Amazon Linux2 で Django 2.2以降の環境を構築する

2019 年 2 月

インスタンスタイプを t2.micro から t2.nano に見直しました。このとき、はじめて t2.nano の存在を知りました。。。

(参考)
【速報】新EC2インスタンスタイプt2.nanoが発表されました!

2019 年 4 月

夜間帯 (0:00~6:00) は停止するようにしました。Lambda + CloudWatch で時限停止・時限起動するようにしています。

ちなみに停止中は Sorry 画面を表示するようにしています。Sorry 画面は S3 の静的 Web サイトを使っていますが、HTTPS アクセスだったので CloudFront もかませています。実装に関しては下記のサイトが非常に参考になりました。

(参考)
HTTPS + Route53フェイルオーバーでsorryページを表示する

2019 年 5 月

インスタンスタイプを t2.nano から、次世代の t3.nano に変更しています。

また、この時まではパブリックアクセスのために EIP を利用していました。EIP は、1 つまでなら無料ですが、条件付きです。その条件というのは「EIP が使用中であること」。つまり、EIP を付与した EC2 インスタンスは、稼働させ続ける必要があります。EC2 を動かせば EC2 の稼働費用が発生し、EC2 を止めれば EIP の非稼働費用が発生するということです。2019 年 4 月に夜間帯停止の運用を始めたため、この仕様に気付くことができました。

というわけで、コストをおさえるために EIP の使用を停止しました。代わりに「パブリック IP を Route53 に自動登録するスクリプト」をサーバに仕込みました。このスクリプトはサーバ更新の度に起動され、メタデータから (起動の度に毎回変化する) パブリック IP を取得して、Route53 の A レコードを自動更新してくれます。

(参考)
【EC2】T系ファミリーの概要と、T2,T3の仕様の違いについてのまとめ
EIPで料金発生するパターンとしないパターン

2019 年 11 月

1 年通して使うだろうなという目処が立ったので、さらなるコスト低廉を目指して t3.nano の RI (Reserved Instance) を購入しました。38 \$/年です。

(参考)
RI(リザーブドインスタンス)について出来るだけ簡単にまとめてみた

2019 年 12 月

RI 購入に伴い、従量課金から解放されました。つまり、1 日 1 時間動かそうが 24 時間動かそうが、すべて前払いの定額……ということです。これによって夜間停止の運用は不要となりましたが、下記の理由から夜間停止を完全廃止とせず、時間短縮という形の変更に留めました。

  • 再起動によって不要メモリなどを解放したい
  • 常時稼働前提じゃないシステムの方が、今後 拡張しやすい (AutoScale など)
  • 折角 Sorry ページの仕組みを作ったので、もったいない
  • 折角 パブリック IP 自動更新の仕組みを作ったので(ry

現在の利用費

そんなわけで、現在 (2020 年 6 月) の利用費は下記のとおりです。

項目 金額 備考
EC2 0.00 $ RI 利用のため 0
EBS 1.31 $ EBS & スナップショット 3 世代
IoT 0.01 $ Raspberry Pi 検証用
Route53 0.50 $ Hosted Zone 利用料
消費税 0.19 $
合計 2.01 $

上記に加えて、年額で下記が発生しています。

項目 金額 備考
RI 利用料 38 $/年 t3.nano
独自ドメイン使用料 10.13 $/年 1,089 円/年を 2020/07/04 時点の為替レートで換算
合計 48.13 $/年

年額費用を月割りすると、だいたい「4.01 \$/月」。月々が「2.00 \$/月」強なので、合算して 「6.00 \$/月」強 が、今々の AWS 利用料となります。

まとめ

以上、約 1 年半の AWS 利用費のふり返りでした。最初の「13.79 \$」に比べれば、だいぶスリム化できている気がします。

費用低廉を考える中で、AWS のコストに関する細かい仕様を学べることができました。(文字通り) 身銭を切ったことで、学習に対する真剣度が上がったのかもしれません。「コスト管理」はクラウドサービスの命題でもあるので、この経験は今後強く生きてきそうな気がします。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2