はじめに
AWSを学び始めると、
「Lambdaって無料じゃないの?」
「DynamoDBっていつお金がかかるの?」
「S3は保存するだけでも課金される?」
と疑問に思うことが多いのではないでしょうか。
AWSは従量課金制のため、
「どの操作をすると料金が発生するのか」
を理解しておくことが非常に重要です。
本記事では、AWSでよく利用されるサービスについて、
- 何をすると課金されるのか
- 無料利用枠はあるのか
- 注意すべきポイント
を備忘録もかねて、初心者向けにまとめてみました。
この記事はこんな方におすすめ
- AWSを学習中の方
- AWSの料金体系を知りたい方
- 個人開発でAWSを利用している方
- AWS認定資格を勉強している方
- 想定外の請求を避けたい方
AWSの基本
AWSは基本的に、
使った分だけ支払う
という従量課金制です。
例えば、
- 1時間だけEC2を起動
- 100回だけLambdaを実行
- 1GBだけS3へ保存
という使い方ができます。
主要サービスの課金ポイント一覧
| サービス | 何をすると課金? |
|---|---|
| Lambda | 実行回数・実行時間 |
| EC2 | 起動している時間 |
| S3 | 保存容量・リクエスト数 |
| DynamoDB | 読み書き・保存容量 |
| CloudWatch | ログ・メトリクス |
| API Gateway | API呼び出し回数 |
| CloudFront | データ転送量 |
| Route53 | ホストゾーン・DNSクエリ |
| RDS | 起動時間・ストレージ |
| ECS/Fargate | CPU・メモリ使用量 |
| SNS | 通知回数 |
| SQS | メッセージ数 |
| Step Functions | ステート遷移数 |
Lambda
課金ポイント
- 実行回数
- 実行時間
- メモリサイズ
例えば、
100万回実行
×
1秒
よりも、
100万回実行
×
10秒
の方が高くなります。
イメージ
Lambda実行
│
▼
実行時間計測
│
▼
課金
無料枠
以下2つの無料枠を独立して持っているため、それぞれ超えた分だけ課金される。
- 月100万回実行
- 40万GB-秒(メモリ×実行時間)
例)
実行回数:50万回
GB-秒:50万GB-秒
実行回数 → 無料枠内
GB-秒 → 10万GB-秒超過
→ GB-秒の超過分だけ課金
Amazon S3
課金ポイント
- 保存容量
- PUT
- GET
- データ転送
例えば、
1TB保存
↓
毎月課金
となります。
※ファイルが残っているとその分をずっと課金され続けるということ。
イメージ
ファイル保存
│
▼
保存容量増加
│
▼
課金
無料枠
- 5GB保存
- 20,000 GET
- 2,000 PUT
DynamoDB
課金ポイント
オンデマンド
- Read Request Unit
- Write Request Unit
プロビジョンド
- RCU
- WCU
さらに、
- ストレージ
- PITR
- オンデマンドバックアップ
も課金対象です。
注意
TTLによる削除は無料です。
無料枠
- 25GBのストレージ
- 25 RCU
- 25 WCU
EC2
課金ポイント
- インスタンス起動時間
- EBS容量
- Elastic IP
例えば、
EC2起動
↓
24時間放置
↓
24時間分課金
停止すると、
EC2本体の課金は止まります。
無料枠
t2.micro
または
t3.micro
750時間/月
CloudWatch
意外と見落としがちなのがCloudWatchです。
課金ポイント
- Logs
- カスタムメトリクス
- アラーム
- ダッシュボード
例えば、
Lambda
↓
大量ログ出力
↓
CloudWatch Logs
↓
課金
となります。
無料枠
- Logs 5GB
- カスタムメトリクス10個
- アラーム10個
API Gateway
課金ポイント
- API呼び出し回数
例えば、
100万回アクセス
↓
100万回分課金
無料枠
100万APIコール/月
Route 53
課金ポイント
- Hosted Zone
- DNSクエリ
- ヘルスチェック
意外と、
Hosted Zoneを削除し忘れて課金されることがあります。
CloudFront
課金ポイント
- データ転送量
- HTTP/HTTPSリクエスト
動画配信などを行う場合は、
データ転送量が大きくなりやすいため注意が必要です。
RDS
課金ポイント
- DB起動時間
- ストレージ
- バックアップ
- IOPS
イメージ
RDS起動
↓
24時間稼働
↓
課金
無料枠
750時間/月
20GBストレージ
ECS/Fargate
課金ポイント
- vCPU
- メモリ
- 実行時間
Fargateは、
コンテナが起動している時間に応じて課金されます。
SQS
課金ポイント
- リクエスト数
例えば、
SendMessage
ReceiveMessage
DeleteMessage
もリクエストとしてカウントされます。
無料枠
100万リクエスト/月
SNS
課金ポイント
- 通知回数
- SMS送信
メール通知は比較的安価ですが、
SMSは高くなりやすいので注意が必要です。
Step Functions
課金ポイント
- ステート遷移数
例えば、
Start
↓
Lambda①
↓
Lambda②
↓
終了
で、
ステートが3回遷移すると、
3回分課金されます。
個人的に気を付けているサービス
個人的には次のサービスは特に注意しています。
| サービス | 理由 |
|---|---|
| CloudWatch | ログが増えやすい |
| S3 | 不要ファイルを放置しやすい |
| EC2 | 停止忘れ |
| Route53 | Hosted Zone削除忘れ |
| DynamoDB | PITRを有効にしたまま放置 |
| RDS | 起動しっぱなし |
無料枠だけで学習できる?
かなりの範囲を無料枠で学習できます。
例えば、
- Lambda
- DynamoDB
- S3
- API Gateway
- CloudWatch
- SQS
などは、
小規模であればほとんど料金は発生しません。
ただし、
EC2
RDS
NAT Gateway
は高くなりやすいため注意しましょう。
個人的に最も注意するサービス
AWS初心者に伝えるなら、
NAT Gateway
CloudWatch Logs
RDS
EC2
の4つは特に注意です。
NAT Gatewayは、
作成しただけで時間課金が発生するため、
学習用途では利用しない方が安全です。
まとめ
AWSでは、
「作成したら課金」
「実行したら課金」
「保存したら課金」
など、
サービスごとに課金ポイントが異なります。
ポイントのおさらい
| サービス | 課金ポイント |
|---|---|
| Lambda | 実行回数・実行時間 |
| S3 | 保存容量 |
| DynamoDB | 読み書き・PITR |
| EC2 | 起動時間 |
| CloudWatch | ログ |
| API Gateway | API回数 |
| RDS | 起動時間 |
| CloudFront | 転送量 |
| Route53 | DNS |
| ECS | CPU・メモリ |
AWSを学習する際は、
「このサービスは何をすると料金が発生するのか?」
を意識すると、想定外の請求を防ぎやすくなります。
参考
-
AWS Pricing
https://aws.amazon.com/pricing/ -
AWS Free Tier
https://aws.amazon.com/free/ -
AWS Pricing Calculator
https://calculator.aws/