Kiro Enterprise で月途中にサブスクリプションを有効化したユーザーの課金情報をCURで確認してみた

Kiro Enterprise で月途中にサブスクリプションを有効化したユーザーの課金情報をCURで確認してみた

Kiro Enterprise は IAM Identity Center のユーザー単位で月額課金されます。公式ドキュメントでは、月途中の有効化は按分、上位プランへの変更は満額と規定されています。有効化とプラン変更が同じ月に重なるとどうなるのかを、変更前後のCURで比較しました。
2026.08.30

はじめに

Kiro Enterprise は IAM Identity Center のユーザー単位で月額課金されます。月途中のサブスクリプション操作をどう請求するかは、公式ドキュメントに書かれています。

https://kiro.dev/docs/enterprise/billing/

  • If you subscribe a user mid-month, you will be charged a pro-rated fee for that month. The user immediately gets access to the subscribed tier's full credit limits.
  • If you unsubscribe a user mid-month, you will pay for the last month in full. The cancellation takes effect at the beginning of the following month.
  • If you upgrade a subscription mid-month, you will be refunded for the lower-tier subscription, and you will be charged in full for the higher-tier subscription.
  • If you downgrade a subscription mid-month, you will pay in full for the higher-tier subscription, and you will be charged for the lower-tier subscription starting the following month.

月途中の有効化(subscribe)は在籍した時間ぶんの按分、上位プランへの変更(upgrade)は下位プランの返金と上位プランの満額請求です。では、この2つが同じ月に重なるとどうなるのでしょうか。7月と8月のCURで、プラン変更の前後を比較しました。

検証内容

サブスクリプション行の構造を確認したうえで、月途中の有効化と、有効化と同じ月のプラン変更がどう計上されるかを追います。

検証環境

ユーザー単位でサブスクリプションの費用を追うには、リソースIDを含めたエクスポートが必要です。冒頭の Enterprise billing のドキュメントに、その前提が書かれています。

You can identify the cost of Kiro subscriptions for specific users with resource IDs through AWS Billing and Cost Management. To do so, in the Billing and Cost Management console, under Data Exports, create either a standard data export or a legacy CUR export with the Include resource IDs option selected.

今回の観測はすべて、この設定で出力される line_item_resource_id(レガシーCURでは lineItem/ResourceId)に依存しています。

当月分のCURは1日に複数回更新されます。今回は、配信ごとに別のディレクトリを作るレポート定義だったため、日ごとに最後の配信を1本ずつ取り出して、隣り合う日のファイルを比較しました。

形式 列名の例
レガシーCUR identity/LineItemId, bill/PayerAccountId, lineItem/UsageType, product/ProductName
CUR 2.0 bill_payer_account_id, line_item_usage_type, product

スラッシュ区切りのキャメルケースならレガシーCUR、スネークケースなら CUR 2.0 です。列名は異なりますが、FlatRateSubscription の行の並び方と金額は一致します。行構造の提示には CUR 2.0、日次の比較にはレガシーCURのエクスポートを使っています。観測範囲は支払いアカウント1つ、リージョンは US East (N. Virginia) です。

CURの行構造

サブスクリプションの行は、計上開始時刻から月末まで1時間単位でCURに並びます。今回使ったCURは2026年8月30日に取得したものですが、8/31 の行まで入っています。定額料金では月末までの行があらかじめ計上されるため、CURを取得したあとにプラン変更がなければ、月途中のファイルでも当月の合計を読み取れます。8/5 時点のスナップショットでも、最終行は 2026-08-31T23:00:00Z でした。

8月を通して Pro で在籍したユーザーの先頭行です。

line_item_line_item_type,FlatRateSubscription
line_item_usage_type,USE1-KiroEnterprise-Pro
line_item_resource_id,arn:aws:identitystore:::user/example-user-5
line_item_usage_start_date,2026-08-01 00:00:00
line_item_usage_end_date,2026-08-01 01:00:00
line_item_usage_amount,0.00134409
line_item_unblended_rate,20.0000000000
line_item_unblended_cost,0.0268818
line_item_line_item_description,Kiro Enterprise Pro plan
line_item_operation,monthly-subscription
line_item_product_code,Kiro
identity_time_interval,2026-08-01T00:00:00Z/2026-08-01T01:00:00Z

サブスクリプションの計上にあたるのは、line_item_line_item_type が FlatRateSubscription の行です。この行の line_item_product_code は Kiro、line_item_operation は monthly-subscription です。line_item_resource_id には、Identity Store のユーザーを指す arn:aws:identitystore:::user/<UserId> 形式のARNが入ります。line_item_unblended_rate は月額で、観測したレートは Pro が 20、Pro+ が 40、Pro Max が 100、Power が 200 USD でした。

同じユーザーの744行から、先頭2行と最終2行を並べます。

line_item_usage_start_date  line_item_usage_amount  line_item_unblended_cost
       2026-08-01 00:00:00                0.001344                  0.026882
       2026-08-01 01:00:00                0.001344                  0.026882
       2026-08-31 22:00:00                0.001344                  0.026882
       2026-08-31 23:00:00                0.001341                  0.026823

1行が1時間ぶんです。line_item_usage_amount の 0.001344 は8月の744時間の1/744にあたり、コストは月額を744で割った $0.026882 です。月末の 22:00 の行まで同じ額が続き、最終行だけ 0.001341 に落ちて、合計が月額ぴったりに収まります。

8月分のCURで、月初から月末まで Pro が計上されたユーザーは744行で、合計は月額そのままの $20.00 でした。以降の節では、この744行を満額の基準として比べます。

月途中有効化ユーザーの按分

8月の途中でサブスクリプションを有効化したユーザーから、プランごとに1件ずつ挙げます。行数は、そのユーザーのサブスクリプション行が8月のCURに並んでいる本数です。

ユーザー プラン 計上開始 行数 8月計上額
example-user-9 Pro 2026-08-03T03:00:00Z 693 $18.62
example-user-13 Pro+ 2026-08-06T01:00:00Z 623 $33.48
example-user-24 Pro Max 2026-08-26T16:00:00Z 128 $17.15

いずれも最終行は 2026-08-31T23:00:00Z で、行数は計上開始から月末までの時間数と一致しました。按分の起点は有効化した時刻です。example-user-24 の起点は 8/26 の 16:00 で、日単位では丸められていません。

表の1行目の example-user-9 について、先頭2行と最終2行を並べます。プランは満額の例と同じ Pro です。

line_item_usage_start_date  line_item_usage_amount  line_item_unblended_cost
       2026-08-03 03:00:00                0.000836                  0.016711
       2026-08-03 04:00:00                0.001344                  0.026882
       2026-08-31 22:00:00                0.001344                  0.026882
       2026-08-31 23:00:00                0.001341                  0.026827

計上開始の行だけは line_item_usage_amount が 0.000836 で、通常の1時間ぶんである 0.001344 の62.2%です。有効化した時刻からの分単位の端数が、最初の1時間の行に載っています。2行目以降は満額と同じ $0.026882 が並びます。最終行だけわずかに小さいのは、満額の例と同じ端数の調整です。合計は693行で $18.62 になりました。744行に対して欠けている51行ぶんと、先頭行の端数を合わせた額が、満額 $20.00 との差 $1.38 です。

表の Pro+ と Pro Max の2ユーザーについては、8/1から8/28までの全スナップショットを追跡しました。計上開始より前の日のCURに、下位プランである Pro の行はありませんでした。2ユーザーとも、有効化した時点からそれぞれのプランで計上されていました。

月初在籍ユーザーの上位変更

まず、月初から在籍しているユーザーを上位プランへ変更した場合です。7月の日次スナップショットで、変更の前日と翌日を突き合わせました。

20260717 -> 20260718  example-user-3
   変更前 Pro+     2026-07-01T00:00:00Z 〜 2026-07-31T23:00:00Z rows=744 $40.00
   変更後 Pro Max  2026-07-01T00:00:00Z 〜 2026-07-31T23:00:00Z rows=744 $100.00

20260722 -> 20260723  example-user-4
   変更前 Pro      2026-07-01T00:00:00Z 〜 2026-07-31T23:00:00Z rows=744 $20.00
   変更後 Pro+     2026-07-01T00:00:00Z 〜 2026-07-31T23:00:00Z rows=744 $40.00

変更前プランの744行が消え、変更後プランの744行が同じ 7/1〜7/31 に並びました。期間全体が書き換わっており、変更日以降の差額を追加計上する形ではありません。7月にこの形の変更は5件あり、いずれも計上開始時刻は 2026-07-01T00:00:00Z のまま変わらず、金額だけが変わりました。

月途中有効化ユーザーの上位変更

次に、月途中にサブスクリプションを有効化したユーザーを、同じ月のうちに上位プランへ変更した場合です。7/25から7/31までの日次スナップショットで、同じユーザーの行を並べました。

20260725  Pro      2026-07-25T11:00:00Z 〜 2026-07-31T23:00:00Z  rows= 157  $4.22
20260726  Pro      2026-07-25T11:00:00Z 〜 2026-07-31T23:00:00Z  rows= 157  $4.22
20260727  Pro      2026-07-25T11:00:00Z 〜 2026-07-31T23:00:00Z  rows= 157  $4.22
20260728  Pro      2026-07-25T11:00:00Z 〜 2026-07-31T23:00:00Z  rows= 157  $4.22
20260729  Pro      2026-07-25T11:00:00Z 〜 2026-07-31T23:00:00Z  rows= 157  $4.22
20260730  Pro      2026-07-25T11:00:00Z 〜 2026-07-31T23:00:00Z  rows= 157  $4.22
20260731  Pro Max  2026-07-01T00:00:00Z 〜 2026-07-31T23:00:00Z  rows= 744  $100.00

example-user-1 は 2026-07-25T11:00:00Z から Pro で計上が始まりました。変更前は157行、合計 $4.22 の按分でした。7/30のCURまではこの按分が続き、7/31のCURで Pro の157行が消えて、Pro Max の744行が 2026-07-01T00:00:00Z から並びました。変更後、計上開始はサブスクリプションを有効化した時刻から月初へ遡りました。当初の Pro は157時間ぶんの按分でしたが、7月分は Pro Max の月額満額 $100.00 になりました。

満額に変わっても、7月分の請求総額は Pro のままにした場合より少なく済みました。このユーザーは7月に5,283クレジットを消費しました。各プランに含まれるクレジットは Pro が1,000、Pro Max が5,000で、超過は1クレジットあたり $0.04 です。7月分の確定値は、Pro Max の定額 $100.00 と超過 $11.32 で $111.32 でした。Pro のままなら超過は4,283クレジットぶんになり、按分の $4.22 と合わせて $175.54 になる計算です。定額は $95.78 増えますが、超過課金は $160.00 減る計算です。

下位変更と解約

下位プランへの変更と解約についても、日次スナップショットで確認しました。

example-user-4
  7月最終    Pro+     2026-07-01T00:00:00Z 〜 2026-07-31T23:00:00Z rows=744 $40.00
  20260802   Pro      2026-08-01T00:00:00Z 〜 2026-08-31T23:00:00Z rows=744 $20.00

example-user-1
  7月最終    Pro Max  2026-07-01T00:00:00Z 〜 2026-07-31T23:00:00Z rows=744 $100.00
  8月        行なし(8/1〜8/28の全スナップショット)

example-user-4 は7月に Pro+ の満額で計上されました。下位プランの Pro は 2026-08-01T00:00:00Z から計上されていました。下位プランへの変更は当月の請求を減らさず、翌月から適用されます。

example-user-1 は、前節で月途中にサブスクリプションを有効化して Pro Max へ変更したユーザーです。そのあと解約しています。7月分は Pro Max の満額のままで、8月のCURには行が存在しませんでした。解約の手順は別記事で扱っています。

https://dev.classmethod.jp/articles/kiro-enterprise-user-subscription-cancel/

まとめ

個人版の Kiro Pro と Kiro Enterprise のどちらでも、初月のサブスクリプション料金は、有効化した時刻から月末までの時間に応じて按分されることを確認しました。

https://dev.classmethod.jp/articles/kiro-pro-builder-id-upgrade/

上位プランへの変更は、変更日以降の差額を追加するのではなく、月初に遡って変更後プランの料金でその月全体が再計算されることを確認できました。

月途中に Kiro のサブスクリプションを有効化し、按分された料金で利用していたユーザーは、プラン変更により変更後プランの満額が請求されます。ただし、以前の記事で紹介した損益分岐点を超えてクレジットを消費している場合は、満額になってもコスト最適化が期待できます。今回のユーザーも、定額の増加額を超過課金の減少額が上回る計算でした。

https://dev.classmethod.jp/articles/kiro-pro-max-breakeven-update/

同じ月に Pro に含まれるクレジットを大きく超えて使うと見込めるユーザーには、サブスクリプションを有効化する時点で Pro+ 以上のプランを選ぶ運用も試してみてください。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事