Azure Reserved InstancesとSavings Plan
Azure のコスト最適化において、Reserved Instances(予約インスタンス) と Azure Savings Plans(節約プラン) は、従量課金と比較して最大 72% のコスト削減を実現できる主要な割引オプションです。本ドキュメントでは、両者の仕組みと違い、および効果的な活用方法を解説します。
Azure Reserved Instances(予約インスタンス)
概要
Reserved Instances(RI)は、特定の Azure リソースを 1年または3年の期間で事前予約 することで、従量課金(PAYG)と比較して大幅な割引を受けられる購入オプションです。割引は予約した属性(リージョン、SKU など)に一致したリソースの使用量に対して自動的に適用されます。
対応サービス
Reserved Instances は以下の主要サービスで利用できます。
| サービス | 割引率(最大) |
|---|---|
| Azure Virtual Machines | 最大 72% |
| Azure SQL Database | 最大 55% |
| Azure SQL Managed Instance | 最大 55% |
| Azure Cosmos DB | 最大 65% |
| Azure Blob Storage | 最大 23% |
| Azure Databricks | 最大 45% |
| Azure App Service (Isolated) | 最大 55% |
| Azure Cache for Redis | 最大 55% |
仕組み
予約スコープ
予約のスコープは、割引を適用する範囲を定義します。
| スコープ | 説明 | 適用シナリオ |
|---|---|---|
| 単一リソースグループ | 特定のリソースグループのリソースのみ | 特定プロジェクトへの適用 |
| 単一サブスクリプション | 特定サブスクリプション内のリソース | 環境単位での管理 |
| 共有スコープ | 同じ請求アカウント配下の全サブスクリプション | エンタープライズ全体での柔軟な活用 |
| 管理グループ | 管理グループ配下の全サブスクリプション | 部門・チーム単位での管理 |
柔軟性オプション(Instance Size Flexibility)
Virtual Machine の予約では、Instance Size Flexibility が利用できます。これにより、同じ VM ファミリー内の異なるサイズへ予約の割引を適用できます。
- 有効時(デフォルト): 同じシリーズ内の別サイズにも割引が適用
- 無効時: 予約した特定のサイズにのみ割引が適用
予約の変更とキャンセル
| 操作 | 条件 |
|---|---|
| 交換 | 同じサービスカテゴリの別の予約への交換が可能(VM間など) |
| キャンセル | 年間 $50,000 USD まで返金可能。早期解約手数料 12% が発生 |
| 変更 | スコープやリソースグループは随時変更可能 |
Azure Savings Plans(節約プラン)
概要
Azure Savings Plans は 1時間あたりの最低利用金額(コミットメント) を約束することで割引を受けられる柔軟な購入オプションです。2022年10月に導入され、Reserved Instances よりも広いサービス範囲に対応しています。
対応サービス
Savings Plans は以下の2種類があり、割引対象が異なります。
1. Compute Savings Plans(コンピュート節約プラン)
最も広い適用範囲を持ち、以下のコンピュートサービスに自動的に割引が適用されます。期間は 1年 / 3年。
- Azure Virtual Machines
- Azure App Service
- Azure Functions(Premium プラン)
- Azure Container Instances
- Azure Dedicated Host
- Azure Container Apps
- Azure Spring Apps for Enterprise
ソフトウェア・ネットワーク・ストレージ費用は対象外です。ライセンスコストは Azure Hybrid Benefit で別途カバーできます。
2. Savings plan for databases(データベース節約プラン)
データベースサービスのインフラおよびソフトウェア IP コストをカバーします。期間は 1年のみ。
対象サービス:
- Azure SQL Database(Hyperscale / Serverless を含む)
- Azure SQL Managed Instance
- Azure Database for PostgreSQL
- Azure Database for MySQL
- Azure Cosmos DB
- Azure DocumentDB
- Azure Database Migration Service
- SQL Server on Azure Virtual Machines(時間課金ライセンス)
- SQL Server enabled by Azure Arc(時間課金ライセンス)
仕組み
コミットメントに満たない使用量でも設定した金額が課金されるため、実際の使用量を把握した上でコミットメントを設定することが重要です。
Reserved Instances と Savings Plans の比較
| 比較軸 | Reserved Instances | Azure Savings Plans |
|---|---|---|
| 割引最大率 | 最大 72%(VM) | 最大 65% |
| 柔軟性 | 低(特定リソースに紐づく) | 高(サービス横断で適用) |
| コミットメント方式 | 特定リソースの予約 | 時間あたりの利用金額 |
| 対象サービス | サービス固有(VM, SQL など) | コンピュート全般(Compute Plan) |
| リージョン柔軟性 | リージョン固定またはゾーン固定 | リージョンをまたいで適用可能 |
| 期間 | 1年 / 3年 | Compute: 1年 / 3年 、Databases: 1年のみ |
| 支払方法 | 全額前払い / 月払い | 全額前払い / 月払い(合計額は同じ) |
| キャンセル | 可能(早期解約手数料あり) | 不可 |
| 推奨シナリオ | 安定した特定ワークロード | 動的・多様なコンピュートワークロード |
どちらを選ぶべきか
Reserved Instances が適している場合
- 特定の VM サイズ・シリーズを長期間安定稼働させる場合
- SQL Database、Cosmos DB など特定 PaaS サービスを継続利用する場合
- より高い割引率(最大 72%)を優先する場合
- リソース構成が固定されており変更頻度が低い場合
Savings Plans が適している場合
- VM のサイズやシリーズを定期的に変更することがある場合
- 複数リージョンにわたるワークロードを持つ場合
- App Service や Functions など複数コンピュートサービスを組み合わせて利用する場合
- 将来のリソース変更に柔軟に対応したい場合
組み合わせ活用
Reserved Instances と Savings Plans は組み合わせて利用できます。 Microsoft が推奨する最適化シーケンスは以下の通りです。
- ライトサイジング(Right-size first) — 未使用・過剰スペックのリソースを削除。割引はコストを下げるが、無駄を排除しない
- 未活用の予約を交換 — ワークロードが変化した場合、既存の予約をより適切な構成に交換
- 未活用の予約を Savings Plan にトレードイン — 使用量が変動的な場合、硬直的な予約を柔軟な Savings Plan に転換
- 新規の予約を購入 — 安定稼働が確認されたワークロードに対してのみ予約を追加
- 新規の Savings Plan を購入 — 最後に、最適化されたベースラインに合わせた Savings Plan を追加
このシーケンスは「無駄の排除 → 既存コミットメントの最適化 → 新規コミットメントの追加」の順で進めることで、理論上の割引ではなく実際の節約を実現します。
コスト最適化のベストプラクティス
1. 現状の使用量分析から始める
予約を購入する前に、過去30〜90日間の使用パターンを分析することが不可欠です。
- Azure Cost Management + Billing でコスト分析
- リソースの使用率(CPU、メモリ)を Azure Monitor で確認
- 常時稼働のリソースと一時的なリソースを分類
2. Azure Advisor の推奨事項を活用する
Azure Advisor は使用パターンを分析し、コスト最適化に関する推奨事項を提供します。
Azure Portal → Azure Advisor → コスト →
「Reserved VM instances を購入してコストを節約する」
Advisor の推奨事項には、推定節約額と推奨される予約 SKU が含まれており、意思決定の参考になります。
3. 適切なスコープを選択する
複数のサブスクリプションがある場合は、共有スコープまたは管理グループスコープを選択することで、割引をより柔軟に活用できます。チームやプロジェクト単位のコスト管理が必要な場合はサブスクリプションまたはリソースグループスコープが適しています。
4. ハイブリッド特典(Azure Hybrid Benefit)との組み合わせ
Windows Server や SQL Server の既存オンプレミスライセンス(ソフトウェアアシュアランス付き)を Azure に持ち込むことで、さらなるコスト削減が可能です。
| 組み合わせ | 節約率の目安 |
|---|---|
| 予約のみ | 最大 72% |
| Azure Hybrid Benefit のみ | 最大 40% |
| 予約 + Azure Hybrid Benefit | 最大 80%+ |
5. 段階的な導入(保守的アプローチ)
一度に大量の予約を購入するのではなく、段階的に進めることをお勧めします。
Step 1: 未使用・過剰スペックリソースを特定・削除(ライトサイジング)
Step 2: 既存の未活用予約を最適な構成に交換またはトレードイン
Step 3: 安定稼働が確認された上位ワークロードを予約
Step 4: 変動するコンピュートは Savings Plan でカバー
Step 5: 定期的なレビューサイクルを確立
新規のSavings Planコミットメントは推奨事項を7日以上確認してから購入してください。Advisor の推奨は直近3日間・30日間の低い方の値を提示するため、過剰コミットを防止します。
6. 定期的なレビューと最適化
予約の有効活用状況を定期的に確認します。
- Azure Portal → 予約 → 使用状況 でカバレッジを確認
- 使用率が低い予約は別のリソースへの交換を検討
- 新しいリソースが追加された際に予約でカバーできるか評価
- 年次更新時に期間・スコープの見直しを実施
7. コストの可視化とタグ付け
予約のコスト配賦を適切に行うために、リソースにタグを設定しましょう。
{
"Environment": "Production",
"Team": "Platform",
"CostCenter": "CC-1234",
"ReservationScope": "SharedSubscription"
}
Azure Cost Management のコスト分析でタグによるフィルタリングを行うことで、部門・プロジェクト別のコスト状況を把握できます。
Azure Cost Management + Billing の活用
Azure Cost Management + Billing は、コスト最適化の中核ツールです。
主な機能
| 機能 | 説明 |
|---|---|
| コスト分析 | リソース・タグ・サービス別のコスト可視化 |
| 予算アラート | 設定した予算に対するアラート通知 |
| 推奨事項 | RI・Savings Plans の購入推奨 |
| コスト配賦 | 共有リソースのコストを複数チームに配賦 |
| エクスポート | コストデータの定期エクスポート(Blob Storage) |
予約カバレッジの確認
Azure Portal の 予約 ブレードから、購入した予約の使用率(Utilization)と対象リソースのカバレッジ(Coverage)を確認できます。
- 使用率 100% が理想(予約が無駄なく使われている)
- カバレッジ が低い場合は追加の予約購入を検討
まとめ
| 施策 | 期待できる効果 |
|---|---|
| Reserved Instances(3年・全額前払い) | 最大 72% のコスト削減 |
| Savings Plans(3年) | 最大 65% のコスト削減 |
| Azure Hybrid Benefit との組み合わせ | さらに 10〜40% 追加削減 |
| 未使用リソースの削除 | 不要コストの完全排除 |
| 適切なサイジング | 過剰スペックの解消 |
コスト最適化は一度行えば完了するものではなく、継続的な改善サイクルが重要です。Azure Advisor や Azure Cost Management を定期的に確認し、ワークロードの変化に合わせて予約戦略を見直していきましょう。