Contents
AWS 無料利用枠(Free Tier)とは
AWS の Free Tier は、アカウント作成から 12 カ月間、または特定サービスについては常時無料で利用できるリソース上限を指します。代表的な例として以下があります。
| サービス | 無料枠の内容(例) |
|---|---|
| Amazon EC2 | t2.micro/t3.micro インスタンス 750 h / 月 |
| Amazon S3 | 標準ストレージ 5 GB、GET リクエスト 20,000 件/月 |
| AWS Lambda | 1M リクエスト、400,000 GB‑秒のコンピューティング時間/月 |
課金が発生するタイミング
- 無料枠の上限を超えた瞬間(使用量が 100 % を超える)から課金が開始されます。
- AWS は「Free Tier Usage Alerts」という機能で、あらかじめ設定した閾値に達したことをメールや SNS で通知しますが、この閾値は デフォルトとして明示的に 85 % と規定されているわけではなく、ユーザーが任意のパーセンテージ(例:80 %、90 %)で設定できる ことが公式ドキュメントで説明されています。したがって、通知を受け取る閾値は自組織の運用方針に合わせてカスタマイズしてください。
ポイント
- 通知はあくまで「情報提供」なので、実際に課金が始まるのは上限超過(100 %)です。
- 事前にアラートを有効化し、閾値設定を確認しておくことがリスク低減の第一歩です。
Free Tier 使用状況アラートの有効化手順
1. Billing コンソールへアクセス
| 手順 | 操作内容 |
|---|---|
| (a) | AWS マネジメントコンソール右上の [アカウント名] → My Billing Dashboard をクリック |
| (b) | 左側メニューから Cost Management > Billing dashboard を選択 |
2. アラート設定をオンにする
- 「Preferences」セクション内にある Free Tier usage alerts のスイッチを ON にします。
- 必要に応じて「Alert threshold(アラート閾値)」で通知割合を入力(例:80 %)。設定は即時反映され、以後その閾値に達するとメールが送信されます。
備考
- アラートの閾値は複数設定可能です。たとえば 70 %、85 %、95 % の3段階で通知させることで、使用状況を段階的に把握できます。
Budgets で「0 USD」予算(Free Tier 用)を作成し、上限超過を即時検知する方法
手順概要
| ステップ | 内容 |
|---|---|
| ① | Billing ダッシュボード左メニューの Cost Management > Budgets をクリック |
| ② | 「Create budget」 → Budget type に Free Tier を選択 |
| ③ | 予算名・期間を設定し、金額を 0 USD と入力 |
| ④ | Alert threshold はデフォルトの 100 % のままで OK(上限到達時に通知) |
| ⑤ | 通知先(メール/SNS トピック)を登録し、Create budget で完了 |
設定ポイント
- 予算名:
FreeTier_ZeroBudgetなど分かりやすい名前にすると管理が楽です。 - 期間:月次が一般的ですが、年次に設定した場合は「毎月リセット」されることを意識してください。
- 通知先:複数の担当者がいるチームではメールアドレスをカンマ区切りで列挙し、併せて SNS トピックも登録しておくと確実です。
アラート通知先(メール・SNS)の設定とテスト送信
メール通知の設定手順
- Budgets 作成画面 Configure alerts セクションで Email recipients に担当者メールアドレスを入力。
- 「Add」ボタンで複数人分を登録し、保存します。
SNS トピック作成とサブスクリプション
| 手順 | 操作 |
|---|---|
| (a) | コンソール上部の検索バーに SNS と入力し、サービスページへ遷移 |
| (b) | 「Create topic」 → 「Standard」タイプを選択し、名前例 FreeTierAlertTopic を設定 |
| (c) | 作成したトピックを開き「Create subscription」→ プロトコル Email、エンドポイントに通知先メールアドレスを入力 |
| (d) | 受信した確認メールのリンクをクリックし、サブスクリプションを承認 |
テスト送信の実行
- Budgets の一覧画面で対象予算の Actions → Send test notification を選択。
- メールと SNS トピック両方にテストメールが届くことを確認し、迷惑メールフォルダに振り分けられていないかもチェックします。
超過防止の実務的ベストプラクティス
1. リソースタグ付与と自動停止 Lambda の活用
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import boto3 import datetime ec2 = boto3.client('ec2') now = datetime.datetime.utcnow() def lambda_handler(event, context): # タグが付与されていない、または Owner が未設定のインスタンスを取得 filters = [{'Name': 'tag-key', 'Values': ['Owner']}] instances = ec2.describe_instances(Filters=filters)['Reservations'] for reservation in instances: for instance in reservation['Instances']: launch_time = instance['LaunchTime'] # 起動から 7 日以上経過している場合は停止 if (now - launch_time).days > 7: ec2.stop_instances(InstanceIds=[instance['InstanceId']]) |
- タグ戦略:
Env=dev|stg|prod、Owner=<チーム>を必須項目とし、IaC(CloudFormation/Terraform)で自動付与します。 - Lambda スケジュール:毎日 00:00 UTC に実行することで、放置インスタンスを自動停止し、無料枠超過リスクを低減できます。
2. Cost & Usage Report(CUR)と Athena を使った可視化
- Billing ダッシュボード → Cost & Usage Reports → 「Create report」
Include resource IDsとReport versioningを有効にし、S3 バケットに保存。- S3 に保存された CSV/Parquet データを Amazon Athena でクエリ作成。例:
|
1 2 3 4 5 6 7 8 9 |
SELECT line_item_usage_type, SUM(line_item_usage_amount) AS usage_hours, SUM(line_item_blended_cost) AS cost_usd FROM cur_table WHERE line_item_product_code = 'AmazonEC2' AND line_item_usage_type LIKE '%BoxUsage:t3.micro%' GROUP BY line_item_usage_type; |
- クエリ結果を QuickSight にインポートすれば、Free Tier の使用率ダッシュボードが自動更新されます。
3. 定期レビューサイクル
| 項目 | 実施頻度 | 確認内容 |
|---|---|---|
| Free Tier 使用状況確認 | 週1回 | Billing → Free Tier Usage のパーセンテージとアラート設定 |
| アラート履歴レビュー | 週1回 | Budgets → Alert history に未処理の通知がないか |
| タグ・リソース監査 | 月1回 | Resource Groups でタグ付与漏れ、稼働中インスタンスを抽出 |
| CUR 分析 | 月1回 | Athena クエリで「Free Tier 超過」レコードを抽出し、原因を特定 |
まとめ
- Free Tier の課金は上限超過(100 %)時に開始。通知は閾値設定次第で事前に受け取れるが、デフォルトの「85 %」という数値は公式に保証されていないため、自組織で適切なパーセンテージを選択してください。
- Billing コンソール で Free Tier Usage Alerts を有効化し、閾値と通知先(メール・SNS)を設定するだけで、早期警戒が可能です。
- Budgets の 0 USD Free Tier 予算 は、上限到達時に即座にアラートを発火させるシンプルかつ効果的な手段です。
- メール+SNS 両方への通知設定とテスト送信 によって、担当者が確実にアラートを受領できる体制を構築します。
- タグ付け・自動停止 Lambda・CUR+Athena の可視化 を組み合わせた運用フローは、無料枠超過リスクを体系的に低減し、継続的なコスト管理を実現します。
これらの手順とベストプラクティスを導入すれば、AWS 無料利用枠の利用状況をリアルタイムで把握でき、予期せぬ課金を未然に防げます。ぜひご自社環境に合わせてカスタマイズし、運用に取り込んでください。