目次

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 全体のリアルタイム監視
  • 自動コンプライアンスレポート: ベンダー監査への即時対応

目次

  1. 概要
  2. License Manager が解決する課題
  3. 主な特徴
  4. アーキテクチャ
  5. ライセンスの種類
  6. License Configuration(ライセンス設定)
  7. License Rules(ルール強制)
  8. 主要ユースケース
  9. Self-Managed License(自己管理)
  10. Granted Licenses(付与ライセンス)
  11. License Asset Groups(資産グループ)
  12. Managed Entitlements(マネージド付与)
  13. 設定・操作の具体例
  14. AWS Marketplace 統合
  15. Organizations 統合
  16. Systems Manager Inventory との連携
  17. ライセンス監査・レポート
  18. コンプライアンス対応
  19. トラブルシューティング
  20. 類似サービス比較
  21. ベストプラクティス
  22. 2025-2026 最新動向
  23. 学習リソース
  24. 実装例・チェックリスト
  25. まとめ

概要

初心者向けメモ: 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 等を自動追跡
  • 実装状況: 試験段階

学習リソース

公式ドキュメント

ベンダーリソース


実装例・チェックリスト

チェックリスト

## 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) は、以下を実現するライセンス管理プラットフォームです:

  1. 自動追跡 - EC2・RDS インスタンスのライセンス使用量をリアルタイム把握
  2. ルール強制 - Hard Limit で超過起動を完全ブロック、Soft Limit で警告
  3. マルチアカウント管理 - Organizations 統合で全社的な一元管理
  4. コンプライアンス対応 - 自動レポート生成でベンダー監査に即時対応
  5. 完全無料 - 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