1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

2日目:AWS無料枠使い倒し「AWSアカウント作成+請求アラート設定」

1
Last updated at Posted at 2025-12-02

AWSアカウント作成と無料枠の確認+CLIで請求アラート設定

アドベントカレンダー2日目は、アカウントを作ったら即やっておくべき「請求アラート設定」まで踏み込みます。無料枠で学ぶなら、予算超過の通知は保険として必須。GUIでも設定できますが、今回はAWS CLIで自動化できる手順を紹介します。


✅ この記事でやること

  • AWSアカウント作成〜Free Tier確認(概要)
  • 無料枠の落とし穴(2日目のポイント)
  • AWS CLIでBudgetsを作成して、$1超過でメール通知までを実装

✅ 前提(準備)

  • AWS CLIがセットアップ済み(aws configureで認証済み)
  • IAM権限:Budgets操作が可能(budgets:*ce:*
  • 通知先メールアドレスが受信可能(検証メールが届きます)

1. アカウント作成と無料枠(要点だけ)

  • AWSのアカウント作成
    → クレカ登録&電話認証、サポートは「ベーシック」
  • Free Tierの種類
    • 12か月無料枠:EC2/RDSなどの「時間」や「サイズ」制限(例:EC2 t2.micro/t3.micro合計750時間/月、RDS 750時間/月)
    • 常時無料枠:Lambda(100万リクエスト/月)、S3(5GB)など
  • 落とし穴
    • EC2を停止してもEBSが課金される → 不要なら削除
    • Elastic IPは未アタッチ停止中で課金されることがある
    • CloudWatchのカスタムメトリクスは有料
    • リージョンを跨ぐと想定外の料金が出ることがある

2. CLIで請求アラート(AWS Budgets)を作る

Budgetsはアカウント単位で「月予算」を定義し、しきい値を超えたら通知します。今回は月額$1の予算で、実績が80%($0.8)を超えたらメール通知します。

1. アカウントIDを取得

aws sts get-caller-identity --query Account --output text

2. 予算定義のJSONを用意

budget.jsonを作成して、予算・通知・宛先をまとめて定義します。

{
  "Budget": {
    "BudgetName": "Monthly-1USD-Budget",
    "BudgetLimit": {
      "Amount": 1,
      "Unit": "USD"
    },
    "CostFilters": {},
    "CostTypes": {
      "IncludeTax": true,
      "IncludeSubscription": true,
      "UseBlended": false,
      "IncludeRefund": true,
      "IncludeCredit": true,
      "IncludeUpfront": true,
      "IncludeRecurring": true,
      "IncludeOtherSubscription": true,
      "IncludeSupport": true,
      "IncludeDiscount": true
    },
    "TimeUnit": "MONTHLY",
    "TimePeriod": {
      "Start": "2025-01-01T00:00:00Z",
      "End": "2087-12-31T23:59:59Z"
    },
    "BudgetType": "COST"
  },
  "NotificationsWithSubscribers": [
    {
      "Notification": {
        "NotificationType": "ACTUAL",
        "ComparisonOperator": "GREATER_THAN",
        "Threshold": 80,
        "ThresholdType": "PERCENTAGE"
      },
      "Subscribers": [
        {
          "SubscriptionType": "EMAIL",
          "Address": "you@example.com"
        }
      ]
    }
  ]
}

3. Budgetsを作成

ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
aws budgets create-budget   --account-id "${ACCOUNT_ID}"   --budget file://budget.json

4. 作成状態の確認

aws budgets describe-budgets   --account-id "${ACCOUNT_ID}"   --query 'Budgets[?BudgetName==`Monthly-1USD-Budget`]'

5. 削除(不要になったら)

aws budgets delete-budget   --account-id "${ACCOUNT_ID}"   --budget-name "Monthly-1USD-Budget"

✅ 今日のコスト

$0.00(アカウント作成のみ)


✅ 運用のコツ(無料枠を守る)

  • 月初にEC2を起動しっぱなしにしない
  • Cost Explorerで定期チェック
  • 未使用リソースの削除(EBS、EIP、ALBなど)

✅ トラブルシュート

  • AccessDeniedException → Budgets権限不足
  • メールが届かない → 迷惑メール/フィルタ確認
  • Costデータ反映遅延 → アカウント作成直後は最大48時間遅延

✅ 次回予告(3日目)

「IAMで安全な権限管理を始める」

  • ルートユーザーは使わない
  • 管理者ロール+MFA
  • 最小権限のベストプラクティス

✅ まとめ

  • AWSアカウント作成は簡単だが、無料枠の理解が重要
  • 請求アラート設定で課金リスクを回避
  • CLIでBudgetsを自動化すれば、GUIより速く再利用可能

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?