目次
- 初心者から実務者向けの包括的解説
- 概要
- License Manager が解決する課題
- 主な特徴
- アーキテクチャ
- ライセンスの種類
- License Configuration(ライセンス設定)
- License Rules(ルール強制)
- 主要ユースケース
- Self-Managed License(自己管理)
- Granted Licenses(付与ライセンス)
- License Asset Groups(資産グループ)
- Managed Entitlements(マネージド付与)
- 設定・操作の具体例
- AWS Marketplace 統合
- Organizations 統合
- Systems Manager Inventory との連携
- ライセンス監査・レポート
- コンプライアンス対応
- トラブルシューティング
- 類似サービス比較
- ベストプラクティス
- 2025-2026 最新動向
- 学習リソース
- 実装例・チェックリスト
- まとめ
AWS License Manager v2.0 完全ガイド 2026
初心者から実務者向けの包括的解説
AWS License Manager は、ソフトウェアライセンス(Microsoft・Oracle・SAP 等)の使用量を追跡・管理し、ライセンス違反を防ぐ無料マネージドサービス であり、BYOL(Bring Your Own License)での AWS 移行時にコンプライアンスを維持します。EC2 インスタンス起動時にライセンス上限をチェックし、超過起動を自動ブロック。組織全体(複数アカウント・複数リージョン)のライセンス使用状況を一元管理し、定期的な監査レポート生成を自動化します。本ドキュメントは、ライセンス構成・ルール強制・マルチアカウント管理・2026 年動向を体系的に解説する完全ガイドです。
ドキュメントの目的
本ガイドは以下を対象としています:
- 初心者向け: License Manager とは何か、なぜ必要かを学びたい方
- IT 管理者向け: ライセンス数管理・BYOL 移行・コンプライアンス遵守
- 財務・調達向け: ライセンスコスト最適化・過剰購入削減
- 監査・コンプライアンス向け: 監査レポート生成・証拠保全
- DevOps・インフラ向け: AWS Organizations 統合・ルール強制の自動化
2026 年の License Manager エコシステム
- AI 駆動ライセンス最適化: 機械学習による使用パターン分析・推奨
- Managed Entitlements 拡大: AWS Marketplace ISV との統合強化
- Linux サブスクリプション統合: Red Hat・Ubuntu 等の自動追跡
- Cross-Account 可視化: Organizations 全体のリアルタイム監視
- 自動コンプライアンスレポート: ベンダー監査への即時対応
目次
- 概要
- License Manager が解決する課題
- 主な特徴
- アーキテクチャ
- ライセンスの種類
- License Configuration(ライセンス設定)
- License Rules(ルール強制)
- 主要ユースケース
- Self-Managed License(自己管理)
- Granted Licenses(付与ライセンス)
- License Asset Groups(資産グループ)
- Managed Entitlements(マネージド付与)
- 設定・操作の具体例
- AWS Marketplace 統合
- Organizations 統合
- Systems Manager Inventory との連携
- ライセンス監査・レポート
- コンプライアンス対応
- トラブルシューティング
- 類似サービス比較
- ベストプラクティス
- 2025-2026 最新動向
- 学習リソース
- 実装例・チェックリスト
- まとめ
概要
初心者向けメモ: License Manager は「ソフトウェアライセンスの在庫管理システム」です。従来、IT 管理者が Excel スプレッドシートでライセンス数を管理していましたが、AWS 移行で EC2 インスタンスが自由に起動・削除されるため、ライセンス数が把握できずに超過・違反のリスクが高まります。License Manager は 自動でライセンス使用量を追跡し、超過起動をブロック することで、この課題を解決します。完全無料で、EC2・RDS に統合されています。
AWS License Manager は以下を提供するライセンス管理プラットフォームです:
| 機能 | 説明 |
|---|---|
| License Configuration | ライセンス数・計数単位(コア・ソケット等)を定義 |
| Rule Enforcement | 上限チェック・起動ブロック・警告の自動実行 |
| Multi-Account Management | Organizations 全体の使用量一元把握 |
| Inventory Tracking | Systems Manager と統合した自動検出 |
| Audit Reports | ベンダー監査対応のレポート生成 |
| AWS Marketplace Integration | ISV ライセンスの自動配布・追跡 |
License Manager が解決する課題
1. BYOL 移行でのライセンス超過リスク
課題:
オンプレ環境:
- SQL Server Enterprise: 100 コア分ライセンス購入済み
- ライセンス数が固定
AWS 移行:
- EC2 インスタンスを自由に起動可能
- m5.24xlarge(96 vCPU)を 10 台起動 → 960 コア消費
- 100 コア分のライセンスでは足りない → ライセンス違反
- ベンダー監査で罰金
License Manager の解決:
License Configuration で上限を設定:
SQL Server Enterprise: 最大 100 コア
EC2 起動時に自動チェック:
インスタンス vCPU 数がライセンス上限を超える場合:
✅ Hard Limit: 起動をブロック(エラー返却)
⚠️ Soft Limit: 警告のみ(起動は進行、管理者に通知)
2. マルチアカウント環境での使用量把握の困難
課題:
複数アカウント環境:
アカウント A: SQL Server 50 コア消費
アカウント B: SQL Server 30 コア消費
アカウント C: SQL Server 20 コア消費
────────────────────────────
合計: 100 コア
各アカウントで個別追跡している場合:
❌ 全社的な使用量把握が困難
❌ ライセンス購入判断ができない
❌ 監査時に統計データ作成が手動
License Manager の解決:
License Asset Groups(中央管理):
- Organizations 全体の使用量をリアルタイム集計
- アカウント・リージョン別の内訳表示
- 月次・四半期・年次レポート自動生成
- ダッシュボードで一目瞭然
3. ベンダーライセンス監査への対応負荷
課題:
Microsoft・Oracle の年 1 回の定期監査:
- ライセンス使用実績を提示する必要
- Excel による手動集計が必要
- 数週間かかる
- エラーのリスク
License Manager の解決:
Audit Reports 機能:
- 監査用 CSV・PDF レポートを自動生成
- CloudWatch Metrics でグラフ化
- 監査期間中の毎日の使用状況を記録
- ワンクリックで提出可能
4. ライセンス数と実際の使用状況の乖離
課題:
- 実際の例:
- SQL Server ライセンス 100 コア分を購入
- 但し実際に使用しているのは 60 コア
- 40 コア分(年数千万円)が無駄
License Manager の解決:
使用実績の可視化:
- 過去 12 ヶ月の使用パターン
- ピーク時・通常時の違い
- 季節変動の検出
- 最適なライセンス数を提案
主な特徴
1. 複数のカウント方式に対応
vCPU Counting:
EC2 インスタンス vCPU 数でカウント
用途: SQL Server・Oracle(多くの DB ライセンス)
Core Counting:
EC2 物理コア数でカウント
用途: Windows Server・SAP
Socket Counting:
サーバーソケット数でカウント
用途: Oracle(一部)
Named User:
ユーザー数でカウント
用途: SAP・IBM・クラウドアプリ
Instance:
インスタンス数でカウント
用途: アンチウイルス等のライセンス
Custom:
ベンダー定義のカウント方式
2. Hard Limit vs Soft Limit
Hard Limit:
- EC2 起動時にライセンス数を超える場合は起動を完全ブロック
- スポット購入の失敗
- CloudWatch アラーム送信
用途: コンプライアンス厳格な環境(金融・医療)
Soft Limit:
- 警告のみで起動は進行
- CloudWatch アラーム送信
- 管理者は手動で対応(例:ライセンス追加購入)
用途: 開発・テスト環境(柔軟性重視)
3. License Tracking(自動追跡)
Systems Manager Inventory と統合:
オンプレミス サーバー:
├─ Systems Manager SSM Agent をインストール
└─ License Manager が SQL Server インストール状況を検出
AWS EC2 インスタンス:
├─ Systems Manager が自動接続
└─ License Manager が OS・アプリケーション検出
結果:
✅ インスタンス起動時に自動追跡
✅ インストール状況リアルタイム更新
4. Organizations 統合
単一アカウント管理:
├─ 自身のアカウントのライセンス設定のみ
Organizations(推奨):
├─ 管理アカウント(マスター)が全メンバーアカウントを監視
├─ リソースタグで部門別・プロジェクト別に分類
└─ 一元的なダッシュボード・レポート生成
アーキテクチャ
License Manager 構成
┌─────────────────────────────────────────────────────────────┐
│ License Manager Console / API │
│ (管理画面・設定) │
└────────────────┬────────────────────────────────────────────┘
│
┌────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────────┐
│License │ │License │ │License Asset │
│Config │ │Rules │ │Groups │
│(設定) │ │(強制) │ │(集計) │
└────┬─────┘ └────┬─────┘ └──────┬───────┘
│ │ │
└────────────┼────────────────┘
│
┌─────────────┼─────────────┐
│ │ │
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────────────┐
│EC2 │ │RDS │ │Systems Mgr │
│Instances│ │Databases │ │Inventory │
└─────────┘ └──────────┘ └──────────────┘
│ │ │
└─────────────┴─────────────┘
│
┌──────▼──────┐
│CloudWatch │
│Metrics/Logs │
└─────────────┘
License Configuration と Rules のフロー
ステップ 1: License Configuration を作成
License Type: SQL Server
Counting Unit: vCPU
Count: 100
Hard Limit: 100
Soft Limit: 80(警告は 80 で開始)
ステップ 2: EC2 インスタンス起動要求
インスタンスタイプ: m5.4xlarge(16 vCPU)
ステップ 3: License Manager が Rules をチェック
現在の使用量: 70 vCPU
新規起動による増加: 16 vCPU
合計: 86 vCPU
ステップ 4: Limit チェック
Soft Limit(80 vCPU)を超過 → CloudWatch アラーム送信
Hard Limit(100 vCPU)には未達 → 起動許可
ステップ 5: 起動処理
インスタンス起動成功
CloudWatch に「ライセンス警告」を記録
ステップ 6: 管理者対応
ダッシュボードでアラーム確認
ライセンス追加購入を検討
ライセンスの種類
| ライセンス種別 | 説明 | 計数単位 | 用途例 |
|---|---|---|---|
| Microsoft Windows Server | サーバー OS ライセンス | Core / Socket | EC2 OS |
| Microsoft SQL Server | RDBMS ライセンス | vCPU / Core | RDS SQL Server |
| Oracle Database | RDBMS ライセンス | vCPU / Named User | RDS Oracle |
| SAP | ERP ライセンス | SAPS(処理能力単位) | EC2 SAP インスタンス |
| IBM | ミドルウェア等 | PVU(プロセッサ単位) | EC2 IBM ソフトウェア |
| Adobe | デスクトップアプリ | Named User | WorkSpaces Adobe |
| Linux(RHEL・Ubuntu) | Linux サブスクリプション | vCPU / Instance | EC2 Linux |
| Custom | ベンダー定義 | カスタム | その他 |
License Configuration(ライセンス設定)
ライセンス設定の作成
# SQL Server Enterprise: 100 vCPU
aws license-manager create-license-configuration \
--name "SQL-Server-Enterprise-100vCPU" \
--license-counting-type vCPU \
--license-count 100 \
--license-count-hard-limit \
--license-rules "#minimumCores=4" \
--description "SQL Server Enterprise with 100 vCPU limit" \
--tags Key=Application,Value=Database Key=Team,Value=Platform
# Oracle Database: 50 Named User
aws license-manager create-license-configuration \
--name "Oracle-Database-50-Users" \
--license-counting-type NAMED_USER \
--license-count 50 \
--license-count-hard-limit \
--description "Oracle Database with 50 named user limit"
# Windows Server: Core 単位(100 コア)
aws license-manager create-license-configuration \
--name "Windows-Server-Core-100" \
--license-counting-type Core \
--license-count 100 \
--license-count-hard-limit=false \ # Soft Limit
--description "Windows Server with soft limit at 100 cores"
ライセンス設定の確認
# 全ライセンス設定を一覧
aws license-manager list-license-configurations \
--query 'LicenseConfigurations[*].[Name,LicenseCountingType,LicenseCount,Status]' \
--output table
# 特定の設定を詳細表示
aws license-manager get-license-configuration \
--license-configuration-arn arn:aws:license-manager:ap-northeast-1:123456789012:license-configuration:lc-abc123 \
--query '[Name, LicenseCountingType, LicenseCount, LicenseCountHardLimit, AssociatedInstances]' \
--output json
License Rules(ルール強制)
Rules の種類
ルール1: #minimumCores
説明: インスタンスが最小コア数を満たす場合のみカウント
例: #minimumCores=4
→ 4 コア未満のインスタンスはライセンスカウント対象外
ルール2: #allowedTenancy
説明: 実行テナンシーを制限
例: #allowedTenancy=Default,Dedicated
→ Default(共有)Dedicated テナンシーのみカウント
ルール3: #maximumCores
説明: 最大コア数を超えるインスタンスは除外
例: #maximumCores=16
→ 16 コア以上のインスタンスはカウント対象外
ルール4: #allowedInstanceTypes
説明: 特定インスタンスタイプのみをカウント
例: #allowedInstanceTypes=m5.*,m6.*
→ m5 ファミリー・m6 ファミリーのみカウント
Rules の適用例
# ルール付きライセンス設定
aws license-manager create-license-configuration \
--name "SQL-Server-with-Rules" \
--license-counting-type vCPU \
--license-count 100 \
--license-count-hard-limit \
--license-rules \
"#minimumCores=2" \
"#maximumCores=32" \
"#allowedInstanceTypes=m5.*,m6.*,r5.*,r6.*" \
--description "SQL Server with specific instance rules"
# ルール確認
aws license-manager get-license-configuration \
--license-configuration-arn arn:aws:license-manager:ap-northeast-1:...:license-configuration/lc-abc123 \
--query 'LicenseConfiguration.LicenseRules'
主要ユースケース
1. SQL Server BYOL で 100 コア制限
# ステップ 1: License Configuration を作成
aws license-manager create-license-configuration \
--name "SQLServer-BYOL-100vCPU" \
--license-counting-type vCPU \
--license-count 100 \
--license-count-hard-limit
# ステップ 2: EC2 インスタンスに適用
aws ec2 create-tags \
--resources i-1234567890abcdef0 \
--tags Key=LicenseConfiguration,Value=arn:aws:license-manager:ap-northeast-1:123456789012:license-configuration/lc-abc123
# ステップ 3: インスタンス起動時にチェック
# EC2 起動時に License Manager が自動的にルール確認
# 100 vCPU を超える場合は起動をブロック
2. Oracle Database の監査対応
# ステップ 1: 現在の使用状況をレポート
aws license-manager list-associations-for-license-configuration \
--license-configuration-arn arn:aws:license-manager:ap-northeast-1:...:license-configuration/lc-oracle \
--output table
# ステップ 2: CloudWatch で使用トレンド確認
aws cloudwatch get-metric-statistics \
--namespace AWS/LicenseManager \
--metric-name LicenseUtilization \
--dimensions Name=LicenseConfigurationName,Value=Oracle-Database-50-Users \
--start-time 2026-01-01T00:00:00Z \
--end-time 2026-04-27T00:00:00Z \
--period 86400 \
--statistics Average,Maximum
# ステップ 3: 監査レポートを生成
# License Manager コンソール → Reports → Generate Report
3. Windows Server コア制限(開発環境)
# ステップ 1: Soft Limit でライセンス設定
aws license-manager create-license-configuration \
--name "Windows-Server-Dev-Soft-50cores" \
--license-counting-type Core \
--license-count 50 \
--license-count-hard-limit=false # Soft Limit
--description "Development environment with soft limit"
# ステップ 2: インスタンス起動
aws ec2 run-instances \
--image-id ami-12345678 \
--instance-type m5.4xlarge \
--tag-specifications 'ResourceType=instance,Tags=[{Key=LicenseConfiguration,Value=arn:aws:license-manager:ap-northeast-1:123456789012:license-configuration/lc-windows-soft}]'
# ステップ 3: 上限超過時の警告
# 60 コア使用時 → Soft Limit(50 コア)を超過
# CloudWatch アラームで管理者に通知(起動は継続)
4. マルチアカウント環境での集計
# License Asset Groups で複数アカウントを統合管理
# アカウント A・B・C の SQL Server 使用量を集計
arn:aws:license-manager:ap-northeast-1:111111111111:license-configuration/lc-sql-a
arn:aws:license-manager:ap-northeast-1:222222222222:license-configuration/lc-sql-b
arn:aws:license-manager:ap-northeast-1:333333333333:license-configuration/lc-sql-c
# License Asset Group で一元管理
aws license-manager create-license-configuration \
--name "SQL-Server-All-Accounts" \
--license-counting-type vCPU \
--license-count 300 \ # 全アカウント合計
--description "Consolidated SQL Server for all accounts"
Self-Managed License(自己管理)
個別アカウントでのライセンス管理
# シングルアカウント管理
# 例1: SQL Server 100 vCPU
aws license-manager create-license-configuration \
--name "SQL-Server-Single-Account" \
--license-counting-type vCPU \
--license-count 100 \
--license-count-hard-limit
# 例2: Oracle 50 Named User
aws license-manager create-license-configuration \
--name "Oracle-Single-Account" \
--license-counting-type NAMED_USER \
--license-count 50 \
--license-count-hard-limit
# 使用状況確認
aws license-manager get-license-configuration \
--license-configuration-arn arn:aws:license-manager:ap-northeast-1:123456789012:license-configuration/lc-sql
# 出力:
# {
# "Name": "SQL-Server-Single-Account",
# "LicenseCountingType": "vCPU",
# "LicenseCount": 100,
# "ConsumedLicenses": 68,
# "LicenseCountHardLimit": true,
# "AssociatedInstances": 15
# }
Granted Licenses(付与ライセンス)
AWS Marketplace・AWS Data Exchange のライセンス追跡
# AWS Marketplace で購入したライセンスを追跡
# 例: SaaS ライセンス(Datadog・New Relic 等)
aws license-manager list-received-licenses \
--query 'Licenses[*].[LicenseName, Issuer, ExpirationDate, ConsumptionConfiguration]' \
--output table
# ライセンスの使用状況確認
aws license-manager get-license \
--license-arn arn:aws:license-manager:ap-northeast-1:...:license/... \
--query '[LicenseName, Status, ReceivedMetadata]'
License Asset Groups(資産グループ)
マルチアカウント・マルチリージョン統合管理
# Organizations に基づいた License Asset Group を作成
# 手順1: License Asset Group を定義
aws license-manager create-license-configuration \
--name "SQL-Server-Corporate-Pool" \
--license-counting-type vCPU \
--license-count 500 \ # 全アカウント合計ライセンス
--license-count-hard-limit \
--description "Consolidated SQL Server for entire organization"
# 手順2: リソースタグでグループ化
# Organizations 管理アカウント で:
aws organizations create-account \
--email dev-account@example.com \
--account-name "Development"
aws organizations tag-resource \
--resource-id r-abcd1234 \
--tags Key=LicenseGroup,Value=SQLServer-Pool
# 手順3: ダッシュボードで全体を監視
# License Manager Console → License configurations → SQL-Server-Corporate-Pool
# → 500 vCPU の合計に対して各アカウントの使用量を表示
Managed Entitlements(マネージド付与)
ISV・Marketplace ライセンス配布
# AWS Marketplace ISV がライセンスを配布
# ISV 側:
aws license-manager create-grant \
--client-token "unique-token-123" \
--grant-name "Customer-ABC-License" \
--license-arn "arn:aws:license-manager:ap-northeast-1:333333333333:license/lic-123" \
--principals "arn:aws:iam::123456789012:root" # 顧客アカウント
# 顧客側:
aws license-manager accept-grant \
--grant-arn "arn:aws:license-manager:ap-northeast-1:333333333333:grant/..." \
--query 'GrantArn'
# 顧客側で追跡
aws license-manager list-received-grants \
--query 'Grants[*].[GrantName, Status, ExpirationDate]'
設定・操作の具体例
AWS CLI での実装
# 例1: SQL Server ライセンス設定(複数ルール付き)
CERT_ARN=$(aws license-manager create-license-configuration \
--name "SQL-Server-Enterprise-100vCPU" \
--license-counting-type vCPU \
--license-count 100 \
--license-count-hard-limit \
--license-rules \
"#minimumCores=2" \
"#allowedInstanceTypes=m5.*,m6.*,r5.*,r6.*" \
--tags \
Key=Application,Value=Database \
Key=Team,Value=Data \
Key=CostCenter,Value=Engineering \
--query 'LicenseConfigurationArn' \
--output text)
echo "Created License Configuration: ${CERT_ARN}"
# 例2: ライセンス設定一覧(フィルタ付き)
aws license-manager list-license-configurations \
--filters Name=LicenseCountingType,Values=vCPU \
--query 'LicenseConfigurations[*].[Name, LicenseCount, ConsumedLicenses, Status]' \
--output table
# 例3: ライセンス使用状況の確認
aws license-manager get-license-configuration \
--license-configuration-arn ${CERT_ARN} \
--query '{Name: Name, Counting: LicenseCountingType, Total: LicenseCount, Used: ConsumedLicenses, Remaining: calculate(LicenseCount - ConsumedLicenses)}'
# 例4: インスタンスとライセンスの関連付け
aws ec2 create-tags \
--resources i-0123456789abcdef0 i-0123456789abcdef1 \
--tags Key=LicenseConfiguration,Value=${CERT_ARN}
# 例5: ライセンス設定の削除(未使用時のみ)
aws license-manager delete-license-configuration \
--license-configuration-arn ${CERT_ARN}
CloudFormation での実装
AWSTemplateFormatVersion: '2010-09-09'
Description: 'License Manager Configuration for SQL Server'
Resources:
SQLServerLicense:
Type: AWS::LicenseManager::License
Properties:
Issuer:
Name: AWS
LicenseMetadata:
- Name: LicenseType
Value: SQL Server Enterprise
LicenseName: SQL-Server-Enterprise-100vCPU
ProductName: SQL Server
Validity:
BeginDate: '2026-01-01T00:00:00Z'
EndDate: '2027-12-31T23:59:59Z'
LicenseConfiguration:
Type: AWS::LicenseManager::LicenseConfiguration
Properties:
LicenseCountingType: vCPU
LicenseCount: 100
LicenseCountHardLimit: true
LicenseRules:
- '#minimumCores=2'
- '#allowedInstanceTypes=m5.*,m6.*,r5.*'
Name: SQL-Server-Enterprise-100vCPU
Description: SQL Server Enterprise with 100 vCPU limit
Tags:
- Key: Application
Value: Database
- Key: Team
Value: Platform
Outputs:
LicenseConfigurationArn:
Description: License Configuration ARN
Value: !GetAtt LicenseConfiguration.LicenseConfigurationArn
Export:
Name: !Sub '${AWS::StackName}-LicenseConfig-ARN'
Terraform での実装
# AWS License Manager を Terraform で管理
resource "aws_licensemanager_license_configuration" "sql_server" {
name = "SQL-Server-Enterprise-100vCPU"
license_counting_type = "vCPU"
license_count = 100
license_count_hard_limit = true
description = "SQL Server Enterprise with 100 vCPU limit"
license_rules = [
"#minimumCores=2",
"#allowedInstanceTypes=m5.*,m6.*,r5.*,r6.*"
]
tags = {
Application = "Database"
Team = "Platform"
CostCenter = "Engineering"
}
}
resource "aws_licensemanager_license_configuration" "oracle" {
name = "Oracle-Database-50-Users"
license_counting_type = "NAMED_USER"
license_count = 50
license_count_hard_limit = true
description = "Oracle Database with 50 named user limit"
tags = {
Application = "Database"
Vendor = "Oracle"
}
}
# EC2 インスタンスにライセンス設定を関連付け
resource "aws_licensemanager_association" "instance" {
license_configuration_arn = aws_licensemanager_license_configuration.sql_server.arn
resource_arn = aws_instance.example.arn
}
AWS Marketplace 統合
SaaS ライセンスの自動追跡
AWS Marketplace ISV がライセンスを販売
例: Datadog・New Relic・Jira・ServiceNow
フロー:
1. ISV がマーケットプレイスで販売
2. 顧客が購入
3. License Manager が自動検出
4. 使用量を追跡・レポート
5. 費用を AWS Bill に統合
ユースケース:
- SaaS ユーザーライセンス管理
- 従量課金の監視
- 年間契約 vs 月間契約の最適化
Organizations 統合
マネージドアカウント全体のライセンス管理
# Organizations 管理アカウントで実行
# 手順1: License Manager を有効化(全アカウント)
aws organizations register-delegated-administrator \
--account-id 123456789012 \
--service-principal license-manager.amazonaws.com
# 手順2: License Asset Group を作成(中央管理)
aws license-manager create-license-configuration \
--name "Corporate-SQL-Server-License-Pool" \
--license-counting-type vCPU \
--license-count 1000 \ # 全アカウント合計
--license-count-hard-limit
# 手順3: Organizations 内の全アカウントを監視
aws organizations list-accounts \
--query 'Accounts[*].[Name,Id]' \
--output table
# 各アカウントのライセンス使用状況を表示
aws license-manager list-license-configurations \
--query 'LicenseConfigurations[*].[Name, ConsumedLicenses, LicenseCount]' \
--output table
Systems Manager Inventory との連携
インストール状況の自動検出
# Systems Manager Inventory を有効化
# オンプレミス・クラウドサーバー上の Systems Manager SSM Agent
aws ssm describe-instance-information \
--query 'InstanceInformationList[*].[InstanceId, PingStatus, PlatformType]' \
--output table
# インベントリのスキャン
aws ssm list-inventory-entries \
--instance-id i-1234567890abcdef0 \
--type-name AWS:Application \
--query 'Entries[?Name==`SQL Server*`]'
# License Manager が自動でライセンス消費を計算
# SQL Server インストール検出 → ライセンスカウント
ライセンス監査・レポート
監査レポート生成
# 方法1: AWS Console(推奨)
# License Manager → Reports → Generate Report
# 形式: CSV / PDF
# 期間: カスタマイズ可能(1 ヶ月〜 12 ヶ月)
# 方法2: AWS CLI
aws license-manager list-license-configurations \
--query 'LicenseConfigurations[*]' \
--output json > license-audit-$(date +%Y%m%d).json
# CloudWatch Metrics を CSV にエクスポート
aws cloudwatch get-metric-statistics \
--namespace AWS/LicenseManager \
--metric-name LicenseUtilization \
--dimensions Name=LicenseConfigurationName,Value=SQL-Server-Enterprise \
--start-time 2026-01-01T00:00:00Z \
--end-time 2026-04-27T00:00:00Z \
--period 86400 \
--statistics Average,Maximum \
--query 'Datapoints[*].[Timestamp, Maximum]' \
--output table
コンプライアンス対応
ベンダー監査への対応
Microsoft・Oracle の定期監査に対応
License Manager の役割:
1. 過去 12 ヶ月の使用実績を記録
2. ピーク時の使用量をレポート
3. ライセンス超過がないことを証明
4. CloudTrail で操作ログを保全
手順:
① 監査通知を受け取る
└─ Microsoft Compliance Center から監査要求メール
② License Manager でレポート生成
aws license-manager list-license-configurations \
--query 'LicenseConfigurations[*]' > audit-report.json
③ CloudWatch グラフをダウンロード
License Manager Console → Reports → View Metrics
④ 監査人に提出
└─ レポート + グラフ + CloudTrail ログ
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| License Configuration が見つからない | 別リージョンで作成 | リージョン確認・切替 |
| インスタンス起動がブロックされ続ける | タグの関連付けが不正 | タグを確認・再設定 |
| 使用量が更新されない | Systems Manager Inventory が無効 | SSM Agent をインストール・有効化 |
| 監査レポート生成に失敗 | IAM 権限不足 | license-manager:* の権限を追加 |
| Organizations 統合ができない | 管理アカウントで実行していない | 管理アカウントで register-delegated-administrator 実行 |
類似サービス比較
| 観点 | AWS License Manager | Flexera | Snow Software | ServiceNow ITAM |
|---|---|---|---|---|
| コスト | 無料 | $5k-$20k/年 | $10k-$50k/年 | $10k+/年 |
| 運用 | マネージド(AWS 統合) | クラウド・オンプレ | クラウド・オンプレ | SaaS |
| 自動追跡 | ✅(EC2・RDS) | ✅(より広い) | ✅(より広い) | ✅ |
| AWS 統合 | ✅ ネイティブ | ⚠️ 限定的 | ⚠️ 限定的 | ⚠️ API |
| Organizations | ✅ | ⚠️ | ⚠️ | ⚠️ |
| カスタマイズ | 基本的 | 高度 | 高度 | 高度 |
| 監査レポート | ✅ | ✅ | ✅ | ✅ |
ベストプラクティス
✅ 推奨事項
1. Hard Limit を本番環境で設定
理由: ライセンス違反を完全防止
2. Soft Limit を開発・テスト環境で設定
理由: 開発の柔軟性を損なわない
3. License Rules で詳細に条件設定
理由: 正確なライセンス計数
4. CloudWatch アラームで監視
理由: 上限超過を早期検知
5. Organizations で一元管理
理由: マルチアカウント環境での統一
6. 定期的なレポート生成と監査
理由: ベンダー監査に備える
7. Systems Manager Inventory と統合
理由: 自動追跡でヒューマンエラー排除
❌ アンチパターン
1. Hard Limit を使用しない
→ ライセンス違反リスク
2. Rules を設定しない
→ 不適切なインスタンスをカウント
3. Organizations 統合を無視(シングルアカウント管理続行)
→ マルチアカウント管理が困難
4. 監査レポートを生成しない
→ ベンダー監査に対応できない
5. Systems Manager Inventory を無視
→ 手動追跡による誤り
2025-2026 最新動向
1. AI 駆動ライセンス最適化
AWS は AI で使用パターンを分析
機能:
- 機械学習による使用予測
- 最適なライセンス数推奨
- 季節変動の自動検出
- コスト削減機会を提案
実装時期: 2025 年後半
2. Managed Entitlements 拡大
AWS Marketplace ISV との統合強化
目標:
- SaaS ライセンスの自動配布
- ユーザー単位での付与管理
- チャーンの自動化
3. Linux サブスクリプション統合
- Red Hat・Ubuntu・SUSE 等を自動追跡
- 実装状況: 試験段階
学習リソース
公式ドキュメント
ベンダーリソース
- Flexera - エンタープライズライセンス管理
- Snow Software - SaaS 管理
- ServiceNow ITAM - IT 資産管理
実装例・チェックリスト
チェックリスト
## License Manager 導入前チェック
### 要件確認
- [ ] BYOL ライセンスがある(SQL Server・Oracle 等)
- [ ] マルチアカウント環境か単一アカウントか確認
- [ ] ベンダー監査の頻度を確認
- [ ] 現在のライセンス数を把握
### 設計
- [ ] ライセンスタイプ(Microsoft・Oracle・SAP 等)を確認
- [ ] 計数単位(vCPU・Core・Named User)を確認
- [ ] Hard Limit vs Soft Limit の判断
- [ ] ルール設定(#minimumCores 等)の決定
### 実装
- [ ] License Configuration を作成
- [ ] License Rules を設定
- [ ] EC2 インスタンスに タグを適用
- [ ] Systems Manager Inventory を有効化
- [ ] Organizations 統合(マルチアカウント環境)
### 運用
- [ ] CloudWatch アラーム設定
- [ ] CloudTrail ロギング有効化
- [ ] 定期的なレポート生成(月次)
- [ ] ベンダー監査対応体制
### セキュリティ
- [ ] IAM ロールに最小権限を設定
- [ ] CloudTrail ログ保護(S3 MFA Delete)
- [ ] アクセス権限の定期レビュー
まとめ
AWS License Manager(v2.0) は、以下を実現するライセンス管理プラットフォームです:
- 自動追跡 - EC2・RDS インスタンスのライセンス使用量をリアルタイム把握
- ルール強制 - Hard Limit で超過起動を完全ブロック、Soft Limit で警告
- マルチアカウント管理 - Organizations 統合で全社的な一元管理
- コンプライアンス対応 - 自動レポート生成でベンダー監査に即時対応
- 完全無料 - AWS マネージドサービスの一部として無料提供
導入フロー
1. 要件確認(ライセンスタイプ・数量)
↓
2. License Configuration 作成
↓
3. License Rules 設定
↓
4. EC2 インスタンスに関連付け
↓
5. CloudWatch で監視
↓
6. 定期的なレポート生成・監査対応
2026 年の進化
- AI 駆動最適化 - 使用パターン分析・コスト削減提案
- Managed Entitlements 拡大 - SaaS・ISV ライセンス統合
- Linux サブスクリプション追跡 - RHEL・Ubuntu 等自動検出
最終更新:2026-04-27 バージョン:v2.0