AWSのコストが思ったより高い原因は、パブリックIPv4有料化・NATゲートウェイのデータ処理料金・オーファンリソースの3つが主犯。まず Cost Explorer で課金内訳を確認し、本記事の5つの節約設定を実施すれば月額を大幅に削減できる。
「AWSを使い始めたのに、請求額が想定の3倍になった」──クラウド初心者が最初に直面する「Bill Shock」は、ほぼ決まったパターンで起きる。本記事ではAWS実務2.5年のインフラエンジニアが、実際に踏んだ課金トラップと、今すぐ設定できるコスト削減策を解説する。
なぜAWSのコストは「予想より高く」なりがちなのか?
従量課金の仕組みそのものより「仕様変更」と「課金の見えにくさ」が問題。特に2024年以降、1つの変更で月額が数千円単位で底上げされるケースが増えている。
従量課金の3大要素と見落としがちなデータ転送費用
AWSのコストは大きく「コンピューティング(EC2稼働時間)」「ストレージ(S3保存量)」「データ転送(アウトバウンド通信)」の3軸で構成される。EC2やS3の料金は直感的に理解しやすいが、インターネット向けの外部送信や異なるリージョン間の転送には段階的な課金が発生する。東京リージョンは北米リージョンより単価が高いため、リージョンを意識せずアーキテクチャを組むだけで10〜30%の余分なコストが生じる。
| リソース例 | 前提条件 | 月額概算 |
|---|---|---|
| EC2 t4g.micro | 80時間稼働 | 約200円 |
| S3 Standard | 100GB保存 | 約390円 |
| RDS db.t4g.micro | 20GBストレージ | 約10,000円 |
| データ転送(外部向け) | 100GB/月 | 約1,800円 |
【2024年2月施行】パブリックIPv4有料化によるコストの底上げ
2024年2月1日から、すべてのパブリックIPv4アドレスに対して1時間あたり0.005ドル(1IPあたり月約560円)の課金が開始された。「何も変えていないのに先月より料金が上がった」という声の多くはこれが原因だ。Cost Explorerで「PublicIPv4:InUseAddress」の項目を確認すれば即座に実態を把握できる。コンテナやマイクロサービスを多数起動する環境では、IPの数だけ課金されるため月額への影響が大きい。
AWS初心者が陥りがちな「課金トラップ」とは?
初心者ほど「使っていないリソース」「見えないデータ転送」「消し忘れ」の3点で損をする。以下5つのトラップを自分のアカウントと照らし合わせてほしい。
トラップ1:未アタッチEIPと放置EBSボリューム(オーファンリソース)
EC2インスタンスをTerminate(終了)しても、アタッチされていたEBSボリュームやスナップショットはデフォルトで残存し課金が続く。さらにElastic IP(EIP)はEC2に関連付けられていない「保持しているだけ」の状態でペナルティ課金が発生する。直感に反するこの仕様は初心者が最もはまりやすい罠だ。
トラップ2:NATゲートウェイのデータ処理料金の肥大化
プライベートサブネットからインターネットへ接続するためにNATゲートウェイを配置するが、時間課金に加えて通過したデータ量(GB単位)のデータ処理料金も発生する。EC2からS3へ大量データをやりとりするバッチ処理がNATゲートウェイを経由していると、月末に想定外の高額請求が届く典型パターンだ。
トラップ3:ALBのLCU急増による予期せぬ請求
Application Load Balancer(ALB)は時間課金ではなく、接続数・処理バイト数・ルール評価回数を組み合わせたLCU(Load Balancer Capacity Units)で課金される。インフラ構成を変えていなくてもアプリのリリースや大容量バッチ処理の追加でLCUが前月比2〜3倍に跳ね上がるケースがある。
トラップ4:CloudWatchとRDSログの無制限蓄積
EC2のシステムログやRDSのクエリログが、自動削除ポリシーなしでCloudWatch Logsに蓄積され続けるとストレージ料金が静かに増加する。「念のため全部残す」という初心者の心理が、数ヶ月後に予算を圧迫することになる。
トラップ5:開発・検証環境の「24時間365日」起動
平日日中しか使わない開発用EC2やRDSを夜間・土日も起動したままにすることで発生する無駄なコスト。週の稼働時間を50時間以内に絞るだけで、月のコンピューティングコストを理論上70%近く削減できる計算になる。
今すぐできる!AWSコストを劇的に下げる5つの節約設定
すべてマネジメントコンソールから設定可能。特に節約術1〜3は即日実施してコスト削減効果を確認できる。
節約術1:S3向けVPCエンドポイント(Gatewayタイプ)の導入
EC2→S3間の通信がNATゲートウェイを経由しているなら、VPCエンドポイント(Gatewayタイプ)を無料で追加することで通信をAWS内部ネットワーク経由に切り替えられる。NATゲートウェイのデータ処理料金が丸ごとゼロになるため、大容量転送がある環境では効果絶大だ。VPCフローログ+CloudWatch Logs Insightで通信先を特定してから実施しよう。
節約術2:AWS Compute OptimizerでのRight-sizing(適正化)
Compute Optimizerを有効化すると、機械学習がCPU・メモリの実使用パターンを分析し最適なインスタンスファミリーとサイズを提案してくれる。稼働率40%未満のリソースをダウンサイジングするだけで月額の10〜30%削減が見込める。移行前にスナップショットを取っておけば安全に試せる。
節約術3:不要リソースの棚卸しとライフサイクルルール適用
AWS Trusted Advisorで未使用EBSボリューム・未アタッチEIP・不要エンドポイントを一覧化して削除する。S3バケットとCloudWatch Logsにはライフサイクルポリシーを設定し、30日経過データを自動的にS3 Glacierへ移行または完全削除することでストレージ費用を長期的に抑制できる。
節約術4:AWS BudgetsとCost Anomaly Detection(異常検知)の設定
月間予算の80%・100%に達した時点でSlackやメールにアラートを飛ばすAWS Budgetsの設定は必須だ。さらにAWS Cost Anomaly Detectionを有効化すれば、過去の利用パターンから逸脱した突発的な支出を機械学習が即時検知してくれる。誰かが大きなインスタンスを誤って起動しても被害を最小化できる。
節約術5:開発環境の自動起動・停止スケジュール化
AWS Instance SchedulerやLambdaスクリプトで、開発・検証用EC2とRDSを業務時間外(20:00〜翌8:00・土日)に自動停止するよう設定する。実装コストは数時間で、非本番環境のコンピューティングコストを最大70%削減できる費用対効果の高い施策だ。
まとめ:AWSコスト最適化は「継続的なエンジニアリング」
一度設定すれば終わりではなく、アプリの進化とAWSの仕様変更に合わせて毎月見直す継続作業。まず Cost Explorer を開いて現状の課金内訳を確認するところから始めよう。
パブリックIPv4有料化・NATゲートウェイのデータ処理料金という「意図せぬ課金」の仕組みを理解し、VPCエンドポイント・Compute Optimizer・自動停止スケジュールの3つを実施するだけで多くの環境で月額を大幅に圧縮できる。コスト最適化をFinOpsとしてスプリントに組み込み、インフラの健全性指標として継続的に計測していこう。
AWSの請求額が急に上がった場合、最初に確認すべき場所は?▼
パブリックIPv4の有料化はいつから?いくら課金される?▼
無料枠だから安心、ではないの?▼
FinOpsを個人開発やスタートアップでも実践できる?▼
NATゲートウェイを使わずにS3と通信するには?▼

コメント