3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

ITスクールRareTECHで学習しているゆーせーです。
個人開発やチーム開発でAWSを実際に運用しています。
AWSは使った分だけ課金されます。
触り始めた頃は気づきませんが、 一瞬で“爆死” します:innocent:
気づいたときには数千円 → 数万円に跳ね上がることがあります。
特に NAT Gateway、ALB、CloudWatch Logs は初心者ほど事故ります。
私自身、個人開発やチーム開発で実際にAWSを利用してきましたが、個人開発で実際に課金爆死を経験し、
月6,000円 → 1,200円 まで抑えることができました。※1つの個人開発で利用した値段です
ただしこれはスキル不足ではなく、設計の問題でした。
本記事では、私が実際に遭遇した料金爆発の例と、そこからどうやってコストを抑えたかをまとめます。

AWS課金の考え方

AWSの料金は「サービス単位」ではなく、課金軸(料金が発生する要素) で見ると理解しやすくなります。
ほとんどの料金爆発はこの課金軸の理解不足から発生します。
AWSの課金は大きく次の4つの軸で決まると考えます。

① リソースの保有量に応じて発生する料金

いわゆる固定費に近い部分かな:thinking:
代表例:
● EC2(インスタンス起動時間)
● ALB(時間単価+LCU)
● RDS(インスタンスサイズ × 稼働時間)
● EBS(ストレージ容量)
上記は起動しているだけで料金が発生します:scream:
初心者が最初に踏みがちなミスは「使っていないのに残しっぱなし」。
私も残しっぱなしで 何も動かしていない のに数千円無駄にしました、、、

EC2を停止したから無料だと思っている貴方!!
⇒そんなわけはありません。EBS料金は普通に発生します。

② データ転送量に応じて発生する料金

AWSで最も事故が多い課金軸がこれです!!
代表例:
● NAT GatewayのOUTBOUNDデータ転送
● インターネットへのアウトバウンド通信
● CloudFront → オリジン間の通信

特にNAT Gatewayは
固定費 + 転送量 × 単価 」の二重課金。

apt update / docker pullなどを気軽にやる
⇒NAT経由でどんどん課金が膨れていきます。

③ リクエスト回数に応じて発生する料金

S3やAPI Gatewayなどの利用に応じた課金。
代表例:
● S3のPUT/GET/LIST
● API Gatewayのリクエスト数
● Lambdaの呼び出し回数
ストレージ代が安く見えても、
リクエスト課金が本体なので、設計次第で爆死します。

1万ファイルを毎回LISTしてチェック
⇒LISTだけで数千円いくことも!

④ 実行時間に応じて発生する料金

特にサーバーレス系に多いです。
私は勉強したばかりのタイミングで使用して死にました:innocent:

代表例:
● Lambda(メモリ × 実行時間 × 回数)
● Fargate(vCPU/メモリ × 時間)
Lambdaは無料っぽく見えるので事故が多いです、、

重い処理をLambdaで実行
⇒長時間稼働 × 大メモリで一瞬で料金が増えます。

まとめ

:white_check_mark:AWSの料金は「サービス」ではなく「課金軸」で理解する

今回取り上げた例もすべて、次の4つの軸のどれかが原因でした。

● 固定費がかかるもの → ALB/EC2/RDS/NAT Gateway
● データ転送量で増えるもの → NAT Gateway
● リクエスト数で増えるもの → S3/API GateWay
● 実行時間で増えるもの → Lambda

そして料金爆発の大半は、使った量そのものでなく
設計ミスによって"無意識に使われ続けている"こと が原因です。

● NATを常時経由する構成にしていた
● ALBを使うほどの規模でなかった
● CloudWatch Logsを無制限保持にした
● S3に大量にLIST/PUTを投げていた
● Lambdaで重い処理を回していた

上記は私が実際に犯してしまった ミス です
こうした問題は、サービスを変えるのではなく設計を見直すことで解決できます!!
AWSは難しいのではなく、
どの課金軸が効く構成なのか 」を理解できればコストコントロールできます!

本記事で紹介したポイントを押さえておけば、個人開発でもチーム開発でも、AWSのコストを安定して抑えることができます!
長くなりましたが、ここまで読んでいただきありがとうございます:bow_tone1:
長々と語りましたが、AWSを学習して数か月の戯言です。間違った解釈もあるかと思いますが、温かい目で見守っていただけると嬉しいです

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?