Amazon SES の新料金プラン(Essentials/Pro/Enterprise)を Price List API と SES API で確認してみた
はじめに
2026年7月20日、Amazon SES の API モデルに料金プラン関連の変更が追加されました。AWS CLI 2.36.3 の CHANGELOG には以下のように記載されています。
Amazon SES introduces three new Pricing Plans (Essentials, Pro, Enterprise), which bundle SES features under one pricing umbrella.
https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst
今回追加されたのは Essentials(月額固定費なし)・Pro($105/月)・Enterprise($500/月)の3プランです。各プランの含有機能と料金は後述します。
コンソールに追加された「価格プラン」画面です。

本記事では、Price List API で各プランの料金データを取得し、SES API の GetAccount / PutAccountPricingAttributes によるプラン確認・変更の動作を検証しました。
検証内容
検証環境
| 項目 | 値 |
|---|---|
| AWS CLI | aws-cli/2.36.4 |
| 主検証リージョン | us-east-1 |
| リージョン別確認 | ap-northeast-1 ほか計10リージョン |
| 検証アカウント | アカウントA・B・C の3アカウント |
Price List API で料金データを確認する
SES の属性に pricingPlans が追加されたことで、プラン別料金をフィルタ取得できるようになりました。
pricingPlans 属性の確認
まず describe-services で SES サービスの属性一覧を確認しました。pricingPlans が属性として追加されています。
aws pricing describe-services --service-code AmazonSES --region us-east-1
レスポンス全文
{
"Services": [
{
"ServiceCode": "AmazonSES",
"AttributeNames": [
"termType",
"productFamily",
"servicecode",
"location",
"locationType",
"usagetype",
"operation",
"contentType",
"regionCode",
"servicename",
"feature",
"pricingPlans",
"apiCategory",
"description",
"origin",
"recipient",
"group",
"groupDescription",
"Restriction",
"recipientValidation"
]
}
],
"FormatVersion": "aws_v1"
}
プラン値の取得
get-attribute-values で pricingPlans の取りうる値を取得しました。
aws pricing get-attribute-values \
--service-code AmazonSES \
--attribute-name pricingPlans \
--region us-east-1
{
"AttributeValues": [
{ "Value": "Enterprise" },
{ "Value": "Essentials" },
{ "Value": "Pro" }
]
}
各プランの送信単価
get-products のフィルタに pricingPlans を指定すると、プランごとの料金データを取得できます。以下は Essentials の Outbound-Email を取得する例です。
aws pricing get-products \
--service-code AmazonSES \
--filters \
Type=TERM_MATCH,Field=pricingPlans,Value=Essentials \
Type=TERM_MATCH,Field=feature,Value=Outbound-Email \
Type=TERM_MATCH,Field=regionCode,Value=us-east-1 \
--region us-east-1
Essentials の Outbound-Email レスポンス(抜粋)
{
"publicationDate": "2026-07-20T18:02:12Z",
"feature": "Outbound-Email",
"pricingPlans": "Essentials",
"tiers": [
{"beginRange": "0", "endRange": "10000000", "pricePerUnit": "0.0001600000"},
{"beginRange": "10000000", "endRange": "100000000", "pricePerUnit": "0.0001400000"},
{"beginRange": "100000000", "endRange": "Inf", "pricePerUnit": "0.0001100000"}
]
}
3プランのアウトバウンドEmail 単価を 1,000通あたりに換算した比較は以下のとおりです。
| ボリューム | Essentials | Pro | Enterprise |
|---|---|---|---|
| 0〜10M通 | $0.16 | $0.22 | $0.23 |
| 10M〜100M通 | $0.14 | $0.17 | $0.18 |
| 100M通超 | $0.11 | $0.12 | $0.13 |
※ Essentials・Enterprise は Price List API、Pro はコンソール「プランを比較」画面の表示値です。
送信単価(Outbound-Email)を Price List API で取得できたのは Essentials と Enterprise でした。Pro の Outbound-Email 単価は Price List API のレスポンスに含まれず、コンソールの「プランを比較」画面の表示値です。なお、Pro の機能込み($0.00)データは Price List API から取得できます。
月額固定費は以下のとおりです。
| プラン | 月額固定費 |
|---|---|
| Essentials | なし |
| Pro | $105/アカウント/リージョン/月 |
| Enterprise | $500/アカウント/リージョン/月 |
プランに含まれる機能
Price List API で単価 $0.00(または無料利用枠内で $0.00)として返される機能を整理しました。一部の機能は無料枠を超えると別途課金されます。
| 機能 | Essentials | Pro | Enterprise |
|---|---|---|---|
| VDM - SES配信可能性 | ✅ | ✅ | ✅ |
| VDM - グローバル配信可能性 | ❌ | ✅ | ✅ |
| 専用IP - マネージド | ❌ | ✅ | ✅ |
| Eメール検証(自動) | ❌ | ✅ | ✅ |
| グローバルエンドポイント | ❌ | ❌ | ✅ |
| テナント | ❌ | ❌ | ✅ |
| 認証済みイングレスエンドポイント | ✅ | ✅ | ✅ |
| オープン/mTLSイングレスエンドポイント | ❌ | ✅ | ✅ |
| Trend Micro アドオン | ❌ | ✅ | ✅ |
| Spamhaus アドオン | ❌ | ❌ | ✅ |
Pro と Enterprise の Price List API レスポンス(抜粋・再構成)
{
"publicationDate": "2026-07-20T18:02:12Z",
"pro_samples": [
{
"feature": "Recipients-Validation",
"pricingPlans": "Pro",
"pricePerUnit": "0.0000000000"
},
{
"feature": "InboxTest-VirtDelivMgr",
"pricingPlans": "Pro",
"tiers": [
{"beginRange": "0", "endRange": "5", "pricePerUnit": "0.0000000000"},
{"beginRange": "5", "endRange": "Inf", "pricePerUnit": "10.0000000000"}
]
}
],
"enterprise_samples": [
{
"feature": "Outbound-Email",
"pricingPlans": "Enterprise",
"tiers": [
{"beginRange": "0", "endRange": "10000000", "pricePerUnit": "0.0002300000"},
{"beginRange": "10000000", "endRange": "100000000", "pricePerUnit": "0.0001800000"},
{"beginRange": "100000000", "endRange": "Inf", "pricePerUnit": "0.0001300000"}
]
},
{
"feature": "Recipients-DIP-Managed",
"pricingPlans": "Enterprise",
"pricePerUnit": "0.0000000000"
}
]
}
従来料金(NONE)と Essentials の比較
従来のアラカルト料金(プランなし = NONE)と Essentials プランの料金を比較しました。
| 項目 | NONE | Essentials |
|---|---|---|
| アウトバウンドEmail | $0.10/1,000通(一律) | $0.16/1,000通(ボリューム階層) |
| VDM - SES配信可能性 | $0.07/1,000通(別料金) | 込み |
| Mail Manager 処理 | $0.15/1,000通(別料金) | 込み |
| 固定月額 | なし | なし |
※ NONE の単価は公式料金ページ、Essentials は Price List API の値です。
送信のみであれば NONE のほうが単価は低いです。一方、VDM と Mail Manager を併用する場合は合算で $0.32/1,000通(NONE)に対し Essentials は $0.16/1,000通となります。VDM と Mail Manager を両方利用しているアカウントでは、Essentials への切り替えで送信あたりの合算コストが下がります。
SES API でプランを確認・変更する
SES API(sesv2)の GetAccount と PutAccountPricingAttributes を使って、プランの確認と変更を試しました。
GetAccount で現在のプランを確認する
GetAccount に PricingAttributes フィールドが追加されました。
aws sesv2 get-account --region us-east-1 --query PricingAttributes
{
"CurrentPlan": "ESSENTIALS"
}
NextPlan フィールドは変更予約がない場合はレスポンスに含まれません(Pro / Enterprise 変更時に使われる可能性がありますが、今回は未検証です)。
get-account 出力全文
{
"DedicatedIpAutoWarmupEnabled": false,
"EnforcementStatus": "HEALTHY",
"ProductionAccessEnabled": true,
"SendingEnabled": true,
"PricingAttributes": {
"CurrentPlan": "ESSENTIALS"
},
"SendQuota": {
"Max24HourSend": 50000.0,
"MaxSendRate": 14.0,
"SentLast24Hours": 0.0
}
}
PutAccountPricingAttributes でプランを変更する
PutAccountPricingAttributes で --plan パラメータにプラン名を指定して変更します。まず ESSENTIALS から NONE に変更しました。
aws sesv2 put-account-pricing-attributes --plan NONE --region us-east-1
レスポンスは空(HTTP 200)です。変更後に GetAccount で確認すると、CurrentPlan が即座に NONE へ変わっていました。
aws sesv2 get-account --region us-east-1 --query PricingAttributes
{
"CurrentPlan": "NONE"
}
続いて NONE → ESSENTIALS に戻し、同じく即時反映を確認しました。
aws sesv2 put-account-pricing-attributes --plan ESSENTIALS --region us-east-1
プラン変更の動作をまとめます。
| 操作 | 結果 | 反映タイミング |
|---|---|---|
| ESSENTIALS → NONE | 成功 | 即時(CurrentPlan 直接変更) |
| NONE → ESSENTIALS | 成功 | 即時(CurrentPlan 直接変更) |
| NONE → ESSENTIALS (ap-northeast-1) | 成功 | 即時 |
NONE ↔ ESSENTIALS 間の変更では NextPlan(変更予約)は使われず、CurrentPlan が直接変わりました。
リージョン別のプラン状態
今回確認した SES 対応リージョン10箇所で GetAccount を実行したところ、すべてのリージョンで PricingAttributes フィールドが返りました。
検証時点では ap-northeast-1(東京)のみ NONE で、他の9リージョンは ESSENTIALS でした。東京リージョンを PutAccountPricingAttributes で ESSENTIALS に変更しても、他リージョンのプラン状態は変化しませんでした。今回の検証範囲では、プランはリージョン単位で独立して管理されていることを確認できました。
コンソール・ドキュメントの展開状況
マネジメントコンソールの SES 左ナビゲーションに「価格プラン」メニューが追加されています。アカウントAでは「新規」バッジ付きで表示されていました。アカウントBでも表示を確認できました。一方、アカウントCの ap-northeast-1 では「価格プラン」メニューは表示されていませんでした。


公式料金ページおよび API リファレンスドキュメントも記事執筆時点では未改定でした。
まとめ
Amazon SES に Essentials・Pro・Enterprise の料金プランが追加されました。今回の検証では、Price List API で取得可能な料金データを確認し、SES API の GetAccount / PutAccountPricingAttributes で現在のプラン確認と NONE ↔ ESSENTIALS 間の変更動作を確認できました。
送信のみであれば従来の NONE のほうが送信単価は低く、Essentials では送信単価が上がります。一方、VDM と Mail Manager の対象料金項目を併用している場合は、利用状況によって Essentials のほうが従量課金の合算より安くなるケースがあります。Pro / Enterprise は、専用IPマネージドやグローバルエンドポイントなど必要な機能をもとに比較するプランといえそうです。
今回の検証ではプラン状態がリージョンごとに独立しているように見えたため、複数リージョンで SES を利用している場合はリージョンごとに現在のプランを確認するのがよさそうです。








